import { ConfirmDeleteDialog } from '@/components/confirm-delete-dialog'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { useDeleteKnowledge } from '@/hooks/use-knowledge-request'; import { IKnowledge } from '@/interfaces/database/knowledge'; import { PenLine, Trash2 } from 'lucide-react'; import { MouseEventHandler, PropsWithChildren, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import { useRenameDataset } from './use-rename-dataset'; export function DatasetDropdown({ children, showDatasetRenameModal, dataset, }: PropsWithChildren & Pick, 'showDatasetRenameModal'> & { dataset: IKnowledge; }) { const { t } = useTranslation(); const { deleteKnowledge } = useDeleteKnowledge(); const handleShowDatasetRenameModal: MouseEventHandler = useCallback( (e) => { e.stopPropagation(); showDatasetRenameModal(dataset); }, [dataset, showDatasetRenameModal], ); const handleDelete: MouseEventHandler = useCallback(() => { deleteKnowledge(dataset.id); }, [dataset.id, deleteKnowledge]); return ( {children} {t('common.rename')} { e.preventDefault(); }} onClick={(e) => { e.stopPropagation(); }} > {t('common.delete')} ); }