import { NDKEvent, NDKKind } from '@nostr-dev-kit/ndk'; import { useCallback } from 'react'; import { WVList } from 'virtua'; import { LoaderIcon } from '@shared/icons'; import { MemoizedArticleKind, MemoizedFileKind, MemoizedTextKind, NoteActions, NoteReplyForm, } from '@shared/notes'; import { ReplyList } from '@shared/notes/replies/list'; import { TitleBar } from '@shared/titleBar'; import { User } from '@shared/user'; import { WidgetWrapper } from '@shared/widgets'; import { useEvent } from '@utils/hooks/useEvent'; import { Widget } from '@utils/types'; export function ThreadWidget({ widget }: { widget: Widget }) { const { status, data } = useEvent(widget.content); const renderKind = useCallback( (event: NDKEvent) => { switch (event.kind) { case NDKKind.Text: return ; case NDKKind.Article: return ; case 1063: return ; default: return null; } }, [data] ); return ( {status === 'pending' ? (
) : ( <>
{renderKind(data)}
)}
); }