diff --git a/src/components/FormGenerator/FormGeneratorTable/FormGeneratorTable.tsx b/src/components/FormGenerator/FormGeneratorTable/FormGeneratorTable.tsx index 807ad5e..6b71363 100644 --- a/src/components/FormGenerator/FormGeneratorTable/FormGeneratorTable.tsx +++ b/src/components/FormGenerator/FormGeneratorTable/FormGeneratorTable.tsx @@ -185,8 +185,8 @@ export interface FormGeneratorTableProps { getRowDataAttributes?: (row: T, index: number) => Record; // For passing hook data to action buttons hookData?: any; // Contains all hook data: refetch, operations, loading states, etc. - // Custom empty message when table is empty - emptyMessage?: string; + // Custom empty message when table is empty (string or custom ReactNode) + emptyMessage?: React.ReactNode; // API endpoint for CSV export (e.g. "/api/users/"). If provided, the CSV export button is shown. apiEndpoint?: string; // Grouping configuration diff --git a/src/pages/basedata/FilesPage.tsx b/src/pages/basedata/FilesPage.tsx index bf63bf1..81b62d8 100644 --- a/src/pages/basedata/FilesPage.tsx +++ b/src/pages/basedata/FilesPage.tsx @@ -152,6 +152,29 @@ export const FilesPage: React.FC = () => { })); }, [folders]); + const selectedFolderName = useMemo(() => { + if (!selectedFolderId) return null; + return folders.find(f => f.id === selectedFolderId)?.name ?? null; + }, [folders, selectedFolderId]); + + const emptyTableMessage = useMemo(() => { + if (!selectedFolderId) { + return t('Keine Dateien gefunden'); + } + return ( +
+
+ {selectedFolderName + ? t('Der Ordner „{name}" ist leer.', { name: selectedFolderName }) + : t('Dieser Ordner ist leer.')} +
+
+ {t('Lade eine neue Datei hoch oder verschiebe bestehende Dateien hierher.')} +
+
+ ); + }, [selectedFolderId, selectedFolderName, t]); + // ── Columns ─────────────────────────────────────────────────────────── const columns = useMemo(() => { const hiddenColumns = ['id', 'fileHash', 'folderId']; @@ -499,7 +522,7 @@ export const FilesPage: React.FC = () => { updateOptimistically: updateFileOptimistically, previewingFiles, }} - emptyMessage={t('Keine Dateien gefunden')} + emptyMessage={emptyTableMessage} />