diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml index 946bea8..1464c1b 100644 --- a/.idea/deploymentTargetSelector.xml +++ b/.idea/deploymentTargetSelector.xml @@ -3,21 +3,28 @@ - - - - - diff --git a/app/src/main/java/org/pupes/mhdrunpathfinder/MainActivity.kt b/app/src/main/java/org/pupes/mhdrunpathfinder/MainActivity.kt index 45cbbd0..44fc35a 100644 --- a/app/src/main/java/org/pupes/mhdrunpathfinder/MainActivity.kt +++ b/app/src/main/java/org/pupes/mhdrunpathfinder/MainActivity.kt @@ -1,20 +1,35 @@ package org.pupes.mhdrunpathfinder -import android.R.attr.onClick import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.text.input.rememberTextFieldState +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.ElevatedButton +import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.OutlinedButton +import androidx.compose.material3.ModalBottomSheet import androidx.compose.material3.Surface import androidx.compose.material3.Text +import androidx.compose.material3.TextField import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.RectangleShape import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -63,8 +78,7 @@ class MainActivity : ComponentActivity() { modifier = Modifier.fillMaxSize(), color = MaterialTheme.colorScheme.background ) { - OpenStreetMapScreen() - AddButton() + MainScreen() } } } @@ -80,13 +94,60 @@ class MainActivity : ComponentActivity() { } } +@Composable +fun MainScreen() { + var showSettings by remember { mutableStateOf(false) } + + Box(modifier = Modifier.fillMaxSize()) { + OpenStreetMapScreen() + SettingsButton( + onClick = { showSettings = true }, + modifier = Modifier + .align(Alignment.TopEnd) + .padding(end = 5.dp, bottom = 5.dp) + ) + if (showSettings) { + ShowSettingsMenu(onDismiss = { showSettings = false }) + } + } +} + @Preview @Composable // When a composable with parameters is used with @Preview, // a default value must be provided for the preview to render. -fun AddButton(onClick: () -> Unit = {}) { - OutlinedButton(onClick = { onClick() }) { - Text("Outlined") +fun SettingsButton(modifier: Modifier = Modifier, onClick: () -> Unit = {}) { + Button( + onClick = { onClick() }, + colors = ButtonDefaults.buttonColors(containerColor = Color(0xCFFFFFFF)), + modifier = modifier + + ) { + Icon( + painter = painterResource(id = R.drawable.baseline_settings_24), + contentDescription = null, + modifier = Modifier.size(24.dp), + tint = Color(0xFF000000) + ) + } +} +@Preview +@Composable +@OptIn(ExperimentalMaterial3Api::class) +fun ShowSettingsMenu(modifier: Modifier = Modifier, onDismiss: () -> Unit = {}) { + ModalBottomSheet(onDismissRequest = onDismiss) { + Column() { + Row() { + TextField( + state = rememberTextFieldState(), + label = { Text("Target Hauk URL") }, + + ) + ElevatedButton(onClick = { },modifier = Modifier.padding(start = 5.dp), shape = RectangleShape) { + Text("Apply") + } + } + } } } @@ -150,4 +211,3 @@ fun OpenStreetMapScreen() { state = mapState ) } - diff --git a/app/src/main/res/drawable/baseline_settings_24.xml b/app/src/main/res/drawable/baseline_settings_24.xml new file mode 100644 index 0000000..6593f3a --- /dev/null +++ b/app/src/main/res/drawable/baseline_settings_24.xml @@ -0,0 +1,5 @@ + + + + +