diff --git a/package.json b/package.json index e59ffc2..6bf0779 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lageplan", - "version": "1.8.7", + "version": "1.8.8", "description": "Feuerwehr Lageplan - Krokier-App für Einsatzdokumentation", "private": true, "scripts": { diff --git a/src/app/rapport/[token]/page.tsx b/src/app/rapport/[token]/page.tsx index 993f4ff..8492b1e 100644 --- a/src/app/rapport/[token]/page.tsx +++ b/src/app/rapport/[token]/page.tsx @@ -268,7 +268,7 @@ export default function RapportViewerPage({ params }: { params: Promise<{ token: {(mt.columns || []).map((c: any) => ( - {c.label} + {c.label} ))} @@ -276,7 +276,7 @@ export default function RapportViewerPage({ params }: { params: Promise<{ token: {mt.rows.map((row: any, ri: number) => ( {(mt.columns || []).map((c: any) => ( - + {c.type === 'check' ? (row[c.key] ? '✓' : '—') : c.type === 'time' diff --git a/src/components/journal/modules/table-module.tsx b/src/components/journal/modules/table-module.tsx index 4e053f4..90164b4 100644 --- a/src/components/journal/modules/table-module.tsx +++ b/src/components/journal/modules/table-module.tsx @@ -115,10 +115,17 @@ export function TableModule({ projectId, module, canEdit, notifyChanged }: Table } }, [projectId, module.id, notifyChanged]) + // Spaltenbreite ableiten — respektiert optionale Breiten-Hinweise (w-16 … w-32) + const WIDTH_MAP: Record = { 'w-10': '40px', 'w-16': '68px', 'w-20': '92px', 'w-24': '108px', 'w-28': '124px', 'w-32': '140px' } + const colSize = (c: ModuleColumn): string => { + if (c.type === 'check') return '36px' + if (c.type === 'time') return '58px' + if (c.width && WIDTH_MAP[c.width]) return WIDTH_MAP[c.width] + if (c.type === 'number') return '96px' + return 'minmax(90px,1fr)' + } // Grid-Template aus Spalten ableiten (+ Lösch-Spalte) - const gridCols = columns.map(c => - c.type === 'check' ? '32px' : c.type === 'time' ? '52px' : c.type === 'number' ? 'minmax(0,0.6fr)' : 'minmax(0,1fr)' - ).join(' ') + (canEdit ? ' 24px' : '') + const gridCols = columns.map(colSize).join(' ') + (canEdit ? ' 28px' : '') return (
@@ -194,21 +201,27 @@ export function TableModule({ projectId, module, canEdit, notifyChanged }: Table
)} - {/* Neue Zeile */} + {/* Neue Zeile — im selben Raster wie die Spalten, damit Eingaben unter den Titeln stehen */} {canEdit && ( -
- {textColumns.map((c, i) => ( - setDraft(prev => ({ ...prev, [c.key]: e.target.value }))} - onKeyDown={(e) => e.key === 'Enter' && addRow()} - className={`h-6 text-[11px] ${i === 0 && c.type !== 'number' ? 'flex-1 min-w-0' : 'w-20 shrink-0'}`} - /> - ))} -