import { ConfirmDeleteDialog } from '@/components/confirm-delete-dialog'; import NewDocumentLink from '@/components/new-document-link'; import { Button } from '@/components/ui/button'; import { useDownloadFile } from '@/hooks/file-manager-hooks'; import { IFile } from '@/interfaces/database/file-manager'; import { getExtension, isSupportedPreviewDocumentType, } from '@/utils/document-util'; import { CellContext } from '@tanstack/react-table'; import { ArrowDownToLine, Eye, FolderInput, FolderPen, Link2, Trash2, } from 'lucide-react'; import { useCallback } from 'react'; import { UseHandleConnectToKnowledgeReturnType, UseRenameCurrentFileReturnType, } from './hooks'; import { useHandleDeleteFile } from './use-delete-file'; import { UseMoveDocumentShowType } from './use-move-file'; import { isFolderType, isKnowledgeBaseType } from './util'; type IProps = Pick, 'row'> & Pick & Pick & UseMoveDocumentShowType; export function ActionCell({ row, showConnectToKnowledgeModal, showFileRenameModal, showMoveFileModal, }: IProps) { const record = row.original; const documentId = record.id; const { downloadFile } = useDownloadFile(); const isFolder = isFolderType(record.type); const extension = getExtension(record.name); const isKnowledgeBase = isKnowledgeBaseType(record.source_type); 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]); const handleShowMoveFileModal = useCallback(() => { showMoveFileModal([record.id]); }, [record, showMoveFileModal]); const { handleRemoveFile } = useHandleDeleteFile(); const onRemoveFile = useCallback(() => { handleRemoveFile([documentId]); }, [handleRemoveFile, documentId]); return (
{isKnowledgeBase || ( )} {isKnowledgeBase || ( )} {isKnowledgeBase || ( )} {isFolder || ( )} {isSupportedPreviewDocumentType(extension) && ( )} {/* {t('common.move')} {t('common.rename')} {isFolder || ( {t('common.download')} )} */} {isKnowledgeBase || ( )}
); }