import { t } from "@lingui/core/macro"; import { HiEllipsisHorizontal, HiLink, HiOutlineDocumentDuplicate, HiOutlineTrash, } from "react-icons/hi2"; import Dropdown from "~/components/Dropdown"; import { usePermissions } from "~/hooks/usePermissions"; import { useModal } from "~/providers/modal"; import { usePopup } from "~/providers/popup"; import { api } from "~/utils/api"; export default function BoardDropdown({ isTemplate, isLoading, boardPublicId, workspacePublicId, }: { isTemplate: boolean; isLoading: boolean; boardPublicId: string; workspacePublicId: string; }) { const { openModal } = useModal(); const { canEditBoard, canDeleteBoard, canCreateBoard } = usePermissions(); const items = [ ...(isTemplate ? [] : [ { label: t`Make template`, action: canCreateBoard ? () => openModal("CREATE_TEMPLATE") : undefined, icon: ( ), disabled: !canCreateBoard, }, ...(canEditBoard ? [ { label: t`Edit board URL`, action: () => openModal("UPDATE_BOARD_SLUG"), icon: , }, ] : []), ]), ...(canDeleteBoard ? [ { label: isTemplate ? t`Delete template` : t`Delete board`, action: () => openModal("DELETE_BOARD"), icon: , }, ] : []), ]; if (items.length === 0) { return null; } return ( ); }