import { AlertPopup } from 'components/AlertPopup' import { useAppSelector, useDidMount } from 'hooks' import { useState } from 'react' import { NDKEvent } from '@nostr-dev-kit/ndk' import { Link } from 'react-router-dom' import { CommentContent } from 'components/comment/CommentContent' import { getProfilePageRoute } from 'routes' import { nip19 } from 'nostr-tools' import { UserProfile } from 'types' import { hexToNpub } from 'utils' import { formatDate } from 'date-fns' interface NoteRepostProps { ndkEvent: NDKEvent handleConfirm: (confirm: boolean) => void handleClose: () => void } export const NoteRepost = ({ ndkEvent, handleConfirm, handleClose }: NoteRepostProps) => { const userState = useAppSelector((state) => state.user) const userPubkey = userState.user?.pubkey as string | undefined const [content, setContent] = useState('') const [profile, setProfile] = useState() useDidMount(async () => { const repost = await ndkEvent.repost(false) setContent(JSON.parse(repost.content).content) ndkEvent.author.fetchProfile().then((res) => setProfile(res)) }) const profileRoute = getProfilePageRoute( nip19.nprofileEncode({ pubkey: ndkEvent.pubkey }) ) const reposterRoute = getProfilePageRoute( nip19.nprofileEncode({ pubkey: userPubkey! }) ) return (

{userState.user?.displayName || userState.user?.name || ''}{' '} Reposted...

{profile?.displayName || profile?.name || ''}{' '} {hexToNpub(ndkEvent.pubkey)}
{ndkEvent.created_at && ( )}
) }