v1.3.1: Fix symbol loading, DEL key, SOMA/Pendenzen in rapport, improved onboarding, org settings tab, logo upload
This commit is contained in:
@@ -461,8 +461,21 @@ export function JournalView({ projectId, projectTitle, projectLocation, einsatzl
|
||||
zeitKontrolle: '', zeitAus: '', zeitEinruecken: '', zeitEnde: '',
|
||||
lageEintreffen: '',
|
||||
massnahmen: entries.map(e => `${formatTime(e.time)} ${e.what}${e.who ? ` (${e.who})` : ''}`),
|
||||
somaItems: checkItems.map(c => ({
|
||||
label: c.label,
|
||||
confirmed: c.confirmed,
|
||||
ok: c.ok,
|
||||
confirmedAt: c.confirmedAt ? formatTime(c.confirmedAt) : null,
|
||||
})),
|
||||
pendenzenItems: pendenzen.map(p => ({
|
||||
what: p.what,
|
||||
who: p.who || '',
|
||||
whenHow: p.whenHow || '',
|
||||
done: p.done,
|
||||
doneAt: p.doneAt ? formatTime(p.doneAt) : null,
|
||||
})),
|
||||
fahrzeuge: [] as any[],
|
||||
bemerkungen: pendenzen.filter(p => !p.done).map(p => `PENDENT: ${p.what}${p.who ? ` (${p.who})` : ''}`).join('\n'),
|
||||
bemerkungen: '',
|
||||
einsatzleiter: einsatzleiter || '',
|
||||
rapporteur: journalfuehrer || '',
|
||||
reportNumber: '',
|
||||
|
||||
@@ -202,6 +202,39 @@ export function RapportDialog({
|
||||
) : <span className="text-muted-foreground">Keine Einträge</span>}
|
||||
</div>
|
||||
</div>
|
||||
{/* SOMA Checklist (read-only, from journal) */}
|
||||
{Array.isArray(rapportForm.somaItems) && rapportForm.somaItems.length > 0 && (
|
||||
<div>
|
||||
<label className="text-xs font-semibold text-muted-foreground uppercase">SOMA Checkliste</label>
|
||||
<div className="border rounded-md p-2 bg-muted text-sm max-h-32 overflow-auto">
|
||||
{rapportForm.somaItems.map((s: any, i: number) => (
|
||||
<div key={i} className="flex items-center gap-2 py-0.5">
|
||||
<span className={`inline-block w-4 text-center ${s.confirmed ? 'text-blue-600 font-bold' : 'text-muted-foreground'}`}>{s.confirmed ? '✓' : '—'}</span>
|
||||
<span className={`inline-block w-4 text-center ${s.ok ? 'text-green-600 font-bold' : 'text-muted-foreground'}`}>{s.ok ? '✓' : '—'}</span>
|
||||
<span>{s.label}</span>
|
||||
{s.confirmedAt && <span className="text-[10px] text-muted-foreground ml-auto">{s.confirmedAt}</span>}
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
{/* Pendenzen (read-only, from journal) */}
|
||||
{Array.isArray(rapportForm.pendenzenItems) && rapportForm.pendenzenItems.length > 0 && (
|
||||
<div>
|
||||
<label className="text-xs font-semibold text-muted-foreground uppercase">Pendenzen</label>
|
||||
<div className="border rounded-md p-2 bg-muted text-sm max-h-32 overflow-auto">
|
||||
{rapportForm.pendenzenItems.map((p: any, i: number) => (
|
||||
<div key={i} className={`flex items-center gap-2 py-0.5 ${p.done ? 'line-through text-muted-foreground' : ''}`}>
|
||||
<span className={`inline-block w-4 text-center ${p.done ? 'text-green-600 font-bold' : 'text-muted-foreground'}`}>{p.done ? '✓' : '○'}</span>
|
||||
<span>{p.what}</span>
|
||||
{p.who && <span className="text-muted-foreground text-xs">({p.who})</span>}
|
||||
{p.whenHow && <span className="text-muted-foreground text-xs ml-1">— {p.whenHow}</span>}
|
||||
{p.doneAt && <span className="text-[10px] text-green-600 ml-auto">{p.doneAt}</span>}
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
{/* Bemerkungen */}
|
||||
<div>
|
||||
<label className="text-xs font-semibold text-muted-foreground uppercase">Bemerkungen</label>
|
||||
|
||||
Reference in New Issue
Block a user