import { Dialog, Transition } from "@headlessui/react"; import { NDKEvent, NDKPrivateKeySigner } from "@nostr-dev-kit/ndk"; import { CancelIcon, HideIcon } from "@shared/icons"; import { RelayContext } from "@shared/relayProvider"; import { Tooltip } from "@shared/tooltip"; import { useActiveAccount } from "@stores/accounts"; import { useChannelMessages } from "@stores/channels"; import { dateToUnix } from "@utils/date"; import { Fragment, useContext, useState } from "react"; export function MessageHideButton({ id }: { id: string }) { const ndk = useContext(RelayContext); const account = useActiveAccount((state: any) => state.account); const hide = useChannelMessages((state: any) => state.hideMessage); const [isOpen, setIsOpen] = useState(false); 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.
); }