From 8925c943abbff29d2c2770942ec146880772f2af Mon Sep 17 00:00:00 2001 From: Cilly Leang Date: Sat, 28 Mar 2026 21:22:48 +1100 Subject: [PATCH] feat(ui/map): switch to protomaps has POIs and also just looks a bit prettier :3 --- .../kotlin/moe/lava/banksia/Constants.kt.skeleton | 1 + .../kotlin/moe/lava/banksia/ui/map/MapLibreMaps.kt | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/shared/src/commonMain/kotlin/moe/lava/banksia/Constants.kt.skeleton b/shared/src/commonMain/kotlin/moe/lava/banksia/Constants.kt.skeleton index 7329ae3..15b3c58 100644 --- a/shared/src/commonMain/kotlin/moe/lava/banksia/Constants.kt.skeleton +++ b/shared/src/commonMain/kotlin/moe/lava/banksia/Constants.kt.skeleton @@ -8,4 +8,5 @@ object Constants { // TODO const val devMode: Boolean = false const val updateKey: String = "" + const val protomapsKey: String = "" } diff --git a/ui/maps/src/commonMain/kotlin/moe/lava/banksia/ui/map/MapLibreMaps.kt b/ui/maps/src/commonMain/kotlin/moe/lava/banksia/ui/map/MapLibreMaps.kt index d3e1a50..1df9cb1 100644 --- a/ui/maps/src/commonMain/kotlin/moe/lava/banksia/ui/map/MapLibreMaps.kt +++ b/ui/maps/src/commonMain/kotlin/moe/lava/banksia/ui/map/MapLibreMaps.kt @@ -1,5 +1,6 @@ package moe.lava.banksia.ui.map +import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.add import androidx.compose.foundation.layout.asPaddingValues @@ -9,6 +10,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import kotlinx.serialization.json.JsonObject +import moe.lava.banksia.Constants import moe.lava.banksia.ui.map.mappers.routeColorExpression import moe.lava.banksia.ui.platform.BanksiaTheme import org.maplibre.compose.camera.CameraPosition @@ -42,9 +44,11 @@ internal fun MapLibreMaps( ) ) + val variant = if (isSystemInDarkTheme()) "dark" else "light" + MaplibreMap( modifier = modifier, - baseStyle = BaseStyle.Uri("https://tiles.openfreemap.org/styles/positron"), + baseStyle = BaseStyle.Uri("https://api.protomaps.com/styles/v5/$variant/en.json?key=${Constants.protomapsKey}"), cameraState = camPos, options = MapOptions( ornamentOptions = OrnamentOptions(