'use client'; import { BiAnalyse, BiDiamond, BiDownload, BiDuplicate, BiMenu, BiMeteor, BiPlusCircle, BiShareAlt, BiTrash, BiUpload } from 'react-icons/bi'; import { FiEdit } from 'react-icons/fi'; import { LuCrown, LuGlasses } from 'react-icons/lu'; import Button from '@/components/ui/Button'; import Dropdown from '@/components/ui/Dropdown'; import DropdownButton from '@/components/ui/DropdownButton'; import { useAccessMode } from '@/context/AccessModeContext'; import { useAuth } from '@/context/AuthContext'; import { useConceptNavigation } from '@/context/NavigationContext'; import { useRSForm } from '@/context/RSFormContext'; import useDropdown from '@/hooks/useDropdown'; import { UserAccessMode } from '@/models/miscellaneous'; import { describeAccessMode, labelAccessMode } from '@/utils/labels'; import { useRSEdit } from './RSEditContext'; interface RSTabsMenuProps { onDestroy: () => void; } function RSTabsMenu({ onDestroy }: RSTabsMenuProps) { const controller = useRSEdit(); const router = useConceptNavigation(); const { user } = useAuth(); const { isOwned, isClaimable } = useRSForm(); const { mode, setMode } = useAccessMode(); const schemaMenu = useDropdown(); const editMenu = useDropdown(); const accessMenu = useDropdown(); function handleClaimOwner() { editMenu.hide(); controller.claim(); } function handleDelete() { schemaMenu.hide(); onDestroy(); } function handleDownload() { schemaMenu.hide(); controller.download(); } function handleUpload() { schemaMenu.hide(); controller.promptUpload(); } function handleClone() { schemaMenu.hide(); controller.promptClone(); } function handleShare() { schemaMenu.hide(); controller.share(); } function handleReindex() { editMenu.hide(); controller.reindex(); } function handleTemplates() { editMenu.hide(); controller.promptTemplate(); } function handleChangeMode(newMode: UserAccessMode) { accessMenu.hide(); setMode(newMode); } function handleCreateNew() { router.push('/library/create'); } return (
); } export default RSTabsMenu;