import { ButtonProps } from "@/components/ui/button" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu" import { copyToClipboard } from "@/lib/utils" import { forwardRef, useState } from "react" import { useTranslation } from "react-i18next" import { toast } from "sonner" import { IconButton } from "./xui/icon-button" interface NoteMenuProps extends ButtonProps { note: { private?: string; public?: string } } export const NoteMenu = forwardRef((props, ref) => { const { t } = useTranslation() const [copy, setCopy] = useState(false) const switchState = async (text?: string) => { if (!text) { toast("Warning", { description: "You didn't have any note.", }) return } if (!copy) { setCopy(true) await copyToClipboard(text) setTimeout(() => { setCopy(false) }, 2 * 1000) } } return ( { switchState(props.note.private) }} > {t("Private")} { switchState(props.note.public) }} > {t("Public")} ) })