import { NDKEvent, NDKKind } from '@nostr-dev-kit/ndk'; import { nip19 } from 'nostr-tools'; import { useCallback } from 'react'; import { Link } from 'react-router-dom'; import { ArticleNote, FileNote, LinkPreview, NoteActions, NoteSkeleton, RepostUser, TextNote, UnknownNote, } from '@shared/notes'; import { User } from '@shared/user'; import { useEvent } from '@utils/hooks/useEvent'; export function Repost({ event }: { event: NDKEvent }) { // @ts-expect-error, root_id isn't exist on NDKEvent const { status, data } = useEvent(event.root_id, event.content); const renderKind = useCallback( (repostEvent: NDKEvent) => { switch (repostEvent.kind) { case NDKKind.Text: return ; case NDKKind.Article: return ; case 1063: return ; default: return ; } }, [data] ); if (status === 'loading') { return (
); } if (status === 'error') { // @ts-expect-error, root_id isn't exist on NDKEvent const noteLink = `https://nostr.com/${nip19.noteEncode(event.root_id)}`; return (
lume
Lume (System)
Lume cannot find this post with your current relays, but you can view it via nostr.com.{' '} Learn more
); } return (
{renderKind(data)}
); }