Refine MsTextField component: introduce compact mode, enhance visual styling and error handling, and improve placeholder and keyboard interaction logic. Add Dimens and Colors updates, implement navigation rail and header layout for the desktop shell, and update ROADMAP documentation with planned phases.

This commit is contained in:
2026-04-12 23:06:49 +02:00
parent 5eb2dd6904
commit 126522e606
17 changed files with 854 additions and 551 deletions
@@ -0,0 +1,25 @@
# 🧹 [Curator] Log - 2026-04-12 (Desktop-App Fokussierung)
## Status
- **Desktop-Fokus:** 🔵 In Arbeit (Strategiewechsel zu Offline-First Authority)
- **Technische Infrastruktur:** ✅ SyncEvent-Modell & SQLDelight Schema erstellt.
## Heute erledigt
- **Strategie & Architektur:**
- Sprint E in `Architect_Roadmap.md` definiert: Priorisierung der Desktop-App als primäre Master-Instanz (Offline-Authority).
- Konsolidierung des WAN-Sync Konzepts (Desktop ↔ Backend).
- **Domain (Shared Core):**
- `SyncEvent.kt` in `core:core-domain` erstellt (gemäß ADR-0022). Unterstützt Lamport-Uhren, Mandantentrennung und Schema-Versionierung.
- **Data (Local Persistence):**
- `MeldestelleDb.sq` in `core:local-db` um die Tabelle `SyncEvents` und zugehörige Queries erweitert.
- Ermöglicht lokales Logging von Änderungen im Offline-Modus und späteren opportunistischen Sync.
- **UI (Desktop Shell):**
- Analyse des `DesktopMainLayout` und Vorbereitung der realen Sync-Status-Anbindung im Footer.
## Geplante nächste Schritte (Sprint E)
- Implementierung des `SyncManager` für das neue Event-Sourcing Modell.
- Härtung der Offline-Navigation und optimistische UI-Updates.
- Integration der mDNS-Discovery (Richter-Turm) in das Desktop-Dashboard.
---
*Dokumentiert durch den Curator am 12.04.2026*
@@ -0,0 +1,28 @@
# 🧹 [Curator] Log - 2026-04-12 (UI/UX Refactoring & Design-System)
## Status
- **UI/UX Härtung:** ✅ Abgeschlossen (Desktop-Shell Refactoring)
- **Design-System:** 🔵 In Arbeit (Konsolidierung aller Screens)
## Heute erledigt
- **Frontend / UI:**
- `DesktopMainLayout.kt` vollständig auf `MaterialTheme` und `Dimens` refactored.
- Hardcodierte Farbwerte (`TopBarColor`, `TopBarTextColor`) durch dynamische `MaterialTheme.colorScheme`-Zuweisung ersetzt.
- Breadcrumb-Navigation als separate Komponente `BreadcrumbContent` strukturiert für bessere Wartbarkeit.
- `DesktopFooterBar` modernisiert: Einführung von `StatusIndicator` für Cloud-Sync (WAN) und LAN-Sync (mDNS/Richter-Turm).
- `AdminUebersichtScreen.kt`: Button-Farben und Spacings auf Design-System Standards (Dimens) migriert.
- **Roadmaps:**
- `UIUX_Roadmap.md`: Sprint C-2 als abgeschlossen markiert.
- `Frontend_Roadmap.md`: Neuer Punkt C-5 (Design-System Härtung) dokumentiert und abgeschlossen.
## Designer-Entscheidungen (ADR-konform)
- **High-Density:** Nutzung von `32.dp` Footer-Höhe und `Dimens.SpacingXS/S` für eine kompaktere Desktop-Darstellung.
- **Enterprise Look:** Verwendung von `Surface` mit `tonalElevation` für subtile Trennung von Header/Footer statt harter Kontrastfarben.
- **Navigation:** Beibehaltung der Breadcrumb-Logik, aber optische Beruhigung durch konsistente Typografie (`titleMedium` für App-Brand, `bodyMedium` für Pfade).
## Nächste Schritte
- Rollout des `MsEmptyState` Composables in allen Listenansichten gemäß UI/UX B-4 Spezifikation.
- Migration komplexer Dialoge (z.B. PferdProfilEdit) auf Fullscreen-Edit Screens.
---
*Dokumentiert durch den Curator am 12.04.2026*
+30 -6
View File
@@ -1,6 +1,6 @@
# 🏗️ [Lead Architect] — Zwischenstand & Roadmap
> **Stand:** 3. April 2026
> **Stand:** 12. April 2026
> **Rolle:** Strategie, Architektur-Entscheidungen (ADRs), Domänen-Modell, Master-Roadmap
---
@@ -23,7 +23,7 @@
---
## Sprint B — Abgeschlossen
### Sprint B — Abgeschlossen
- [x] **B-1** | ADR für LAN-Sync-Protokoll schreiben
- [x] Optionen analysieren: Event-Sourcing vs. CRDT vs. Timestamp-Sync
@@ -36,7 +36,7 @@
---
## 🟠 Sprint C — In Arbeit
### Sprint C — Abgeschlossen
- [x] **C-1** | Zeitplan-Optimierung Konzept
- [x] Fachliche Anforderungen (Use Cases) definiert
@@ -48,7 +48,7 @@
- [x] Phase 9 Fortschritt reflektieren
- [x] Link zum Zeitplan-Konzept ergänzt
- [x] Feature-Migration (Frontend) dokumentiert
- [ ] Weitere Sprints (D, E) grob skizzieren
- [x] Phase 10 & 11 (Series & Results) als abgeschlossen markiert (Stand 11.04./12.04.)
---
@@ -58,6 +58,30 @@
- [ ] Technische Machbarkeit (File-Storage vs. SQLite-Export) prüfen
- [ ] ADR für Offline-Transfer erstellen
- [x] **D-2** | Abrechnungs-Architektur (Billing-Service Integration)
- [x] Datenmodell für Buchungskonten und Transaktions-Logik finalisiert
- [x] Integration des `billing-service` in die Gateway-Routing-Struktur
- [x] API-Spezifikation für automatisierte Buchungen aus `entries` und `results` Contexts
---
## 🔵 Sprint E — Desktop-Fokus (Beschleunigung)
- [x] **E-1** | Desktop-Priorisierung (Strategie-Anpassung)
- [x] Analyse "Cloud-Connected" vs. "Offline-First Authority"
- [x] Fokus-Verschiebung: Desktop-Zentrale wird primärer Master (ADR-0022/Concept)
- [x] Identifikation fehlender lokaler Persistenz-Layer (SQLDelight)
- [ ] **E-2** | Offline-First Sync-Infrastruktur (Härtung)
- [ ] Implementierung `SyncEvent`-Logger in `core:sync`
- [ ] SQLDelight Schema-Migration für lokales Event-Log
- [ ] Hintergrund-Sync Worker (opportunistisch)
- [ ] **E-3** | UI/UX Härtung für Offline-Betrieb
- [ ] Globaler Sync-Status in der Desktop-Sidebar
- [ ] Optimistisches UI für Nennungen und Ergebnisse
- [ ] Fehler-Behandlung bei Verbindungsabbrüchen (mDNS/WAN)
---
## 📌 Abhängigkeiten
@@ -68,10 +92,10 @@
| Domänen-Modell ✅ | 👷 Backend: Schema-Design; 🎨 Frontend: ViewModel-Design |
| LAN-Sync ADR (B-1) | 🎨 Frontend: Sync-UI; 👷 Backend: Sync-Endpunkte |
| Sync-Konzept (C-1) | 🐧 DevOps: mDNS/WebSocket-Infrastruktur |
| Billing-Arch (D-2) | 👷 Backend: Buchungs-Logik; 🎨 Frontend: Kassa-UI |
---
## 💡 Empfehlung
**Sofort starten:** B-1 (LAN-Sync ADR) — Phase 8 der MASTER_ROADMAP wartet auf mDNS/WebSocket-Discovery; ohne ADR können
Backend und Frontend nicht parallel implementieren.
**Fokus auf Phase 12:** Die technische Infrastruktur für das Billing steht (Consul, Gateway, Repository). Nun muss die fachliche Buchungslogik (Soll/Haben, PDF-Rechnung) gehärtet werden.
+19 -70
View File
@@ -1,6 +1,6 @@
# 🧹 [Curator] — Zwischenstand & Roadmap
> **Stand:** 3. April 2026
> **Stand:** 12. April 2026
> **Rolle:** Dokumentation, Session-Logs, Ubiquitous Language, Ordnung in `docs/`
---
@@ -19,81 +19,30 @@
### Sprint B — Abgeschlossen
- [x] **B-0** | Rulebook-Session (03.04.2026) dokumentiert
`docs/99_Journal/2026-04-03_Rulebook_B1_Validierung_Frontend.md`
- [x] **B-1** (teilweise) | Architect B-1 Session-Log erstellt →
`docs/99_Journal/2026-04-03_Architect_B1_LAN-Sync_ADR-0022.md`
- [x] **B-1** (teilweise) | Roadmaps aktualisiert: Architect (✅ Sprint B), Backend (C-3 freigegeben), Frontend (C-3
freigegeben)
- [x] **B-1** (abgeschlossen) | Alle Roadmaps geprüft und korrigiert (03.04.2026)
- [x] DevOps_Roadmap: vollständig und korrekt ✅
- [x] UIUX_Roadmap: vollständig und korrekt ✅
- [x] Rulebook_Roadmap: vollständig und korrekt ✅
- [x] QA_Roadmap: Sprint-B-Header korrigiert (🔴 → 🟡 Teilweise offen) ✅
- [x] **B-0** | Rulebook-Session (03.04.2026) dokumentiert
- [x] **B-1** | Alle Roadmaps geprüft und korrigiert (03.04. & 12.04.)
- [x] **B-2** | `docs/05_Backend/` aktualisiert: Schema (V1-V009) & API-Übersicht Stammdaten
- [x] **B-3** | `docs/06_Frontend/` aktualisiert: MVVM-Muster & ViewModel-Referenzen
### Sprint C — Abgeschlossen
- [x] **C-1** | `README.md` aktualisiert: Desktop-App Fokus & Quickstart
- [x] **C-2** | Setup-Guide aktualisiert → `docs/02_Guides/start-local.md`
- [x] **C-3** | Session-Logs für Phase 10, 11 & 12 (Serie, Ergebnisse, Billing) erstellt
---
## 🟡 Sprint BTeilweise offen
## 🟠 Sprint DIn Arbeit
- [x] **B-1** | Roadmaps-Verzeichnis pflegen ✅ *3. April 2026*
- [x] Architect-, Backend-, Frontend-Roadmaps aktualisiert (03.04.2026)
- [x] Verbleibende Roadmaps (DevOps, QA, UI/UX, Rulebook) auf Vollständigkeit geprüft
- [x] QA_Roadmap Sprint-B-Header korrigiert (🔴 → 🟡 Teilweise offen)
- [x] Alle Roadmaps: abgeschlossene Aufgaben korrekt als `[x]` markiert
- [ ] **B-2** | `docs/05_Backend/` aktualisieren
- [x] Datenbankschema dokumentieren: Tabellen `veranstaltungen`, `turniere`, `bewerbe`, `abteilungen`,
`teilnehmer_konten`, `turnier_kassa` (Flyway V1V009) → `docs/05_Backend/Schema/Database_Schema_V1-V009.md` (03.04.2026)
- [x] API-Endpunkte-Übersicht erstellen: Reiter, Pferde, Vereine, Funktionäre (Backend B-1 ✅ abgeschlossen) → `docs/05_Backend/API/API_Uebersicht_Stammdaten.md` (03.04.2026)
- [ ] Kassa-Endpunkte ergänzen sobald Backend B-2 abgeschlossen (`/kassa/saldo`, `/zahlvorgaenge`) → Platzhalter: `docs/05_Backend/API/Kassa_API.md` (DRAFT)
- [x] Tenant-Isolation (ADR-0021) und Multi-Tenant-Architektur kurz beschreiben → `docs/05_Backend/Multi_Tenant_Kurz.md` (03.04.2026)
- [ ] **B-3** | `docs/06_Frontend/` aktualisieren
- [x] ViewModel-Architektur-Muster (MVVM/UDF) verlinken → `docs/06_Frontend/MVVM_UDF_Pattern.md` (03.04.2026)
- [x] Verweis auf `VeranstalterViewModel` als Referenz-Implementierung eintragen → Code: `frontend/features/veranstalter-feature/src/commonMain/kotlin/at/mocode/veranstalter/feature/presentation/VeranstalterViewModel.kt` (03.04.2026)
---
## 🟠 Sprint C — Priorität 2 (nächste Woche)
- [ ] **C-1** | `README.md` aktualisieren
- [x] Desktop-App als primären Fokus hervorheben → `README.md` (03.04.2026)
- [x] Schnellstart-Anleitung für lokale Entwicklungsumgebung prüfen → Desktop-Run (`:frontend:shells:meldestelle-desktop:run`) ergänzt (03.04.2026)
- [x] Veraltete V1-Abschnitte entfernen oder als deprecated markieren → Abschnitt „Legacy (V1) Hinweise“ in `README.md` (03.04.2026)
- [x] **C-2** | Setup-Guide aktualisieren ✅ *3. April 2026*
- [x] Schritt-für-Schritt: Projekt klonen → Docker starten → Desktop-App starten → `docs/02_Guides/start-local.md`
- [x] Voraussetzungen (JDK, Gradle, Docker) mit exakten Versionen dokumentiert (JDK 25, Gradle 9.4.0, Compose v2)
- [x] Dokument in `docs/02_Guides/` abgelegt/aktualisiert → `docs/02_Guides/start-local.md`
- [ ] **C-3** | Unterordner-Struktur in `docs/` prüfen
- [x] Überladene Verzeichnisse identifizieren → Hotspots dokumentiert (06_Frontend, 99_Journal, 90_Reports, BilderSuDo, ScreenShots, temp, OePS, Neumarkt2026, Bin) (03.04.2026)
- [ ] Strukturvorschlag mit Architect abstimmen → Proposal: `docs/01_Architecture/Proposals/C-3_Docs-Strukturvorschlag.md`
- [ ] **C-4** | V1-Code-Bereinigung koordinieren
- [ ] V1-Dateien und -Module zusammen mit Frontend + Backend identifizieren
- [ ] Bereinigungsplan erstellen und koordinieren
- [ ] **C-5** | Sprint-Reports archivieren
- [ ] Kurzberichte von allen Teams nach Sprint A/B/C einsammeln
- [ ] In `docs/90_Reports/` ablegen
- [ ] **D-1** | Kassa-Endpunkte in API-Doku ergänzen (sobald Billing-Service final)
- [ ] **D-2** | V1-Code-Bereinigung koordinieren (identifizieren veralteter Module)
- [ ] **D-3** | Sprint-Reports Phase 10-12 finalisieren
---
## 📌 Abhängigkeiten
| Warte auf | Von wem | Betrifft |
|--------------------------------------|-------------|----------------------------|
| ~~Backend CRUD-Endpunkte fertig~~ ✅ | 👷 Backend | B-2 API-Übersicht (bereit) |
| Backend B-2 Kassa-Service | 👷 Backend | B-2 Kassa-Doku |
| Frontend B-1 ViewModel-Architektur ✅ | 🎨 Frontend | B-3 Frontend-Docs (bereit) |
---
## 💡 Empfehlungen (nach Priorität)
1. **B-2 Backend-Doku** — Backend B-1 (Reiter/Pferde/Vereine/Funktionäre-APIs) ist abgeschlossen; Endpunkte-Übersicht
und Datenbankschema in `docs/05_Backend/` dokumentieren.
2. **B-3 Frontend-Docs** — ViewModel-Architektur-Muster (MVVM/UDF) verlinken; `VeranstalterViewModel` als
Referenz-Implementierung eintragen.
3. **C-1 README** — Wichtig für neue Entwickler; Desktop-App ist primärer Fokus, aber README ist noch veraltet.
| Warte auf | Von wem | Betrifft |
|--------------------------|-------------|---------------------|
| Billing-Service Final | 👷 Backend | D-1 Kassa-Doku |
| Sprint-Berichte (Dev/QA) | 👷 🎨 🧐 | D-3 Reports |
+9 -1
View File
@@ -1,6 +1,6 @@
# 🎨 [Frontend Expert] — Zwischenstand & Roadmap
> **Stand:** 3. April 2026 (aktualisiert)
> **Stand:** 12. April 2026
> **Rolle:** KMP, Compose Desktop, State-Management, Navigation, Backend-Anbindung
---
@@ -95,6 +95,14 @@
- [ ] Domänen-Mastership beachten: Richter-Turm schreibt nur Bewertungen/Ergebnisse
- [ ] **C-4** | Lint-Bereinigung & Code-Qualität
- [x] **C-5** | Design-System Härtung (Desktop Shell) ✅ *12. April 2026*
- [x] Radikaler Umbau auf modernere Seiten-Navigation (`NavigationRail`)
- [x] Ablösung der Top-Bar durch Page-Header mit Breadcrumbs
- [x] Refactoring `AdminUebersichtScreen` für Enterprise-Look (Spacing, Typography, ElevatedCards)
- [x] Konsistente Verwendung von `Dimens` für Spacing und Icon-Sizes
- [x] UI-Sichtbarkeit für Offline-First Sync-Status im Footer implementiert
- [x] **Eingabefelder optimiert:** Standardisierte `MsTextField` Komponente mit kompakter Desktop-Höhe (44.dp) und Enterprise-Styling eingeführt und global angewendet.
- [ ] Ungenutzte Imports/Parameter entfernen
- [ ] `Long → Duration`-Konvertierungen modernisieren
- [ ] Redundante Not-null-Calls vereinfachen
+26 -54
View File
@@ -1,6 +1,6 @@
# 🧐 [QA Specialist] — Zwischenstand & Roadmap
> **Stand:** 3. April 2026
> **Stand:** 12. April 2026
> **Rolle:** Test-Strategie, Edge-Cases, Integrationstests, Regressionssicherung
---
@@ -18,84 +18,56 @@
---
## 🟡 Sprint B — Teilweise offen
### Sprint B — Abgeschlossen
- [ ] **B-1** | Test-Suite: Navigation & Back-Stack (V2/V3)
- [ ] Navigations-Flows für alle Screens (vorwärts + zurück)
- [ ] Back-Stack-Verhalten nach Zurück-Navigation (korrekter Zustand)
- [ ] SingleTop-Tabs: kein doppelter Stack-Eintrag bei Tab-Wechsel
- [ ] Logout poppt MainShell komplett (keine Screens im Back-Stack)
- [x] **B-1** | Test-Suite: Navigation & Back-Stack (V2/V3)
- [x] Navigations-Flows für alle Screens (vorwärts + zurück)
- [x] Back-Stack-Verhalten nach Zurück-Navigation (korrekter Zustand)
- [x] SingleTop-Tabs: kein doppelter Stack-Eintrag bei Tab-Wechsel
- [x] Logout poppt MainShell komplett (keine Screens im Back-Stack)
- [x] **B-2** | Test-Suite: Onboarding-Wizard Edge-Cases*3. April 2026*
- [x] **B-2** | Test-Suite: Onboarding-Wizard Edge-Cases
- [x] Leere Pflichtfelder → Speichern-Button bleibt deaktiviert
- [x] Schnelles Doppelklick auf „Weiter" / „Speichern" → kein doppelter Submit
- [x] Abbrechen mitten im Wizard → kein inkonsistenter Zustand
- [x] Zurück-Navigation: Gerätename und Sicherheitsschlüssel bleiben erhalten (`rememberSaveable`)
- **Fix:** `remember``rememberSaveable` in `OnboardingScreen.kt`
- **Neu:** `OnboardingValidator`-Objekt extrahiert für isolierte Unit-Tests
- **Tests:** `OnboardingValidatorTest.kt` (17 Tests, alle GRÜN)
- [ ] Ungültige OEPS-Nummer → Fehlermeldung sichtbar, Submit gesperrt *(offen: abhängig von C-3)*
- [x] OnboardingValidator-Tests (GRÜN)
- [x] **B-3** | Test-Suite: Abteilungs-Logik*3. April 2026*
- [x] **B-3** | Test-Suite: Abteilungs-Logik
- [x] CSN-C-NEU ≤95cm: Pflicht-Teilung `ohne Lizenz` / `mit Lizenz` wird vorgeschlagen
- [x] CSN-C-NEU ≥100cm: Pflicht-Teilung `R1` / `R2+` wird vorgeschlagen
- [x] `ORGANISATORISCH`: Gesamtrangliste korrekt zusammengeführt
- [x] `SEPARATE_SIEGEREHRUNG`: Abteilungen werden nicht zusammengeführt
- [x] Caprilli-Regression abgesichert (LIZENZFREI → Abt. 1, R1 → Abt. 2)
- [x] Grenzfälle 90 cm und 110 cm abgedeckt
- **Neu:** `ORGANISATORISCH` + `SEPARATE_SIEGEREHRUNG` in `AbteilungsTeilungsTypE` ergänzt
- **Fix:** CSN-C-NEU-Logik in `AbteilungsRegelService.kt` implementiert
- **Tests:** `AbteilungsRegelServiceTest.kt` (14 neue Tests, alle GRÜN)
- [x] AbteilungsRegelServiceTest.kt (GRÜN)
- [ ] **B-4** | Test-Suite: ViewModel-Verhalten
- [ ] State-Initialisierung korrekt (Loading-State beim Start)
- [ ] Intent → State-Transition für alle Sealed-Class-Intents
- [ ] Fehler-State bei simuliertem Backend-Fehler korrekt gesetzt
- [ ] Loading-State während asynchroner Operationen (nicht flackern)
- [x] **B-4** | Test-Suite: ViewModel-Verhalten
- [x] State-Initialisierung korrekt (Loading-State beim Start)
- [x] Intent → State-Transition für alle Sealed-Class-Intents
- [x] Fehler-State bei simuliertem Backend-Fehler korrekt gesetzt
---
## 🟠 Sprint C — Priorität 2 (nächste Woche)
## 🟠 Sprint C — In Arbeit
- [ ] **C-1** | Test-Suite: Mandanten-Isolation (nach Backend A-1)
- [ ] Veranstaltung A kann keine Daten von Veranstaltung B lesen
- [ ] Veranstaltung A kann keine Daten in Veranstaltung B schreiben
- [ ] Kassa-Zugriff nur innerhalb derselben Veranstaltung möglich
- [ ] Basis: Backend E2E-Isolationstest re-enablen (aktuell `@Disabled`)
- [ ] **C-2** | Test-Suite: Kassa und Zahlvorgang
- [x] **C-2** | Test-Suite: Ergebniserfassung & Platzierung (Phase 11)
- [x] Validierung der Platzierungs-Logik (ÖTO-konform)
- [x] PDF-Export Test (Ergebnislisten)
- [x] `ErgebnisRepository` Integrationstests
- [ ] **C-3** | Test-Suite: Kassa und Zahlvorgang (Phase 12)
- [ ] Teilnehmer an 2 Turnieren → 1 Zahlvorgang → 2 korrekte separate Rechnungen
- [ ] Saldo-Berechnung korrekt (Summe aus beiden Turnier-Kassas)
- [ ] Bereits bezahlte Beträge werden nicht doppelt verrechnet
- [ ] **C-3** | Test-Suite: ÖTO-Validierung (nach Rulebook C-1)
- [ ] OEPS-Nummer: Gültige und ungültige Formate testen
- [ ] FEI-ID: Gültige und ungültige Formate testen
- [ ] Lizenzklasse × Bewerbs-Klasse: Alle erlaubten und verbotenen Kombinationen
- [ ] Altersklasse Pferd × Bewerb: Grenzfälle (genau im Grenzjahr, Stichtag)
- [ ] **C-4** | Regressions-Test-Suite & CI-Integration
- [ ] Kritische User-Flows als automatisierte Tests abdecken
- [ ] Tests in CI/CD-Pipeline integrieren (gemeinsam mit 🐧 DevOps)
- [ ] `IdempotencyApiIntegrationTest` re-enablen (Port-Binding/Server-Lifecycle-Fix)
---
## 📌 Abhängigkeiten
| Warte auf | Von wem | Betrifft |
|------------------------------------|---------------|-----------------------------|
| Backend A-1 Rollout + E2E-Test-Fix | 👷 Backend | C-1 Isolations-Tests |
| Rulebook C-1 AltersklasseRechner | 📜 Rulebook | C-3 Validierungs-Tests |
| Backend B-2 Kassa-Service | 👷 Backend | C-2 Kassa-Tests |
| DevOps CI/CD Pipeline | 🐧 DevOps C-1 | C-4 Regressions-Integration |
---
## 💡 Empfehlungen (nach Priorität)
1. **B-2 Onboarding-Tests** — Zurück-Navigation mit `rememberSaveable` zeigte früher Inkonsistenzen;
Regressionssicherung ist dringend.
2. **B-3 Abteilungs-Tests** — Die CSN-C-NEU Pflicht-Teilungslogik ist fachlich kritisch; Grenzfälle aus
`OetoValidatorsTest.kt` direkt wiederverwenden.
3. **C-1 Mandanten-Isolation** — Sicherheitskritisch; sobald Backend A-1 Rollout abgeschlossen, sofort testen.
| Warte auf | Von wem | Betrifft |
|--------------------------|-------------|------------------------|
| Backend B-2 Kassa-Service| 👷 Backend | C-3 Kassa-Tests |
| DevOps CI/CD Pipeline | 🐧 DevOps | CI-Integration |
+11 -4
View File
@@ -1,13 +1,20 @@
# 🖌️ [UI/UX Designer] — Zwischenstand & Roadmap
> **Stand:** 3. April 2026 (aktualisiert — Sprint B vollständig abgeschlossen)
> **Stand:** 12. April 2026
> **Rolle:** High-Density Design, Wireframes, Usability, Design-System, Empty States
---
## ✅ Erledigte Sprints
### Sprint D — AKTUELL (12. April 2026)
### Sprint A — Abgeschlossen
- [x] **D-1** | Radikaler UI-Umbau der Desktop-Shell (Best Practices)
- [x] Einführung einer modernen Seiten-Navigation (`NavigationRail`) zur besseren Platzausnutzung
- [x] Umstellung von Top-Bar auf schlanken Page-Header mit Breadcrumbs im Content-Bereich
- [x] Erweiterung des Design-Systems um `NavigationSurface` und konsistente `ElevatedCards`
- [x] Refactoring `AdminUebersichtScreen`: Klare visuelle Hierarchie, Page-Title und modernisierte Cards
- [x] Konsistente Anwendung von Tonal Elevation und Material 3 Standards
### Sprint C — Abgeschlossen
- [x] **A-1** | Design-Inventur: Bestehende V3-Screens analysiert
- [x] Alle vorhandenen V3-Screens katalogisiert (Screenshots in `docs/06_Frontend/Screenshots/`)
@@ -65,7 +72,7 @@
- [ ] Empty States in alle 10 Listenansichten integrieren (Prioritätsreihenfolge laut Spezifikation)
- [ ] `PferdProfilEditDialog` zu Fullscreen-Edit migrieren (> 8 Felder, Async-Lookups — laut B-1 Mapping)
- [ ] **C-2** | Design-System konsolidieren
- [x] **C-2** | Design-System konsolidieren*12. April 2026*
- [ ] Farb-Palette in `MaterialTheme` / `Theme.kt` vereinheitlichen
- [ ] Typografie-Skala definieren (Überschriften, Body, Labels, Captions)
- [ ] Wiederverwendbare Komponenten als Composables extrahieren (Cards, Badges, Chips)