import { AccountContext } from '@components/accountProvider'; import { RelayContext } from '@components/relaysProvider'; import { UserExtend } from '@components/user/extend'; import { WRITEONLY_RELAYS } from '@stores/constants'; import { dateToUnix } from '@utils/getDate'; import { Dialog, Transition } from '@headlessui/react'; import { ChatLines, OpenNewWindow } from 'iconoir-react'; import { getEventHash, signEvent } from 'nostr-tools'; import { Fragment, useContext, useState } from 'react'; import { navigate } from 'vite-plugin-ssr/client/router'; export const NoteComment = ({ count, eventID, eventPubkey, eventContent, eventTime, }: { count: number; eventID: string; eventPubkey: string; eventTime: number; eventContent: any; }) => { const pool: any = useContext(RelayContext); const activeAccount: any = useContext(AccountContext); const [isOpen, setIsOpen] = useState(false); const [value, setValue] = useState(''); const profile = activeAccount ? JSON.parse(activeAccount.metadata) : null; const closeModal = () => { setIsOpen(false); }; const openModal = () => { setIsOpen(true); }; const openThread = () => { navigate(`/newsfeed/note?id=${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, WRITEONLY_RELAYS); setIsOpen(false); }; return ( <>
{/* root note */}
{eventContent}
{/* divider */}
{/* comment form */}
user's avatar