feat(map): grid QSO dialog Match button prefills the match page

- Grid-QSO dialog gains a Match action (radio-tower icon + label) in its
  header; tapping it navigates to the match page pre-filled with the tapped
  grid as the opposite station and a 24h time range, auto-starts the query,
  and scrolls the page straight to the time-range card.
- Every grid is now tappable (previously only worked grids opened the
  dialog); unworked grids show an empty QSO list instead of a hint.
This commit is contained in:
atsunatsu committed 2026-09-22 10:46:56 +08:00
1 parent 6beaeb3e1a
commit 3e0874e6a8
6 files changed
+120 -37

No files matched your search

@@ -244,7 +244,16 @@ fun MainScreen(
)
}
entry<Screen.Map> {
MapDestination(mapFilterViewModel = mapFilterViewModel)
MapDestination(
mapFilterViewModel = mapFilterViewModel,
onMatchGrid = { grid ->
// Grid-QSO dialog "Match" button: pre-fill the
// match page for that grid and switch to its tab.
mutualViewModel.prefillMatchFromGrid(grid)
while (backStack.size > 1) backStack.removeAt(backStack.size - 1)
backStack.add(Screen.Mutual)
}
)
}
entry<Screen.Mutual> {
MutualScreen(