Admin-Portal: Eskalations-Konfiguration-UI (Karte 12)
CI / backend-tests (push) Successful in 1m12s
CI / frontend-build (push) Successful in 23s

Neuer Tab "Eskalation": Zeitschwellen (Erinnerung/Leitung, Tage) lesen/ändern
über GET/PUT /eskalation/konfiguration, "Jetzt prüfen"-Button stößt denselben
Lauf wie der tägliche systemd-Timer manuell an.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
This commit is contained in:
2026-09-04 20:04:08 +02:00
co-authored by Claude Sonnet 5
parent e949b5e9ac
commit 5805366306
5 changed files with 204 additions and 1 deletions
+12 -1
View File
@@ -4,6 +4,7 @@ import { apiRequest } from "../api/client";
import type { Benutzer, Bereich, Beladungsvorlage, Fach, Kategorie, Material, Objekt, Objekttyp, Standort } from "../api/types";
import { BenutzerSection } from "./admin/BenutzerSection";
import { BereichSection } from "./admin/BereichSection";
import { EskalationSection } from "./admin/EskalationSection";
import { FachSection } from "./admin/FachSection";
import { HistorieSection } from "./admin/HistorieSection";
import { KategorieSection } from "./admin/KategorieSection";
@@ -13,7 +14,15 @@ import { ObjekttypSection } from "./admin/ObjekttypSection";
import { StandortSection } from "./admin/StandortSection";
import { VorlageSection } from "./admin/VorlageSection";
type Tab = "objekte" | "vorlagen" | "material" | "struktur" | "standorte" | "benutzer" | "historie";
type Tab =
| "objekte"
| "vorlagen"
| "material"
| "struktur"
| "standorte"
| "benutzer"
| "historie"
| "eskalation";
const TABS: { key: Tab; label: string }[] = [
{ key: "objekte", label: "Objekte" },
@@ -23,6 +32,7 @@ const TABS: { key: Tab; label: string }[] = [
{ key: "standorte", label: "Standorte" },
{ key: "benutzer", label: "Benutzer" },
{ key: "historie", label: "Änderungslog" },
{ key: "eskalation", label: "Eskalation" },
];
/**
@@ -156,6 +166,7 @@ export function AdminPage() {
<BenutzerSection benutzer={benutzer} onGeaendert={ladeAlles} onFehler={setFehler} />
)}
{tab === "historie" && <HistorieSection onFehler={setFehler} />}
{tab === "eskalation" && <EskalationSection onFehler={setFehler} />}
</main>
);
}