import { ImageWithFallback } from '@components/imageWithFallback'; import { RelayContext } from '@components/relaysProvider'; import { UserExtend } from '@components/user/extend'; import { activeAccountAtom } from '@stores/account'; import { dateToUnix } from '@utils/getDate'; import CommentIcon from '@assets/icons/comment'; import * as Dialog from '@radix-ui/react-dialog'; import { SizeIcon } from '@radix-ui/react-icons'; import destr from 'destr'; import { useAtomValue } from 'jotai'; import { useRouter } from 'next/router'; import { getEventHash, signEvent } from 'nostr-tools'; import { memo, useContext, useState } from 'react'; export const NoteComment = memo(function NoteComment({ count, eventID, eventPubkey, eventContent, eventTime, }: { count: number; eventID: string; eventPubkey: string; eventTime: string; eventContent: any; }) { const router = useRouter(); const [pool, relays]: any = useContext(RelayContext); const [open, setOpen] = useState(false); const [value, setValue] = useState(''); const activeAccount: any = useAtomValue(activeAccountAtom); const profile = destr(activeAccount.metadata); const openThread = () => { router.push(`/newsfeed/${eventID}`); }; const submitEvent = () => { const event: any = { content: value, created_at: dateToUnix(), kind: 1, pubkey: activeAccount.pubkey, tags: [['e', eventID]], }; event.id = getEventHash(event); event.sig = signEvent(event, activeAccount.privkey); pool.publish(event, relays); setOpen(false); }; return (
{/* root note */}
{eventContent}
{/* divider */}
{/* comment form */}