meldestelle/docs/99_Journal/2026-04-21_Curator_Session_Summary.md

7.0 KiB

Journal: 21. April 2026 - Abschluss der Vormittags-Session (Curator)

🏁 Session-Abschluss (12:00)

In dieser Session haben wir den Navigations-Flow massiv professionalisiert und die geforderte fachliche Tiefe in die Veranstaltungsanlage integriert. Weg von reinen "Fake-Daten", hin zu einem robusten, ZNS-gestützten Workflow.

Erreichte Meilensteine

  1. Hybrid-Suche & ZNS-Fallback (SCS: Organizer):

    • Der VeranstaltungWizard durchsucht nun nicht mehr nur die lokale Datenbank, sondern bietet bei fehlenden Treffern einen automatischen Fallback auf die ZNS-Stammdaten an.
    • Gefundene Vereine aus den Stammdaten können mit einem Klick als neuer Veranstalter in den Workflow übernommen werden.
  2. Profile-Onboarding Wizard (SCS: Identity):

    • Realisierung des ProfileOnboardingWizard (3 Steps: Suchen → Bestätigen → Verknüpfen).
    • Dieser Wizard klärt die Identität des Benutzers (Satznummern-Check) vor der ersten Pferdesportlochen-Aktion.
    • Nahtlose Integration in die Desktop-Shell (ContentArea.kt).
  3. Tiefe Turnier-Integration (SCS: Tournament):

    • Der TurnierWizard wurde vollständig nach ADR-0024 refactored und als Komponente in Schritt 5 des VeranstaltungWizard eingebettet.
    • Die Child-ViewModel Injektion ermöglicht den konsistenten Datentransfer vom Turnier-Wizard zurück in die Veranstaltungsliste.
  4. Fachliche Validierung (§ 39 ÖTO) (SCS: Competition):

    • Implementierung einer dynamischen Abteilungs-Vorschau im Bewerbs-Wizard.
    • Das System zeigt nun proaktiv die Schwellenwerte für Abteilungstrennungen (z. B. ab 35 Nennungen in Klasse S) an, basierend auf der gewählten Klasse.
  5. Stabilisierung & Robustheit:

    • Einführung von robustem UUID-Parsing mit Try-Catch Fallbacks für Mock-IDs ("v1", "v2").
    • Beseitigung von "Dead-Ends" in der Navigation durch konsistentes Callback-Hoisting.
    • Navigations-Stabilisierung: Behebung eines Fehlers in DesktopApp.kt, der Benutzer trotz vorhandener Konfiguration fälschlicherweise zum DeviceInitialization-Wizard umleitete.
    • Daten-Integrität: Ergänzung der settings.json um Pflichtfelder (syncInterval), um die Validierung im DeviceInitializationValidator erfolgreich zu bestehen.
    • Logging-Transparenz: Erweiterung der Navigations-Logs in DesktopApp.kt und DesktopMainLayout.kt zur besseren Rückverfolgbarkeit von Redirect-Entscheidungen.
    • Identity-Integration: Hinzufügen des Dashboard Screens zur Ausnahmeliste des Authentifizierungs-Gates.

📋 Status der MASTER_ROADMAP

  • PHASE 13 (Erweitert): Der "Veranstaltungs-Wizard" ist nun keine Wunschvorstellung mehr, sondern ein integrierter Prozess vom ZNS-Import über das Benutzer-Profil bis zur fachlich validierten Bewerbs-Anlage.

🚀 Nächste Schritte

Die Pferdesportliche Logik (§ 39) ist nun im Wizard sichtbar. Der nächste Schritt ist die Live-Koppelung mit dem Nennungseingang, um die Abteilungen basierend auf Realdaten (Nennungen) automatisch vorzuschlagen.

Dokumentiert durch den Curator.

