fix(ui): make setting camera position work again

This commit is contained in:
Cilly Leang 2026-04-02 02:28:10 +11:00
parent c912723c78
commit 4cdb9a305c
Signed by: cilly
GPG key ID: 6500251E087653C9
5 changed files with 47 additions and 11 deletions

View file

@ -40,6 +40,7 @@ import moe.lava.banksia.ui.layout.SheetStateWrapper
import moe.lava.banksia.ui.layout.info.InfoPanel
import moe.lava.banksia.ui.layout.info.InfoPanelState
import moe.lava.banksia.ui.map.Maps
import moe.lava.banksia.ui.map.rememberMapsPositionState
import moe.lava.banksia.ui.platform.BanksiaTheme
import org.jetbrains.compose.resources.painterResource
import org.koin.compose.viewmodel.koinViewModel
@ -64,6 +65,13 @@ fun MapScreen(
val sheetState = SheetStateWrapper.create()
var searchExpandedState by rememberSaveable { mutableStateOf(false) }
val mapsPositionState = rememberMapsPositionState()
scope.launch {
viewModel.cameraChangeEmitter.collect {
mapsPositionState.update(it.value)
}
}
LaunchedEffect(infoState) {
if (infoState !is InfoPanelState.None) {
sheetState.peek()
@ -80,6 +88,7 @@ fun MapScreen(
SearchBarDefaults.InputFieldHeight.roundToPx()
}, bottom = sheetState.bottomInset),
stops = mapState.stops,
positionState = mapsPositionState,
// vehicles = mapState.vehicles,
onStopClicked = { stop ->
viewModel.handleEvent(MapScreenEvent.SelectStop(stop))

View file

@ -116,11 +116,6 @@ class MapScreenViewModel(
}
fun centreCameraToLocation() {
viewModelScope.launch {
log("msvm", "getting..")
val routes = routeRepository.getAll()
log("msvm", routes.joinToString("\n"))
}
lastKnownLocation?.let { location ->
viewModelScope.launch {
log("bvm", "emitting $location")