import { NDKEvent, NDKKind } from '@nostr-dev-kit/ndk'; import { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { toast } from 'sonner'; import { useNDK } from '@libs/ndk/provider'; import { LoaderIcon } from '@shared/icons'; import { ReplyMediaUploader } from '@shared/notes'; export function NoteReplyForm({ rootEvent }: { rootEvent: NDKEvent }) { const { ndk } = useNDK(); const navigate = useNavigate(); const [value, setValue] = useState(''); const [loading, setLoading] = useState(false); const submit = async () => { try { if (!ndk.signer) return navigate('/new/privkey'); setLoading(true); const event = new NDKEvent(ndk); event.content = value; event.kind = NDKKind.Text; // tag root event event.tag(rootEvent, 'reply'); // publish event const publishedRelays = await event.publish(); if (publishedRelays) { toast.success(`Broadcasted to ${publishedRelays.size} relays successfully.`); // reset state setValue(''); setLoading(false); } } catch (e) { setLoading(false); toast.error(e); } }; return (