diff --git a/arbeitskacheln/20_ui_redesign.md b/arbeitskacheln/20_ui_redesign.md index e82cfd6..ca3b832 100644 --- a/arbeitskacheln/20_ui_redesign.md +++ b/arbeitskacheln/20_ui_redesign.md @@ -116,6 +116,10 @@ Aktueller Stand vor Redesign: 39 Seiten-/Komponenten-Dateien, ~7.000 Zeilen, ein behobene Vorab-Lücke: `.text-success`/`.text-danger` fehlten in `global.css`, obwohl in `AktePage.tsx` bereits referenziert. + Ergänzung 2026-09-06 (Resgrid-Doku als Ideengeber): Karte "Letzte Aktivität" + über `GET /historie` (kein neuer Endpunkt), globales Aktivitäts-Feed statt + nur pro-Objekt-Historie in der Akte. + ## UI-005 — Objektakte modernisiert - **Ziel:** `AktePage.tsx` (bereits FILE-006/Akte-Aggregation) optisch/strukturell diff --git a/frontend/src/components/status/ereignisText.ts b/frontend/src/components/status/ereignisText.ts new file mode 100644 index 0000000..2cfd0f5 --- /dev/null +++ b/frontend/src/components/status/ereignisText.ts @@ -0,0 +1,21 @@ +/** Spiegelt alle ereignistyp-Strings aus den Backend-Services/Endpunkten + * (app/services/*.py, app/api/v1/endpoints/*.py) - gemeinsam genutzt vom + * globalen Aktivitäts-Feed (Dashboard) und der Objektakte-Historie. */ +export const EREIGNIS_LABEL: Record = { + fehlbestand_entstanden: "Fehlbestand entstanden", + fehlbestand_erledigt: "Fehlbestand erledigt", + geraet_status_geaendert: "Gerätestatus geändert", + istmenge_erfasst: "Istmenge erfasst", + kontrolle_abgebrochen: "Kontrolle abgebrochen", + kontrolle_abgeschlossen: "Kontrolle abgeschlossen", + kontrolle_gestartet: "Kontrolle gestartet", + kontrolle_uebernommen: "Kontrolle übernommen", + mangel_gemeldet: "Mangel gemeldet", + mangel_status_geaendert: "Mangel-Status geändert", + mindermenge_abgelaufen: "Mindermenge abgelaufen", + mindermenge_beendet_durch_erledigung: "Mindermenge beendet (Fehlbestand erledigt)", + mindermenge_genehmigt: "Mindermenge genehmigt", + nachfuellung_erfasst: "Nachfüllung erfasst", + objekt_geaendert: "Objekt geändert", + qualifikation_erfasst: "Qualifikation erfasst", +}; diff --git a/frontend/src/pages/AktePage.tsx b/frontend/src/pages/AktePage.tsx index 6ad33d9..734e706 100644 --- a/frontend/src/pages/AktePage.tsx +++ b/frontend/src/pages/AktePage.tsx @@ -6,6 +6,7 @@ import type { Akte } from "../api/types"; import { DokumentePanel } from "../components/DokumentePanel"; import { ReadinessBadge } from "../components/status/ReadinessBadge"; import { GRUND_TEXT } from "../components/status/gruendeText"; +import { EREIGNIS_LABEL } from "../components/status/ereignisText"; const MANGEL_PRIORITAET_LABEL: Record = { niedrig: "Niedrig", @@ -151,7 +152,7 @@ export function AktePage() { )} + +
+

Letzte Aktivität

+ {aktivitaet.length === 0 ? ( +

Noch keine Ereignisse.

+ ) : ( +
    + {aktivitaet.map((h) => ( +
  • + + {EREIGNIS_LABEL[h.ereignistyp] ?? h.ereignistyp} + {h.entitaet_typ === "objekt" && ( + <> + {" "} + #{h.entitaet_id} + + )} + {h.benutzer_name && · {h.benutzer_name}} + + {new Date(h.zeitpunkt).toLocaleString("de-DE")} +
  • + ))} +
+ )} +
)}