import { Dialog, Transition } from '@headlessui/react'; import { NDKEvent, NDKPrivateKeySigner } from '@nostr-dev-kit/ndk'; import { Fragment, useState } from 'react'; import { useNDK } from '@libs/ndk/provider'; import { CancelIcon, HideIcon } from '@shared/icons'; import { useChannelMessages } from '@stores/channels'; import { dateToUnix } from '@utils/date'; import { useAccount } from '@utils/hooks/useAccount'; export function MessageHideButton({ id }: { id: string }) { const { ndk } = useNDK(); const hide = useChannelMessages((state: any) => state.hideMessage); const [isOpen, setIsOpen] = useState(false); const { account } = useAccount(); const closeModal = () => { setIsOpen(false); }; const openModal = () => { setIsOpen(true); }; const hideMessage = () => { const signer = new NDKPrivateKeySigner(account.privkey); ndk.signer = signer; const event = new NDKEvent(ndk); // build event event.content = ''; event.kind = 43; event.created_at = dateToUnix(); event.pubkey = account.pubkey; event.tags = [['e', id]]; // publish event event.publish(); // update state hide(id); // close modal closeModal(); }; return ( <>
Are you sure!
This message will be hidden from your feed.
); }