import { ConfirmDeleteDialog } from '@/components/confirm-delete-dialog'; import { Button } from '@/components/ui/button'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { useDownloadFile } from '@/hooks/file-manager-hooks'; import { IFile } from '@/interfaces/database/file-manager'; import { CellContext } from '@tanstack/react-table'; import { EllipsisVertical, Link2, Trash2 } from 'lucide-react'; import { useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import { UseHandleConnectToKnowledgeReturnType, UseRenameCurrentFileReturnType, } from './hooks'; type IProps = Pick, 'row'> & Pick & Pick; export function ActionCell({ row, showConnectToKnowledgeModal, showFileRenameModal, }: IProps) { const { t } = useTranslation(); const record = row.original; const documentId = record.id; const { downloadFile } = useDownloadFile(); const handleShowConnectToKnowledgeModal = useCallback(() => { showConnectToKnowledgeModal(record); }, [record, showConnectToKnowledgeModal]); const onDownloadDocument = useCallback(() => { downloadFile({ id: documentId, filename: record.name, }); }, [documentId, downloadFile, record.name]); const handleShowFileRenameModal = useCallback(() => { showFileRenameModal(record); }, [record, showFileRenameModal]); return (
navigator.clipboard.writeText(record.id)} > {t('common.move')} {t('common.rename')} {t('common.download')}
); }