Revert "feat(nav): 4.5.6 AMSAT to bottom bar, Radar to More menu, tablet rail"

This reverts commit d8e1ee3266.
This commit is contained in:
mckero committed 2026-08-05 10:07:45 +00:00
1 parent d8e1ee3266
commit 4c62b2dfb2
9 files changed
+34 -41

No files matched your search

@@ -149,14 +149,10 @@ fun MainScreen(navigateToRadar: () -> Unit = {}) {
val trackingState by container.radioTrackingService.state.collectAsStateWithLifecycle()
val otherSettings by container.settingsRepo.otherSettings.collectAsStateWithLifecycle()
// UI settings: sort by screenOrder (empty = default order), then filter by hiddenScreens (Settings always kept)
val screenOrder = if (otherSettings.screenOrder.isEmpty()) emptyList()
else otherSettings.screenOrder.filter { it != "Radar" }
.let { list -> if ("AMSAT" in list) list else list + "AMSAT" }
val allNavItems = listOf(Screen.Satellites, Screen.Passes, Screen.Radar, Screen.Mutual, Screen.Roaming, Screen.CwDecode, Screen.WavelogLog, Screen.AmSat, Screen.Map, Screen.Settings)
.sortedBy { screen ->
// Unknown pages (e.g. CwDecode not in old persisted order): use default-order position (Roaming<->Map), then fall back to last
val idx = screenOrder.indexOf(screen.screenId)
val idx = otherSettings.screenOrder.indexOf(screen.screenId)
if (idx != -1) idx
else com.rtbishop.look4sat.core.presentation.defaultScreenOrder.indexOf(screen.screenId).let {
if (it != -1) it else Int.MAX_VALUE
@@ -164,12 +160,10 @@ fun MainScreen(navigateToRadar: () -> Unit = {}) {
}
.filter { it.screenId !in otherSettings.hiddenScreens || it is Screen.Settings }
// 4.5.1 foldable menu: main menu (5 bottom-bar slots) + More menu (overflow page)
// 4.5.6 migration: Radar moved to the More menu, AMSAT promoted to the main menu
// Legacy migration: persisted subMenuOrder lacks new pages (WavelogLog) -> append to the sub-menu tail
val subOrder = (otherSettings.subMenuOrder.ifEmpty { com.rtbishop.look4sat.core.presentation.defaultSubMenuOrder })
.filter { it != "AMSAT" }
.let { list -> if ("WavelogLog" in list) list else list + "WavelogLog" }
.let { list -> if ("Radar" in list) list else list + "Radar" }
.let { list -> if ("AMSAT" in list) list else list + "AMSAT" }
val mainNavItems = remember(allNavItems, subOrder) {
allNavItems.filter { it.screenId !in subOrder }.take(5)
}
@@ -237,8 +231,8 @@ fun MainScreen(navigateToRadar: () -> Unit = {}) {
navigationRailContainerColor = MaterialTheme.colorScheme.surfaceContainer
),
layoutType = when {
hasEnoughWidth() -> NavigationSuiteType.NavigationRail
!hasEnoughHeight() -> NavigationSuiteType.ShortNavigationBarCompact
!hasEnoughHeight() && hasEnoughWidth() -> NavigationSuiteType.NavigationRail
!hasEnoughWidth() -> NavigationSuiteType.ShortNavigationBarCompact
else -> NavigationSuiteType.ShortNavigationBarMedium
}
) {