| import { FileSources, FileContext } from 'librechat-data-provider'; | |
| import type { TFile } from 'librechat-data-provider'; | |
| import { OGDialog, OGDialogContent, OGDialogHeader, OGDialogTitle } from '@librechat/client'; | |
| import { useGetFiles } from '~/data-provider'; | |
| import { DataTable, columns } from './Table'; | |
| import { useLocalize } from '~/hooks'; | |
| export default function Files({ open, onOpenChange }) { | |
| const localize = useLocalize(); | |
| const { data: files = [] } = useGetFiles<TFile[]>({ | |
| select: (files) => | |
| files.map((file) => { | |
| file.context = file.context ?? FileContext.unknown; | |
| file.filterSource = file.source === FileSources.firebase ? FileSources.local : file.source; | |
| return file; | |
| }), | |
| }); | |
| return ( | |
| <OGDialog open={open} onOpenChange={onOpenChange}> | |
| <OGDialogContent | |
| title={localize('com_nav_my_files')} | |
| className="w-11/12 bg-background text-text-primary shadow-2xl" | |
| > | |
| <OGDialogHeader> | |
| <OGDialogTitle>{localize('com_nav_my_files')}</OGDialogTitle> | |
| </OGDialogHeader> | |
| <DataTable columns={columns} data={files} /> | |
| </OGDialogContent> | |
| </OGDialog> | |
| ); | |
| } | |