diff --git a/composeApp/src/androidMain/kotlin/moe/lava/banksia/ui/platform/maps/Maps.android.kt b/composeApp/src/androidMain/kotlin/moe/lava/banksia/ui/platform/maps/Maps.android.kt index 9353b18..e9110fb 100644 --- a/composeApp/src/androidMain/kotlin/moe/lava/banksia/ui/platform/maps/Maps.android.kt +++ b/composeApp/src/androidMain/kotlin/moe/lava/banksia/ui/platform/maps/Maps.android.kt @@ -46,6 +46,7 @@ import moe.lava.banksia.ui.components.RouteIcon import moe.lava.banksia.ui.platform.BanksiaTheme import moe.lava.banksia.ui.state.MapState import moe.lava.banksia.util.BoxedValue +import moe.lava.banksia.util.Point fun Point.toLatLng(): LatLng = LatLng(this.lat, this.lng) diff --git a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/App.kt b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/App.kt index aba3b62..9589e78 100644 --- a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/App.kt +++ b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/App.kt @@ -47,9 +47,9 @@ import moe.lava.banksia.ui.layout.InfoPanel import moe.lava.banksia.ui.layout.Searcher import moe.lava.banksia.ui.platform.BanksiaTheme import moe.lava.banksia.ui.platform.maps.Maps -import moe.lava.banksia.ui.platform.maps.Point import moe.lava.banksia.ui.platform.maps.getScreenHeight import moe.lava.banksia.ui.state.InfoPanelState +import moe.lava.banksia.util.Point import org.jetbrains.compose.resources.painterResource import kotlin.coroutines.cancellation.CancellationException import kotlin.math.roundToInt diff --git a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/BanksiaViewModel.kt b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/BanksiaViewModel.kt index 09323ae..d9a6ceb 100644 --- a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/BanksiaViewModel.kt +++ b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/BanksiaViewModel.kt @@ -15,14 +15,13 @@ import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import kotlinx.datetime.Clock import kotlinx.datetime.Instant -import moe.lava.banksia.api.ptv.PtvService -import moe.lava.banksia.api.ptv.structures.PtvRoute -import moe.lava.banksia.api.ptv.structures.PtvRouteType +import moe.lava.banksia.data.ptv.PtvService +import moe.lava.banksia.data.ptv.structures.PtvRoute +import moe.lava.banksia.data.ptv.structures.PtvRouteType import moe.lava.banksia.ui.components.getUIProperties import moe.lava.banksia.ui.platform.maps.CameraPosition import moe.lava.banksia.ui.platform.maps.CameraPositionBounds import moe.lava.banksia.ui.platform.maps.Marker -import moe.lava.banksia.ui.platform.maps.Point import moe.lava.banksia.ui.platform.maps.Polyline import moe.lava.banksia.ui.state.InfoPanelState import moe.lava.banksia.ui.state.MapState @@ -30,6 +29,7 @@ import moe.lava.banksia.ui.state.SearchState import moe.lava.banksia.util.BoxedValue import moe.lava.banksia.util.BoxedValue.Companion.box import moe.lava.banksia.util.LoopFlow.Companion.waitUntilSubscribed +import moe.lava.banksia.util.Point import moe.lava.banksia.util.log sealed class BanksiaEvent { diff --git a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/components/RouteIcon.kt b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/components/RouteIcon.kt index c048eab..151012d 100644 --- a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/components/RouteIcon.kt +++ b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/components/RouteIcon.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.draw.drawBehind import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import moe.lava.banksia.api.ptv.structures.PtvRouteType +import moe.lava.banksia.data.ptv.structures.PtvRouteType import moe.lava.banksia.resources.Res import moe.lava.banksia.resources.bus import moe.lava.banksia.resources.bus_background diff --git a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/CameraPosition.kt b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/CameraPosition.kt index 0e9ad04..82f93a6 100644 --- a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/CameraPosition.kt +++ b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/CameraPosition.kt @@ -1,5 +1,7 @@ package moe.lava.banksia.ui.platform.maps +import moe.lava.banksia.util.Point + data class CameraPosition( val centre: Point = Point(-37.8136, 144.9631), val bounds: CameraPositionBounds? = null, diff --git a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/CameraPositionBounds.kt b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/CameraPositionBounds.kt index 3e1f1e4..4fbd648 100644 --- a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/CameraPositionBounds.kt +++ b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/CameraPositionBounds.kt @@ -1,3 +1,5 @@ package moe.lava.banksia.ui.platform.maps +import moe.lava.banksia.util.Point + data class CameraPositionBounds(val northeast: Point, val southwest: Point) diff --git a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/Maps.kt b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/Maps.kt index b14d430..2aa252e 100644 --- a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/Maps.kt +++ b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/Maps.kt @@ -8,6 +8,7 @@ import kotlinx.coroutines.flow.Flow import moe.lava.banksia.ui.BanksiaEvent import moe.lava.banksia.ui.state.MapState import moe.lava.banksia.util.BoxedValue +import moe.lava.banksia.util.Point @Composable expect fun getScreenHeight(): Int diff --git a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/Marker.kt b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/Marker.kt index 9ad25b3..223335b 100644 --- a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/Marker.kt +++ b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/Marker.kt @@ -1,7 +1,8 @@ package moe.lava.banksia.ui.platform.maps import androidx.compose.ui.graphics.Color -import moe.lava.banksia.api.ptv.structures.PtvRouteType +import moe.lava.banksia.data.ptv.structures.PtvRouteType +import moe.lava.banksia.util.Point sealed class Marker { abstract val point: Point diff --git a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/Polyline.kt b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/Polyline.kt index 1721454..c37853f 100644 --- a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/Polyline.kt +++ b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/Polyline.kt @@ -1,5 +1,6 @@ package moe.lava.banksia.ui.platform.maps import androidx.compose.ui.graphics.Color +import moe.lava.banksia.util.Point data class Polyline(val points: List, val colour: Color) diff --git a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/state/InfoPanelState.kt b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/state/InfoPanelState.kt index da7281b..1ad4eb3 100644 --- a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/state/InfoPanelState.kt +++ b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/state/InfoPanelState.kt @@ -1,6 +1,6 @@ package moe.lava.banksia.ui.state -import moe.lava.banksia.api.ptv.structures.PtvRouteType +import moe.lava.banksia.data.ptv.structures.PtvRouteType sealed class InfoPanelState { abstract val loading: Boolean diff --git a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/state/SearchState.kt b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/state/SearchState.kt index 20c248e..41d9ae6 100644 --- a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/state/SearchState.kt +++ b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/state/SearchState.kt @@ -1,6 +1,6 @@ package moe.lava.banksia.ui.state -import moe.lava.banksia.api.ptv.structures.PtvRouteType +import moe.lava.banksia.data.ptv.structures.PtvRouteType data class SearchState( val entries: List = listOf(), @@ -12,4 +12,4 @@ data class SearchState( val routeId: Int, val routeType: PtvRouteType, ) -} \ No newline at end of file +} diff --git a/composeApp/src/iosMain/kotlin/moe/lava/banksia/ui/platform/maps/Maps.ios.kt b/composeApp/src/iosMain/kotlin/moe/lava/banksia/ui/platform/maps/Maps.ios.kt index fb87278..b3e0bfc 100644 --- a/composeApp/src/iosMain/kotlin/moe/lava/banksia/ui/platform/maps/Maps.ios.kt +++ b/composeApp/src/iosMain/kotlin/moe/lava/banksia/ui/platform/maps/Maps.ios.kt @@ -10,6 +10,7 @@ import kotlinx.coroutines.flow.Flow import moe.lava.banksia.ui.BanksiaEvent import moe.lava.banksia.ui.state.MapState import moe.lava.banksia.util.BoxedValue +import moe.lava.banksia.util.Point @OptIn(ExperimentalComposeUiApi::class) @Composable diff --git a/shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/PtvService.kt b/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/PtvService.kt similarity index 95% rename from shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/PtvService.kt rename to shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/PtvService.kt index 7f05dbe..c7e5f3b 100644 --- a/shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/PtvService.kt +++ b/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/PtvService.kt @@ -1,4 +1,4 @@ -package moe.lava.banksia.api.ptv +package moe.lava.banksia.data.ptv import io.ktor.client.HttpClient import io.ktor.client.call.body @@ -18,12 +18,12 @@ import kotlinx.coroutines.delay import kotlinx.serialization.Serializable import kotlinx.serialization.json.Json import moe.lava.banksia.Constants -import moe.lava.banksia.api.ptv.structures.PtvDeparture -import moe.lava.banksia.api.ptv.structures.PtvDirection -import moe.lava.banksia.api.ptv.structures.PtvRoute -import moe.lava.banksia.api.ptv.structures.PtvRouteType -import moe.lava.banksia.api.ptv.structures.PtvRun -import moe.lava.banksia.api.ptv.structures.PtvStop +import moe.lava.banksia.data.ptv.structures.PtvDeparture +import moe.lava.banksia.data.ptv.structures.PtvDirection +import moe.lava.banksia.data.ptv.structures.PtvRoute +import moe.lava.banksia.data.ptv.structures.PtvRouteType +import moe.lava.banksia.data.ptv.structures.PtvRun +import moe.lava.banksia.data.ptv.structures.PtvStop import moe.lava.banksia.util.CacheMap import moe.lava.banksia.util.LoopFlow.Companion.initWith import moe.lava.banksia.util.error diff --git a/shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvDeparture.kt b/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvDeparture.kt similarity index 89% rename from shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvDeparture.kt rename to shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvDeparture.kt index 3cd9ac2..116c93f 100644 --- a/shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvDeparture.kt +++ b/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvDeparture.kt @@ -1,4 +1,4 @@ -package moe.lava.banksia.api.ptv.structures +package moe.lava.banksia.data.ptv.structures import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvDirection.kt b/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvDirection.kt similarity index 86% rename from shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvDirection.kt rename to shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvDirection.kt index 837a10e..77e3ac3 100644 --- a/shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvDirection.kt +++ b/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvDirection.kt @@ -1,4 +1,4 @@ -package moe.lava.banksia.api.ptv.structures +package moe.lava.banksia.data.ptv.structures import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvGeopath.kt b/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvGeopath.kt similarity index 88% rename from shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvGeopath.kt rename to shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvGeopath.kt index 0fe34ea..6bdd63a 100644 --- a/shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvGeopath.kt +++ b/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvGeopath.kt @@ -1,4 +1,4 @@ -package moe.lava.banksia.api.ptv.structures +package moe.lava.banksia.data.ptv.structures import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvRoute.kt b/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvRoute.kt similarity index 96% rename from shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvRoute.kt rename to shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvRoute.kt index 34ae46f..078d578 100644 --- a/shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvRoute.kt +++ b/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvRoute.kt @@ -1,4 +1,4 @@ -package moe.lava.banksia.api.ptv.structures +package moe.lava.banksia.data.ptv.structures import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvRouteType.kt b/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvRouteType.kt similarity index 95% rename from shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvRouteType.kt rename to shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvRouteType.kt index 4cfc65a..611b6c4 100644 --- a/shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvRouteType.kt +++ b/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvRouteType.kt @@ -1,4 +1,4 @@ -package moe.lava.banksia.api.ptv.structures +package moe.lava.banksia.data.ptv.structures import kotlinx.serialization.KSerializer import kotlinx.serialization.Serializable diff --git a/shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvRun.kt b/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvRun.kt similarity index 98% rename from shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvRun.kt rename to shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvRun.kt index 17f4856..5d90d28 100644 --- a/shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvRun.kt +++ b/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvRun.kt @@ -1,4 +1,4 @@ -package moe.lava.banksia.api.ptv.structures +package moe.lava.banksia.data.ptv.structures import kotlinx.datetime.Instant import kotlinx.datetime.LocalDateTime diff --git a/shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvStop.kt b/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvStop.kt similarity index 89% rename from shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvStop.kt rename to shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvStop.kt index 0fb4b40..29f2115 100644 --- a/shared/src/commonMain/kotlin/moe/lava/banksia/api/ptv/structures/PtvStop.kt +++ b/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvStop.kt @@ -1,4 +1,4 @@ -package moe.lava.banksia.api.ptv.structures +package moe.lava.banksia.data.ptv.structures import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/Point.kt b/shared/src/commonMain/kotlin/moe/lava/banksia/util/Point.kt similarity index 55% rename from composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/Point.kt rename to shared/src/commonMain/kotlin/moe/lava/banksia/util/Point.kt index 840328a..b54453b 100644 --- a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/platform/maps/Point.kt +++ b/shared/src/commonMain/kotlin/moe/lava/banksia/util/Point.kt @@ -1,3 +1,3 @@ -package moe.lava.banksia.ui.platform.maps +package moe.lava.banksia.util data class Point(val lat: Double, val lng: Double)