support embedded repost events

This commit is contained in:
hzrd149 2024-01-15 12:14:03 +00:00
parent 33ff50fabb
commit ea4a9c1e61
2 changed files with 17 additions and 0 deletions

View File

@ -0,0 +1,13 @@
import { CardProps } from "@chakra-ui/react";
import { nip18 } from "nostr-tools";
import EmbeddedUnknown from "./embedded-unknown";
import { EmbedEventPointer } from "..";
import { NostrEvent } from "../../../types/nostr-event";
export default function EmbeddedRepost({ repost, ...props }: Omit<CardProps, "children"> & { repost: NostrEvent }) {
const pointer = nip18.getRepostedEventPointer(repost);
if (!pointer) return <EmbeddedUnknown event={repost} {...props} />;
return <EmbedEventPointer pointer={{ type: "nevent", data: pointer }} {...props} />;
}

View File

@ -41,6 +41,7 @@ import EmbeddedChannel from "./event-types/embedded-channel";
import { FLARE_VIDEO_KIND } from "../../helpers/nostr/flare";
import EmbeddedFlareVideo from "./event-types/embedded-flare-video";
import LoadingNostrLink from "../loading-nostr-link";
import EmbeddedRepost from "./event-types/embedded-repost";
const EmbeddedStemstrTrack = lazy(() => import("./event-types/embedded-stemstr-track"));
export type EmbedProps = {
@ -90,6 +91,9 @@ export function EmbedEvent({
return <EmbeddedFlareVideo video={event} {...cardProps} />;
case kinds.ChannelCreation:
return <EmbeddedChannel channel={event} {...cardProps} />;
case kinds.Repost:
case kinds.GenericRepost:
return <EmbeddedRepost repost={event} {...cardProps} />;
}
return <EmbeddedUnknown event={event} {...cardProps} />;