diff --git a/app/src/main/java/de/lelehier/keeper/MainActivity.kt b/app/src/main/java/de/lelehier/keeper/MainActivity.kt index 6dcc779..e80dfc5 100644 --- a/app/src/main/java/de/lelehier/keeper/MainActivity.kt +++ b/app/src/main/java/de/lelehier/keeper/MainActivity.kt @@ -10,7 +10,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import de.lelehier.keeper.ui.theme.KeeperTheme -import de.lelehier.keeper.screens.HomeScreen +import de.lelehier.keeper.screens.LoginScreen class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { @@ -21,7 +21,7 @@ class MainActivity : ComponentActivity() { var currentScreen by remember { mutableStateOf(0) } Scaffold() { paddingValues -> - HomeScreen(paddingValues) + LoginScreen(paddingValues) } } } diff --git a/app/src/main/java/de/lelehier/keeper/screens/home_screen.kt b/app/src/main/java/de/lelehier/keeper/screens/home_screen.kt index 27e68e6..cd27f0d 100644 --- a/app/src/main/java/de/lelehier/keeper/screens/home_screen.kt +++ b/app/src/main/java/de/lelehier/keeper/screens/home_screen.kt @@ -53,7 +53,7 @@ import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi import androidx.compose.ui.tooling.preview.Preview @Composable -fun HomeScreen(paddingValues: PaddingValues) { +fun LoginScreen(paddingValues: PaddingValues) { var currentScreen by rememberSaveable { mutableStateOf("serverDialog") } var serverURL by rememberSaveable { mutableStateOf("") } var username by rememberSaveable { mutableStateOf("") } @@ -88,7 +88,8 @@ fun HomeScreen(paddingValues: PaddingValues) { AnimatedVisibility(currentScreen == "passwordDialog" || currentScreen == "apiDialog") { Row( - modifier = Modifier.padding(bottom = 12.dp) + modifier = Modifier + .padding(bottom = 12.dp) .fillMaxWidth(), horizontalArrangement = Arrangement.SpaceBetween ) { @@ -124,25 +125,37 @@ fun HomeScreen(paddingValues: PaddingValues) { } } } - Button( - onClick = {when(currentScreen) { - "serverDialog" -> currentScreen = "passwordDialog" - "passwordDialog" -> currentScreen = "loadingDialog" - "apiDialog" -> currentScreen = "loadingDialog" - "loadingDialog" -> currentScreen = "loadingDialog" - }}, - modifier = Modifier - .fillMaxWidth() - .height(96.dp), - enabled = when(currentScreen) { - "serverDialog" -> isValidUrl(serverURL) - "passwordDialog" -> username.isNotEmpty() && password.isNotEmpty() - "apiDialog" -> apiKey.isNotEmpty() - else -> false - }, - ) { - Row() { - Text(text = "Next") + AnimatedVisibility(currentScreen != "loadingDialog") { + Button( + onClick = { + when (currentScreen) { + "serverDialog" -> currentScreen = "passwordDialog" + "passwordDialog" -> currentScreen = "loadingDialog" + "apiDialog" -> currentScreen = "loadingDialog" + "loadingDialog" -> currentScreen = "loadingDialog" + } + }, + modifier = Modifier + .fillMaxWidth() + .height(96.dp), + enabled = when (currentScreen) { + "serverDialog" -> isValidUrl(serverURL) + "passwordDialog" -> username.isNotEmpty() && password.isNotEmpty() + "apiDialog" -> apiKey.isNotEmpty() + else -> false + }, + ) { + Row() { + Text( + text = when (currentScreen) { + "serverDialog" -> "Next" + "passwordDialog" -> "Login" + "apiDialog" -> "Login" + else -> "" + + } + ) + } } } }