'use client'; import Button from '@/components/Common/Button'; import Dropdown from '@/components/Common/Dropdown'; import DropdownButton from '@/components/Common/DropdownButton'; import DropdownCheckbox from '@/components/Common/DropdownCheckbox'; import { CloneIcon, DownloadIcon, DumpBinIcon, EditIcon, MenuIcon, NotSubscribedIcon, OwnerIcon, ShareIcon, SmallPlusIcon, SubscribedIcon, UploadIcon } from '@/components/Icons'; import { useAuth } from '@/context/AuthContext'; import { useConceptNavigation } from '@/context/NagivationContext'; import { useRSForm } from '@/context/RSFormContext'; import useDropdown from '@/hooks/useDropdown'; interface RSTabsMenuProps { showUploadDialog: () => void showCloneDialog: () => void onDestroy: () => void onClaim: () => void onShare: () => void onDownload: () => void onToggleSubscribe: () => void } function RSTabsMenu({ showUploadDialog, showCloneDialog, onDestroy, onShare, onDownload, onClaim, onToggleSubscribe }: RSTabsMenuProps) { const router = useConceptNavigation(); const { user } = useAuth(); const { isOwned, isMutable, isTracking, readerMode, isClaimable, adminMode, toggleAdminMode, toggleReaderMode, processing } = useRSForm(); const schemaMenu = useDropdown(); const editMenu = useDropdown(); function handleClaimOwner() { editMenu.hide(); onClaim(); } function handleDelete() { schemaMenu.hide(); onDestroy(); } function handleDownload () { schemaMenu.hide(); onDownload(); } function handleUpload() { schemaMenu.hide(); showUploadDialog(); } function handleClone() { schemaMenu.hide(); showCloneDialog(); } function handleShare() { schemaMenu.hide(); onShare(); } function handleCreateNew() { router.push('/rsform-create'); } return (
); } export default RSTabsMenu;