import clsx from 'clsx'; import { motion } from 'framer-motion'; import { useCallback } from 'react'; import { toast } from 'react-toastify'; import { IconFolderTree } from '@/components/Icons'; import BadgeHelp from '@/components/info/BadgeHelp'; import { CProps } from '@/components/props'; import SelectLocation from '@/components/select/SelectLocation'; import MiniButton from '@/components/ui/MiniButton'; import { FolderNode, FolderTree } from '@/models/FolderTree'; import { HelpTopic } from '@/models/miscellaneous'; import { animateSideView } from '@/styling/animations'; import { PARAMETER, prefixes } from '@/utils/constants'; import { information } from '@/utils/labels'; interface LibraryTableProps { folders: FolderTree; currentFolder: string; setFolder: React.Dispatch>; toggleFolderMode: () => void; } function LibraryFolders({ folders, currentFolder, setFolder, toggleFolderMode }: LibraryTableProps) { const handleClickFolder = useCallback( (event: CProps.EventMouse, target: FolderNode) => { event.preventDefault(); event.stopPropagation(); if (event.ctrlKey || event.metaKey) { navigator.clipboard .writeText(target.getPath()) .then(() => toast.success(information.pathReady)) .catch(console.error); } else { setFolder(target.getPath()); } }, [setFolder] ); return (
} title='Переключение в режим Поиск' onClick={toggleFolderMode} />
); } export default LibraryFolders;