import { NDKEvent, NDKKind, NostrEvent } from '@nostr-dev-kit/ndk';
import { useQuery } from '@tanstack/react-query';
import { memo } from 'react';
import { useArk } from '@libs/ark';
import {
MemoizedArticleKind,
MemoizedFileKind,
MemoizedTextKind,
NoteActions,
NoteSkeleton,
} from '@shared/notes';
import { User } from '@shared/user';
export function Repost({ event }: { event: NDKEvent }) {
const { ark } = useArk();
const {
isLoading,
isError,
data: repostEvent,
} = useQuery({
queryKey: ['repost', event.id],
queryFn: async () => {
try {
if (event.content.length > 50) {
const embed = JSON.parse(event.content) as NostrEvent;
return ark.createNDKEvent({ event: embed });
}
const id = event.tags.find((el) => el[0] === 'e')[1];
return await ark.getEventById({ id });
} catch {
throw new Error('Failed to get repost event');
}
},
refetchOnWindowFocus: false,
});
const renderContentByKind = () => {
if (!repostEvent) return null;
switch (repostEvent.kind) {
case NDKKind.Text:
return
Failed to load event