feat: update navigation logic to manage section overrides in WebTabletNavigation
Some checks failed
Code Analysis and Production Deploy / analyze (push) Failing after 7m46s
Code Analysis and Production Deploy / deploy-production (push) Has been skipped
Code Analysis and Production Deploy / deploy-test (push) Has been skipped

This commit is contained in:
Torsten Schulz (local)
2026-06-04 22:05:50 +02:00
parent 2014abe660
commit 402913d877

View File

@@ -157,7 +157,7 @@ private fun WebTabletNavigation(
navigationState: NavigationUiState, navigationState: NavigationUiState,
) { ) {
val sectionOverride = androidx.compose.runtime.remember { androidx.compose.runtime.mutableStateOf<MenuSection?>(null) } val sectionOverride = androidx.compose.runtime.remember { androidx.compose.runtime.mutableStateOf<MenuSection?>(null) }
val section = menuSection(selectedRoute) ?: sectionOverride.value val section = sectionOverride.value ?: menuSection(selectedRoute)
val subScroll = rememberScrollState() val subScroll = rememberScrollState()
Row(verticalAlignment = Alignment.CenterVertically) { Row(verticalAlignment = Alignment.CenterVertically) {
@@ -168,25 +168,54 @@ private fun WebTabletNavigation(
horizontalArrangement = Arrangement.spacedBy(4.dp), horizontalArrangement = Arrangement.spacedBy(4.dp),
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
) { ) {
MainLink("Start", selectedRoute == Destinations.Home.route, onClick = { onNavigate(Destinations.Home.route) }) MainLink("Start", selectedRoute == Destinations.Home.route, onClick = {
MainLink("Verein", section == MenuSection.VEREIN, onClick = { onNavigate(Destinations.VereinAbout.route) }) sectionOverride.value = null
MainLink("Mannschaften", section == MenuSection.MANNSCHAFTEN, onClick = { onNavigate(Destinations.Mannschaften.route) }) onNavigate(Destinations.Home.route)
MainLink("Training", section == MenuSection.TRAINING, onClick = { onNavigate(Destinations.Training.route) }) })
MainLink("Termine", selectedRoute == Destinations.Termine.route, onClick = { onNavigate(Destinations.Termine.route) }) MainLink("Verein", section == MenuSection.VEREIN, onClick = {
sectionOverride.value = MenuSection.VEREIN
onNavigate(Destinations.VereinAbout.route)
})
MainLink("Mannschaften", section == MenuSection.MANNSCHAFTEN, onClick = {
sectionOverride.value = MenuSection.MANNSCHAFTEN
onNavigate(Destinations.Mannschaften.route)
})
MainLink("Training", section == MenuSection.TRAINING, onClick = {
sectionOverride.value = MenuSection.TRAINING
onNavigate(Destinations.Training.route)
})
MainLink("Termine", selectedRoute == Destinations.Termine.route, onClick = {
sectionOverride.value = null
onNavigate(Destinations.Termine.route)
})
if (navigationState.showGallery) { if (navigationState.showGallery) {
MainLink("Galerie", selectedRoute == Destinations.Gallery.route, onClick = { onNavigate(Destinations.Gallery.route) }) MainLink("Galerie", selectedRoute == Destinations.Gallery.route, onClick = {
sectionOverride.value = MenuSection.VEREIN
onNavigate(Destinations.Gallery.route)
})
} }
MainLink("Newsletter", section == MenuSection.NEWSLETTER, onClick = { onNavigate(Destinations.NewsletterSubscribe.route) }) MainLink("Newsletter", section == MenuSection.NEWSLETTER, onClick = {
sectionOverride.value = MenuSection.NEWSLETTER
onNavigate(Destinations.NewsletterSubscribe.route)
})
if (navigationState.loggedIn) { if (navigationState.loggedIn) {
MainLink("Intern", section == MenuSection.INTERN, onClick = { sectionOverride.value = MenuSection.INTERN }) MainLink("Intern", section == MenuSection.INTERN, onClick = {
sectionOverride.value = MenuSection.INTERN
})
} }
MainLink("Kontakt", selectedRoute == Destinations.Contact.route, primary = true, onClick = { onNavigate(Destinations.Contact.route) }) MainLink("Kontakt", selectedRoute == Destinations.Contact.route, primary = true, onClick = {
sectionOverride.value = null
onNavigate(Destinations.Contact.route)
})
} }
Spacer(Modifier.width(12.dp)) Spacer(Modifier.width(12.dp))
if (navigationState.loggedIn) { if (navigationState.loggedIn) {
TextButton(onClick = { sectionOverride.value = MenuSection.CMS }) { Text("CMS", color = Color.White) } TextButton(onClick = { sectionOverride.value = MenuSection.CMS }) { Text("CMS", color = Color.White) }
} else { } else {
TextButton(onClick = { onNavigate(Destinations.Login.route) }) { Text("Login", color = Color.White) } TextButton(onClick = {
sectionOverride.value = null
onNavigate(Destinations.Login.route)
}) { Text("Login", color = Color.White) }
} }
} }