import { urls, useConceptNavigation } from '@/app'; import { useAuthSuspense } from '@/features/auth'; import { useRoleStore, UserRole } from '@/features/users'; import { Divider } from '@/components/Container'; import { Button } from '@/components/Control'; import { Dropdown, DropdownButton, useDropdown } from '@/components/Dropdown'; import { IconDestroy, IconLibrary, IconMenu, IconNewItem, IconQR, IconShare } from '@/components/Icons'; import { useDialogsStore } from '@/stores/dialogs'; import { generatePageQR, sharePage } from '@/utils/utils'; import { useMutatingOss } from '../../backend/useMutatingOss'; import { useOssEdit } from './OssEditContext'; export function MenuMain() { const router = useConceptNavigation(); const { isMutable, deleteSchema } = useOssEdit(); const isProcessing = useMutatingOss(); const { isAnonymous } = useAuthSuspense(); const role = useRoleStore(state => state.role); const showQR = useDialogsStore(state => state.showQR); const schemaMenu = useDropdown(); function handleDelete() { schemaMenu.hide(); deleteSchema(); } function handleShare() { schemaMenu.hide(); sharePage(); } function handleCreateNew() { router.push(urls.create_schema); } function handleShowQR() { schemaMenu.hide(); showQR({ target: generatePageQR() }); } return (