meldestelle/frontend/core/wizard
StefanMoCoAt 9195cdb14d ### feat: verbessere Wizard-Validierung und UI-Feedback
- Integriere Fortschrittsanzeige während der Veranstalter-Suche (`isCheckingStats`).
- Zeige Fehlermeldungen bei Suchfehlern im `EventWizardScreen`.
- Füge `hasSelectedVeranstalter`-Guard und zugehörige Tests hinzu.
- Präzisiere `DemoEventFlow` mit expliziter Guard-Logik.
- Aktualisiere Unit-Tests zur Abdeckung neuer Guard-Szenarien.
2026-04-21 21:26:06 +02:00
..
src ### feat: verbessere Wizard-Validierung und UI-Feedback 2026-04-21 21:26:06 +02:00
build.gradle.kts ### feat: verbessere Validierungs- und Draft-Funktionalität im Wizard 2026-04-21 20:12:53 +02:00
README.md feat: füge Wizard-Orchestrator mit Runtime, Scaffold und DraftStore (MVP) hinzu 2026-04-21 18:30:16 +02:00

Wizard-Orchestrator (Core Module)

Dieses Modul enthält die Runtime, DSL und UI-Grundbausteine für die deklarative Wizard-Orchestrierung.

Status (2026-04-21)

  • Runtime & DSL (Minimal): StepId, WizardContext, WizardState, Guard, Transition, StepEffects, WizardRuntime.
  • UI: WizardScaffold (MVP) + WizardScaffoldWithHotkeys (Enter/Shift+Enter/Alt+S auf JVM).
  • Samples/Tests: Demo-Event-Flow + 6 grüne Tests (Next/Back/Guards).
  • Drafts: InMemory DraftStore (Autosave/Resume Hooks) vorbereitet.

Struktur

  • src/commonMain/kotlin/at/mocode/frontend/core/wizard/runtime Kern-Interfaces & -State
  • src/commonMain/kotlin/at/mocode/frontend/core/wizard/dsl Flow-DSL
  • src/commonMain/kotlin/at/mocode/frontend/core/wizard/ui Scaffold/Composable Bausteine
  • src/commonMain/kotlin/at/mocode/frontend/core/wizard/samples Demo-Flow/Step-IDs
  • src/{commonTest|jvmTest}/kotlin/... Tests

Quickstart

Build & Tests:

./gradlew :frontend:core:wizard:build
./gradlew :frontend:core:wizard:jvmTest

Feature-Flag aktivieren (Dev):

  • Datei: frontend/core/domain/src/commonMain/kotlin/at/mocode/frontend/core/domain/config/WizardFeatureFlags.kt
  • Eigenschaft: WizardRuntimeEnabled = true (Standard: false)

Startpunkt Desktop:

  • frontend/shells/meldestelle-desktop/src/jvmMain/kotlin/at/mocode/frontend/shell/desktop/main.kt
  • Screen: AppScreen.EventNeu (Koin-Parameter wird mit parametersOf(null as Long?) übergeben)

Nächste Schritte (Kurz)

  • Weitere Steps im Event-Flow migrieren (VM-Delegation, Mapping ↔ Acc erweitern)
  • Fehler-Summary im Scaffold-Footer anbinden
  • Persistenten DraftStore implementieren (flowVersion, Migrationen)
  • Dev-Overlay (aktueller Step, Guard-Entscheide)

Referenzen

  • Roadmap: docs/01_Architecture/MASTER_ROADMAP.md (Initiative 3)
  • ADR0025/0026/0027: Orchestrator, Validation-Policy, Draft-Domain
  • WizardDSL README: docs/01_Architecture/Reference/Wizard-DSL-README.md