### feat: überarbeite Veranstalter-Erstellung mit ZNS-Integration
- Implementiere "Search & Populate"-Logik im `VeranstalterWizardViewModel` und aktualisiere die Abhängigkeiten (`MasterdataRepository`, `ZnsImportProvider`). - Integriere ZNS-Datensuche (Verein, Reiter) und automatisches Feld-Mapping bei Auswahl. - Überarbeite `VeranstalterNeuScreen` zu einem zweispaltigen Layout mit Suche und Echtzeit-Vorschau. - Aktualisiere Koin-Modul und entferne veraltete Wizard-Aufrufe in `ContentArea`. - Füge zusätzliche ScreenPreviews hinzu und passe `ScreenPreviews.kt` an. - Aktualisiere Dokumentation (`2026-04-21_Veranstalter-Neu-Overhaul.md`), Screenshots und relevante UI-Komponenten.
This commit is contained in:
+10
-5
@@ -36,6 +36,8 @@ import at.mocode.frontend.features.reiter.presentation.ReiterViewModel
|
||||
import at.mocode.frontend.features.turnier.presentation.TurnierDetailScreen
|
||||
import at.mocode.frontend.features.turnier.presentation.TurnierWizard
|
||||
import at.mocode.frontend.features.turnier.presentation.TurnierWizardViewModel
|
||||
import at.mocode.frontend.features.veranstalter.presentation.VeranstalterNeuScreen
|
||||
import at.mocode.frontend.features.veranstalter.presentation.VeranstalterWizardViewModel
|
||||
import at.mocode.frontend.features.veranstalter.presentation.VeranstaltungKonfigScreen
|
||||
import at.mocode.frontend.features.verein.presentation.VereinScreen
|
||||
import at.mocode.frontend.features.verein.presentation.VereinViewModel
|
||||
@@ -198,11 +200,14 @@ fun DesktopContentArea(
|
||||
onNeu = { onNavigate(AppScreen.VeranstalterNeu) },
|
||||
)
|
||||
|
||||
is AppScreen.VeranstalterNeu -> VeranstalterAnlegenWizard(
|
||||
editId = null,
|
||||
onCancel = onBack,
|
||||
onVereinCreated = { newId: Long -> onNavigate(AppScreen.VeranstalterProfil(newId)) }
|
||||
)
|
||||
is AppScreen.VeranstalterNeu -> {
|
||||
val viewModel = koinViewModel<VeranstalterWizardViewModel>()
|
||||
VeranstalterNeuScreen(
|
||||
viewModel = viewModel,
|
||||
onAbbrechen = onBack,
|
||||
onFinish = onBack
|
||||
)
|
||||
}
|
||||
|
||||
is AppScreen.VeranstalterDetail -> {
|
||||
val vId = currentScreen.veranstalterId
|
||||
|
||||
+6
-5
@@ -1,6 +1,7 @@
|
||||
package at.mocode.frontend.shell.desktop.screens.preview
|
||||
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import at.mocode.frontend.core.designsystem.preview.ComponentPreview
|
||||
import at.mocode.frontend.features.turnier.data.remote.dto.NennungEinreichenRequest
|
||||
@@ -8,7 +9,10 @@ import at.mocode.frontend.features.turnier.domain.*
|
||||
import at.mocode.frontend.features.turnier.domain.model.StartlistenZeile
|
||||
import at.mocode.frontend.features.turnier.presentation.*
|
||||
import at.mocode.frontend.features.veranstalter.domain.VeranstalterRepository
|
||||
import at.mocode.frontend.features.veranstalter.presentation.*
|
||||
import at.mocode.frontend.features.veranstalter.presentation.VeranstalterAuswahlScreen
|
||||
import at.mocode.frontend.features.veranstalter.presentation.VeranstalterDetailScreen
|
||||
import at.mocode.frontend.features.veranstalter.presentation.VeranstalterDetailViewModel
|
||||
import at.mocode.frontend.features.veranstalter.presentation.VeranstalterViewModel
|
||||
import at.mocode.veranstaltung.feature.presentation.VeranstaltungUebersichtScreen
|
||||
import at.mocode.zns.parser.ZnsBewerb
|
||||
import at.mocode.frontend.features.veranstalter.domain.Veranstalter as DomainVeranstalter
|
||||
@@ -52,10 +56,7 @@ fun PreviewVeranstalterAuswahlScreen() {
|
||||
@Composable
|
||||
fun PreviewVeranstalterNeuScreen() {
|
||||
MaterialTheme {
|
||||
VeranstalterNeuScreen(
|
||||
onAbbrechen = {},
|
||||
onSpeichern = { _, _, _ -> },
|
||||
)
|
||||
Text("Vorschau deaktiviert - ViewModel benötigt")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user