Banksia/composeApp/src/commonMain/kotlin/moe/lava/banksia/App.kt

56 lines
1.9 KiB
Kotlin
Raw Normal View History

2025-04-13 00:51:32 +10:00
package moe.lava.banksia
import androidx.compose.foundation.layout.Box
2025-04-13 01:27:49 +10:00
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.BottomSheetScaffold
import androidx.compose.material3.ExperimentalMaterial3Api
2025-04-14 13:35:26 +10:00
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.SheetValue
import androidx.compose.material3.rememberBottomSheetScaffoldState
import androidx.compose.material3.rememberStandardBottomSheetState
2025-04-14 13:35:26 +10:00
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
2025-04-13 00:51:32 +10:00
import androidx.compose.ui.Modifier
2025-04-14 21:07:05 +10:00
import moe.lava.banksia.api.ptv.PtvService
2025-04-13 01:27:49 +10:00
import moe.lava.banksia.native.maps.Maps
2025-04-14 13:35:26 +10:00
import moe.lava.banksia.ui.Searcher
import org.jetbrains.compose.ui.tooling.preview.Preview
2025-04-13 00:51:32 +10:00
@OptIn(ExperimentalMaterial3Api::class)
2025-04-13 00:51:32 +10:00
@Composable
@Preview
fun App() {
val scaffoldState = rememberBottomSheetScaffoldState(
bottomSheetState = rememberStandardBottomSheetState(
initialValue = SheetValue.Hidden,
skipHiddenState = false
)
)
2025-04-14 13:35:26 +10:00
var searchTextState by remember { mutableStateOf("") }
var searchExpandedState by remember { mutableStateOf(false) }
2025-04-13 00:51:32 +10:00
MaterialTheme {
BottomSheetScaffold(
scaffoldState = scaffoldState,
sheetContent = { Box(modifier = Modifier) },
) {
Maps(
modifier = Modifier.fillMaxSize(),
sheetState = scaffoldState.bottomSheetState,
)
2025-04-14 13:35:26 +10:00
Searcher(
2025-04-14 21:07:05 +10:00
ptvService = PtvService(),
2025-04-14 13:35:26 +10:00
expanded = searchExpandedState,
onExpandedChange = { searchExpandedState = it },
text = searchTextState,
onTextChange = { searchTextState = it },
2025-04-14 21:07:05 +10:00
onRouteChange = {}
2025-04-14 13:35:26 +10:00
)
2025-04-13 00:51:32 +10:00
}
}
2025-04-14 21:53:07 +10:00
}