1
0

84 lines
2.6 KiB
Kotlin
Raw Normal View History

2025-04-21 17:44:40 +03:00
/*
* Created by sweetbread
* Copyright (c) 2025. All rights reserved.
*/
2025-04-21 15:48:45 +03:00
package ru.risdeveau.geotracker
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
2025-04-21 17:44:40 +03:00
import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.material3.OutlinedTextField
2025-04-21 15:48:45 +03:00
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
2025-04-21 17:44:40 +03:00
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
2025-04-21 15:48:45 +03:00
import androidx.compose.ui.Modifier
2025-04-21 17:44:40 +03:00
import kotlinx.coroutines.launch
2025-04-21 15:48:45 +03:00
import ru.risdeveau.geotracker.ui.theme.GeoTrackerTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
GeoTrackerTheme {
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
2025-04-21 17:44:40 +03:00
Box(
Modifier
.padding(innerPadding)
.fillMaxSize()) {
var loading by remember { mutableStateOf(true) }
2025-04-21 15:48:45 +03:00
2025-04-21 17:44:40 +03:00
if (loading) {
CircularProgressIndicator(Modifier.align(Alignment.Center))
LaunchedEffect(true) {
launch {
if (!health(SettingsPreferences.url)) {
Settings()
}
}
}
}
2025-04-21 15:48:45 +03:00
}
}
}
}
}
}
2025-04-21 17:44:40 +03:00
sealed class Screen {
object Main : Screen()
object Settings : Screen()
2025-04-21 15:48:45 +03:00
}
@Composable
2025-04-21 17:44:40 +03:00
fun Settings(modifier: Modifier = Modifier) {
var username by remember { mutableStateOf("") }
var url by remember { mutableStateOf("") }
Box (modifier = modifier) {
OutlinedTextField(
value = username,
onValueChange = { username = it },
label = { Text("Username") }
)
OutlinedTextField(
value = url,
onValueChange = { url = it },
label = { Text("Server URL") }
)
2025-04-21 15:48:45 +03:00
}
}