import { Menu, MenuItem } from "@szhsin/react-menu"; import * as Dialog from "@radix-ui/react-dialog"; import { unwrap } from "@snort/shared"; import { NostrEvent, NostrPrefix, encodeTLV } from "@snort/system"; import { Icon } from "./icon"; import { useState } from "react"; import { Textarea } from "./textarea"; import { findTag } from "utils"; import AsyncButton from "./async-button"; import { useLogin } from "hooks/login"; import { System } from "index"; import { FormattedMessage } from "react-intl"; type ShareOn = "nostr" | "twitter"; export function ShareMenu({ ev }: { ev: NostrEvent }) { const [share, setShare] = useState(); const [message, setMessage] = useState(""); const login = useLogin(); const naddr = encodeTLV(NostrPrefix.Address, unwrap(findTag(ev, "d")), undefined, ev.kind, ev.pubkey); const link = `https://zap.stream/${naddr}`; async function sendMessage() { const pub = login?.publisher(); if (pub) { const ev = await pub.note(message); console.debug(ev); System.BroadcastEvent(ev); setShare(undefined); } } return ( <> }> { setMessage(`Come check out my stream on zap.stream!\n\n${link}\n\nnostr:${naddr}`); setShare("nostr"); }}> setShare(undefined)}>