diff --git a/android-app/app/src/main/java/de/harheimertc/ui/components/AppNavigationHeader.kt b/android-app/app/src/main/java/de/harheimertc/ui/components/AppNavigationHeader.kt index d0e334b..ffabfbe 100644 --- a/android-app/app/src/main/java/de/harheimertc/ui/components/AppNavigationHeader.kt +++ b/android-app/app/src/main/java/de/harheimertc/ui/components/AppNavigationHeader.kt @@ -157,7 +157,7 @@ private fun WebTabletNavigation( navigationState: NavigationUiState, ) { val sectionOverride = androidx.compose.runtime.remember { androidx.compose.runtime.mutableStateOf(null) } - val section = menuSection(selectedRoute) ?: sectionOverride.value + val section = sectionOverride.value ?: menuSection(selectedRoute) val subScroll = rememberScrollState() Row(verticalAlignment = Alignment.CenterVertically) { @@ -168,25 +168,54 @@ private fun WebTabletNavigation( horizontalArrangement = Arrangement.spacedBy(4.dp), verticalAlignment = Alignment.CenterVertically, ) { - MainLink("Start", selectedRoute == Destinations.Home.route, onClick = { onNavigate(Destinations.Home.route) }) - MainLink("Verein", section == MenuSection.VEREIN, onClick = { onNavigate(Destinations.VereinAbout.route) }) - MainLink("Mannschaften", section == MenuSection.MANNSCHAFTEN, onClick = { onNavigate(Destinations.Mannschaften.route) }) - MainLink("Training", section == MenuSection.TRAINING, onClick = { onNavigate(Destinations.Training.route) }) - MainLink("Termine", selectedRoute == Destinations.Termine.route, onClick = { onNavigate(Destinations.Termine.route) }) + MainLink("Start", selectedRoute == Destinations.Home.route, onClick = { + sectionOverride.value = null + onNavigate(Destinations.Home.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) { - 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) { - 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)) if (navigationState.loggedIn) { TextButton(onClick = { sectionOverride.value = MenuSection.CMS }) { Text("CMS", color = Color.White) } } 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) } } }