import { useNavigate } from 'react-router-dom'; 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 { 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 navigate = useNavigate(); const { user } = useAuth(); const { isOwned, isEditable, isTracking, isReadonly, isClaimable, isForceAdmin, toggleForceAdmin, toggleReadonly, 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() { navigate('/rsform-create'); } return (
); } export default RSTabsMenu