From b7933fc5b0e36770cda51d928e657df4ed9f6b2f Mon Sep 17 00:00:00 2001 From: Leandro Schaguhn Date: Fri, 13 Jun 2025 13:31:25 +0200 Subject: [PATCH] md3e + loading indicator --- app/build.gradle.kts | 1 + .../java/de/lelehier/keeper/screens/home_screen.kt | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index e900371..6924fd4 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -33,6 +33,7 @@ android { } kotlinOptions { jvmTarget = "11" + freeCompilerArgs += "-opt-in=androidx.compose.material3.ExperimentalMaterial3ExpressiveApi" } buildFeatures { compose = true 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 4fe60a9..e6928ab 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 @@ -25,6 +25,7 @@ import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.material3.Button +import androidx.compose.material3.CircularWavyProgressIndicator import androidx.compose.material3.MaterialTheme import androidx.compose.material3.OutlinedButton import androidx.compose.material3.OutlinedTextField @@ -47,6 +48,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi import androidx.compose.ui.tooling.preview.Preview @Composable @@ -78,6 +80,7 @@ fun HomeScreen(paddingValues: PaddingValues) { "serverDialog" -> ServerDialog(serverURL, {newServerURL -> serverURL = newServerURL }) "passwordDialog" -> PasswordDialog(username, password, {newUsername -> username = newUsername}, {newPassword -> password = newPassword }) "apiDialog" -> ApiDialog(apiKey) {newApiKey -> apiKey = newApiKey} + "loadingDialog" -> LoadingDialog() } } @@ -112,8 +115,9 @@ fun HomeScreen(paddingValues: PaddingValues) { Button( onClick = {when(currentScreen) { "serverDialog" -> currentScreen = "passwordDialog" - "passwordDialog" -> currentScreen = "LoadingDialog" - "apiDialog" -> currentScreen = "LoadingDialog" + "passwordDialog" -> currentScreen = "loadingDialog" + "apiDialog" -> currentScreen = "loadingDialog" + "loadingDialog" -> currentScreen = "loadingDialog" }}, modifier = Modifier.padding(top = 24.dp) .fillMaxWidth() @@ -239,4 +243,9 @@ fun ApiDialog(apiKey: String, updateApiKey: (newApiKey: String) -> Unit) { ) } +} + +@Composable +fun LoadingDialog () { + CircularWavyProgressIndicator() } \ No newline at end of file