import { LumeWindow } from "@lume/system"; import { cn } from "@lume/utils"; import { Menu, MenuItem } from "@tauri-apps/api/menu"; import { writeText } from "@tauri-apps/plugin-clipboard-manager"; import { useCallback } from "react"; import { User } from "../user"; import { useNoteContext } from "./provider"; export function NoteUser({ className }: { className?: string }) { const event = useNoteContext(); const showContextMenu = useCallback(async (e: React.MouseEvent) => { e.preventDefault(); const menuItems = await Promise.all([ MenuItem.new({ text: "View Profile", action: () => LumeWindow.openProfile(event.pubkey), }), MenuItem.new({ text: "Copy Public Key", action: async () => { const pubkey = await event.pubkeyAsBech32(); await writeText(pubkey); }, }), ]); const menu = await Menu.new({ items: menuItems, }); await menu.popup().catch((e) => console.error(e)); }, []); return (
ยท
); }