import { NDKEvent, NDKKind } from '@nostr-dev-kit/ndk';
import { useQuery } from '@tanstack/react-query';
import { useCallback } from 'react';
import { useParams } from 'react-router-dom';
import { WVList } from 'virtua';
import { UserProfile } from '@app/users/components/profile';
import { useNDK } from '@libs/ndk/provider';
import {
ArticleNote,
FileNote,
NoteSkeleton,
NoteWrapper,
Repost,
TextNote,
UnknownNote,
} from '@shared/notes';
import { nHoursAgo } from '@utils/date';
export function UserScreen() {
const { pubkey } = useParams();
const { ndk } = useNDK();
const { status, data } = useQuery(['user-feed', pubkey], async () => {
const events = await ndk.fetchEvents({
kinds: [NDKKind.Text, NDKKind.Repost, NDKKind.Article],
authors: [pubkey],
since: nHoursAgo(48),
});
return [...events] as unknown as NDKEvent[];
});
// render event match event kind
const renderItem = useCallback(
(event: NDKEvent) => {
switch (event.kind) {
case NDKKind.Text:
return (
User doesn't have any posts in the last 48 hours.