v1.3.1: Fix symbol loading, DEL key, SOMA/Pendenzen in rapport, improved onboarding, org settings tab, logo upload

This commit is contained in:
Pepe Ziberi
2026-02-25 22:28:10 +01:00
parent 5917fa88ad
commit 708bdf6be0
17 changed files with 570 additions and 55 deletions

View File

@@ -210,9 +210,59 @@ export default function RapportViewerPage({ params }: { params: Promise<{ token:
</Section>
)}
{/* 5. Eingesetzte Mittel */}
{/* 5. SOMA Checkliste */}
{Array.isArray(d.somaItems) && d.somaItems.length > 0 && (
<Section num="5" title="SOMA Checkliste">
<div className="border rounded">
<div className="grid grid-cols-[24px_24px_1fr_60px] gap-0 text-[7pt] font-semibold uppercase tracking-wider bg-gray-900 text-white p-1.5">
<span className="text-center">Best.</span>
<span className="text-center">OK</span>
<span>Punkt</span>
<span className="text-right">Zeit</span>
</div>
{d.somaItems.map((s: any, i: number) => (
<div key={i} className={`grid grid-cols-[24px_24px_1fr_60px] gap-0 p-1.5 border-b border-gray-100 text-[9pt] ${i % 2 === 1 ? 'bg-gray-50' : ''}`}>
<span className="text-center font-bold">{s.confirmed ? '✓' : '—'}</span>
<span className="text-center font-bold">{s.ok ? '✓' : '—'}</span>
<span className="font-medium">{s.label}</span>
<span className="text-right text-[8pt] text-gray-500 font-mono">{s.confirmedAt || ''}</span>
</div>
))}
</div>
</Section>
)}
{/* 6. Pendenzen */}
{Array.isArray(d.pendenzenItems) && d.pendenzenItems.length > 0 && (
<Section num="6" title="Pendenzen">
<table className="w-full border-collapse border rounded text-xs">
<thead>
<tr className="bg-gray-900 text-white">
<th className="p-1.5 text-center font-semibold uppercase tracking-wider text-[7pt] w-8"></th>
<th className="p-1.5 text-left font-semibold uppercase tracking-wider text-[7pt]">Aufgabe</th>
<th className="p-1.5 text-left font-semibold uppercase tracking-wider text-[7pt] w-24">Wer</th>
<th className="p-1.5 text-left font-semibold uppercase tracking-wider text-[7pt] w-32">Wann / Wie</th>
<th className="p-1.5 text-right font-semibold uppercase tracking-wider text-[7pt] w-16">Erledigt</th>
</tr>
</thead>
<tbody>
{d.pendenzenItems.map((p: any, i: number) => (
<tr key={i} className={`${i % 2 === 1 ? 'bg-gray-50' : ''} ${p.done ? 'text-gray-400' : ''}`}>
<td className="p-1.5 border-b border-gray-100 text-center font-bold">{p.done ? '✓' : '○'}</td>
<td className={`p-1.5 border-b border-gray-100 ${p.done ? 'line-through' : ''}`}>{p.what}</td>
<td className="p-1.5 border-b border-gray-100 text-gray-500">{p.who || '—'}</td>
<td className="p-1.5 border-b border-gray-100 text-gray-500">{p.whenHow || '—'}</td>
<td className="p-1.5 border-b border-gray-100 text-right font-mono text-[8pt]">{p.doneAt || ''}</td>
</tr>
))}
</tbody>
</table>
</Section>
)}
{/* 7. Eingesetzte Mittel */}
{d.fahrzeuge?.length > 0 && (
<Section num="5" title="Eingesetzte Mittel">
<Section num="7" title="Eingesetzte Mittel">
<table className="w-full border-collapse border rounded text-xs">
<thead>
<tr className="bg-gray-900 text-white">
@@ -238,8 +288,8 @@ export default function RapportViewerPage({ params }: { params: Promise<{ token:
</Section>
)}
{/* 6. Bemerkungen */}
<Section num="6" title="Bemerkungen / Besondere Vorkommnisse">
{/* 8. Bemerkungen */}
<Section num="8" title="Bemerkungen / Besondere Vorkommnisse">
<div className="border rounded p-3 min-h-[50px] text-sm">{d.bemerkungen || '—'}</div>
</Section>