🔧 Hotfix: Build-Stabilisierung & Navigations-Fix (12:15)

  • Behebung von Kompilierungsfehlern im ProfileOnboardingScreen.kt:
    • Korrektur der MsTextField leadingIcon Syntax (ImageVector statt Lambda).
    • Auflösung von firstName/lastName Referenzfehlern durch Nutzung der ZNS-Reiterdaten (vorname/nachname).
  • Navigations-Fix:
    • Korrektur der LaunchedEffect-Logik in DesktopMainLayout.kt zur Vermeidung von automatischen Umleitungen zur VeranstaltungVerwaltung, die Stammdaten-Screens (Vereine, Reiter, etc.) blockierten.
    • Erweiterung des Login-Gates in DesktopApp.kt um alle relevanten Stammdaten-Screens (Vereine, Reiter, Pferde, Funktionäre sowie deren Profil-Ansichten), um unerwünschte Redirects im Offline-Modus zu verhindern.
  • Erfolgreiche Verifizierung durch Kompilierung des Desktop-Moduls.

🍱 Stammdaten-Refinement: Vorschau-Cards & Erweiterungen (13:50)

  • Modell-Erweiterungen:
    • Reiter & Funktionaer: Ergänzung der Felder Nation und Bundesland.
    • Pferd: Einführung der Kopfnummer.
    • Funktionaer: Konsolidierung der Qualifikation.
  • UI-Modernisierung:
    • Implementierung von ReiterCardPreview, PferdCardPreview und FunktionaerCardPreview zur schnellen Identifikation in der Detailansicht.
    • Integration dieser Vorschau-Cards in die jeweiligen Screens (Master-Detail-Layout) sowie als Orientierungshilfe in den Editoren.
    • Anpassung der Pferde-Liste um die Spalte Kopf-Nr..
  • Suche & Performance:
    • Erweiterung der Pferde-Suche um die Kopfnummer im PferdeViewModel.
    • Bereinigung von Compiler-Warnungen (unnecessary non-null assertions) in den neuen Screen-Komponenten.
  • Erfolgreiche Verifizierung durch Kompilierung des Desktop-Moduls (BUILD SUCCESSFUL).

2026-04-21 15:00 - [Frontend Expert] & [Lead Architect]

  • Aktion: Professionalisierung des Veranstalter-Wizards und Profil-Bearbeitung.
  • Ergebnis:
    • Veranstalter-Domäne: Erweiterung um Kontaktdaten (Telefon, E-Mail, Ansprechpartner, Adresse).
    • Veranstalter-Wizard: Refactoring des Wizards zu einer vollwertigen Edit/Create-Komponente inklusive Detail-Erfassung (Step 2).
    • Repository-Update: FakeVeranstalterRepository liefert nun vollständige Datensätze für alle Mock-Veranstalter.
    • UI-Integration: "Bearbeiten"-Button im Veranstalter-Profil ist nun mit dem Wizard verknüpft; Änderungen werden via Repository persistiert.
    • Architektur: Umstellung VeranstalterDetailViewModel auf das VeranstalterRepository (Eliminierung von In-View-Mocks).
    • Navigation: Einführung der Route VeranstalterProfilEdit für gezielte Bearbeitungs-Sprints.
  • Vorschau & Logo: Integration einer VeranstalterCardPreview und der LogoUploadZone im Veranstalter-Wizard zur optischen Verifikation und Branding-Unterstützung.
  • Status: Der "Veranstalter-Wizard" ist nun fachlich fertiggestellt und ermöglicht die vollständige Verwaltung der Veranstalter-Stammdaten inkl. Logos.

2026-04-21 15:30 - [Lead Architect] & [Frontend Expert] - Navigations-Hotfix

  • Problem: Unerwünschte Redirects im Offline-Modus (nicht authentifiziert) führten dazu, dass bei Klick auf "Veranstalter" oder andere Screens immer die "EventVerwaltung" (Dashboard) erzwungen wurde.
  • Lösung:
    • DesktopApp.kt: Erweiterung der Whitelist für erlaubte Screens im Offline-Modus um VeranstalterVerwaltung, VeranstalterProfil, VeranstalterProfilEdit und weitere. Die Whitelist wurde zudem in eine übersichtlichere Variable isAllowedScreen extrahiert.
    • DesktopMainLayout.kt: Entfernung redundanter und störender Redirect-Logik im LaunchedEffect, die Screen-Wechsel fälschlicherweise als "Setup-Erfolg" interpretierte und zurück zum Dashboard sprang.
  • Ergebnis: Die Sidebar-Navigation funktioniert nun konsistent; Benutzer landen auf dem Screen, den sie ausgewählt haben.
  • Verifizierung: Erfolgreicher Build des Desktop-Moduls.