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 { useChannelMessages } from "@stores/channels"; import { dateToUnix } from "@utils/date"; import { useAccount } from "@utils/hooks/useAccount"; import { Fragment, useContext, useState } from "react"; export function MessageHideButton({ id }: { id: string }) { const ndk = useContext(RelayContext); 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. Cancel hideMessage()} className="inline-flex h-9 items-center justify-center rounded-md bg-red-500 px-2 text-base font-medium text-zinc-100 hover:bg-red-600" > Confirm > ); }