'use client'; import { ColumnDef } from '@tanstack/react-table'; import { MoreHorizontal } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { Badge } from '@/components/ui/badge'; import { TFunction } from 'i18next'; export type DocumentFile = { uuid: string; name: string; status: string; }; export const columns = ( onDelete: (id: string) => void, t: TFunction, ): ColumnDef[] => { return [ { accessorKey: 'name', header: t('knowledge.documentsTab.name'), }, { accessorKey: 'status', header: t('knowledge.documentsTab.status'), cell: ({ row }) => { const document = row.original; switch (document.status) { case 'processing': return ( {t('knowledge.documentsTab.processing')} ); case 'completed': return ( {t('knowledge.documentsTab.completed')} ); case 'failed': return ( {t('knowledge.documentsTab.failed')} ); default: return ( {document.status} ); } }, }, { id: 'actions', cell: ({ row }) => { const document = row.original; return ( {t('knowledge.documentsTab.actions')} onDelete(document.uuid)}> {t('knowledge.documentsTab.delete')} ); }, }, ]; };