chore: füge Navigation zum Veranstalter-Wizard hinzu, erweitere Mock-Daten und verbessere Veranstaltungs-Flow

Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
This commit is contained in:
2026-04-21 10:57:28 +02:00
parent 1a295c18c8
commit 9b4af2bb56
5 changed files with 33 additions and 10 deletions
@@ -13,7 +13,8 @@ class FakeVeranstalterRepository : VeranstalterRepository {
Veranstalter(2, "RV Schloß Rosenau", "3-0012", "Rosenau", "Aktiv"),
Veranstalter(3, "Reitclub Tulln", "3-1520", "Tulln", "Inaktiv"),
Veranstalter(4, "RC St. Pölten", "3-0101", "St. Pölten", "Aktiv"),
Veranstalter(5, "Union Reitklub Wien", "9-0001", "Wien", "Aktiv")
Veranstalter(5, "Union Reitklub Wien", "9-0001", "Wien", "Aktiv"),
Veranstalter(6, "Reitclub Neumarkt", "6-009", "Neumarkt", "Aktiv")
)
override suspend fun list(): Result<List<Veranstalter>> = Result.success(mockData)
@@ -28,7 +28,8 @@ import kotlin.uuid.ExperimentalUuidApi
fun VeranstaltungWizardScreen(
viewModel: VeranstaltungWizardViewModel,
onBack: () -> Unit,
onFinish: () -> Unit
onFinish: () -> Unit,
onNavigateToVeranstalterNeu: () -> Unit = {}
) {
val state = viewModel.state
@@ -69,7 +70,7 @@ fun VeranstaltungWizardScreen(
) {
when (state.currentStep) {
WizardStep.ZNS_CHECK -> ZnsCheckStep(viewModel)
WizardStep.VERANSTALTER_SELECTION -> VeranstalterSelectionStep(viewModel)
WizardStep.VERANSTALTER_SELECTION -> VeranstalterSelectionStep(viewModel, onNavigateToVeranstalterNeu)
WizardStep.ANSPRECHPERSON_MAPPING -> AnsprechpersonMappingStep(viewModel)
WizardStep.META_DATA -> MetaDataStep(viewModel)
WizardStep.TURNIER_ANLAGE -> TurnierAnlageStep(viewModel)
@@ -228,7 +229,10 @@ private fun ZnsCheckStep(viewModel: VeranstaltungWizardViewModel) {
@OptIn(ExperimentalMaterial3Api::class, ExperimentalUuidApi::class)
@Composable
private fun VeranstalterSelectionStep(viewModel: VeranstaltungWizardViewModel) {
private fun VeranstalterSelectionStep(
viewModel: VeranstaltungWizardViewModel,
onNavigateToVeranstalterNeu: () -> Unit
) {
var searchQuery by remember { mutableStateOf("") }
Column(verticalArrangement = Arrangement.spacedBy(16.dp)) {
Text("Schritt 2: Veranstalter auswählen", style = MaterialTheme.typography.titleLarge)
@@ -288,7 +292,7 @@ private fun VeranstalterSelectionStep(viewModel: VeranstaltungWizardViewModel) {
Text("Verein nicht gefunden?", style = MaterialTheme.typography.labelLarge)
Button(
onClick = { /* Navigiere zu Veranstalter anlegen */ },
onClick = onNavigateToVeranstalterNeu,
colors = ButtonDefaults.buttonColors(containerColor = MaterialTheme.colorScheme.secondary)
) {
Icon(Icons.Default.Add, null)
@@ -10,7 +10,15 @@ class FakeVereinRepository : VereinRepository {
id = "v1",
name = "URFV Neumarkt am Wallersee",
oepsNr = "4221",
ort = "Neumarkt/M.",
ort = "Neumarkt/W.",
plz = "5202",
status = VereinStatus.AKTIV
),
Verein(
id = "v3",
name = "Reitclub Neumarkt",
oepsNr = "6-009",
ort = "Neumarkt",
plz = "4221",
status = VereinStatus.AKTIV
),