/* eslint-disable react-hooks/rules-of-hooks */ import { Database } from 'lucide-react'; import { FileSources, FileContext } from 'librechat-data-provider'; import { Checkbox, OpenAIMinimalIcon, AzureMinimalIcon, useMediaQuery } from '@librechat/client'; import type { ColumnDef } from '@tanstack/react-table'; import type { TFile } from 'librechat-data-provider'; import ImagePreview from '~/components/Chat/Input/Files/ImagePreview'; import FilePreview from '~/components/Chat/Input/Files/FilePreview'; import { TranslationKeys, useLocalize } from '~/hooks'; import { SortFilterHeader } from './SortFilterHeader'; import { formatDate, getFileType } from '~/utils'; const contextMap: Record = { [FileContext.avatar]: 'com_ui_avatar', [FileContext.unknown]: 'com_ui_unknown', [FileContext.assistants]: 'com_ui_assistants', [FileContext.image_generation]: 'com_ui_image_gen', [FileContext.assistants_output]: 'com_ui_assistants_output', [FileContext.message_attachment]: 'com_ui_attachment', }; export const columns: ColumnDef[] = [ { id: 'select', header: ({ table }) => { return ( table.toggleAllPageRowsSelected(!!value)} aria-label="Select all" className="flex" /> ); }, cell: ({ row }) => { return ( row.toggleSelected(!!value)} aria-label="Select row" className="flex" /> ); }, enableSorting: false, enableHiding: false, }, { meta: { size: '150px', }, accessorKey: 'filename', header: ({ column }) => { const localize = useLocalize(); return