import { NDKEvent, NDKKind } from '@nostr-dev-kit/ndk'; import { useQuery } from '@tanstack/react-query'; import { useCallback } from 'react'; import { LoaderIcon } from '@shared/icons'; import { MemoizedRepost, MemoizedTextNote, UnknownNote } from '@shared/notes'; import { useNostr } from '@utils/hooks/useNostr'; export function UserLatestPosts({ pubkey }: { pubkey: string }) { const { getEventsByPubkey } = useNostr(); const { status, data } = useQuery({ queryKey: ['user-posts', pubkey], queryFn: async () => { return await getEventsByPubkey(pubkey); }, refetchOnWindowFocus: false, }); const renderItem = useCallback( (event: NDKEvent) => { switch (event.kind) { case NDKKind.Text: return ; case NDKKind.Repost: return ; default: return ; } }, [data] ); return (

Latest post

{status === 'pending' ? (
Loading latest posts...
) : data.length < 1 ? (
No posts from 24 hours ago
) : ( data.map((event) => renderItem(event)) )}
); }