fixed state on rotation

This commit is contained in:
Leandro Schaguhn 2025-06-11 18:50:20 +02:00
parent 2056e7f8d4
commit 0d44832747

View file

@ -67,8 +67,8 @@ fun HomeScreen(paddingValues: PaddingValues) {
}, },
) { targetState -> when(targetState) { ) { targetState -> when(targetState) {
0 -> serverDialog(serverURL, {newServerURL -> serverURL = newServerURL }) 0 -> ServerDialog(serverURL, {newServerURL -> serverURL = newServerURL })
1 -> passwordDialog(username, password, {newUsername -> username = newUsername}, {newPassword -> password = newPassword }) 1 -> PasswordDialog(username, password, {newUsername -> username = newUsername}, {newPassword -> password = newPassword })
} }
} }
@ -119,15 +119,15 @@ fun Greeting(serverURL: String, currentScreen: Int) {
@Composable @Composable
fun serverDialog(serverURL: String, updateServerURL: (newServerURL: String) -> Unit) { fun ServerDialog(serverURL: String, updateServerURL: (newServerURL: String) -> Unit) {
var serverURL by remember { mutableStateOf("") } var dialogServerURL by remember { mutableStateOf("") }
OutlinedTextField( OutlinedTextField(
label = { Text(text = "Server URL") }, label = { Text(text = "Server URL") },
textStyle = MaterialTheme.typography.bodySmall, textStyle = MaterialTheme.typography.bodySmall,
value = serverURL, value = serverURL,
onValueChange = { text -> onValueChange = { text ->
serverURL = text dialogServerURL = text
updateServerURL(serverURL) updateServerURL(dialogServerURL)
}, },
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Uri), keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Uri),
supportingText = { supportingText = {
@ -152,25 +152,25 @@ fun isValidUrl(url: String): Boolean {
} }
@Composable @Composable
fun passwordDialog(username: String, password: String, updateUsername: (newUsername: String) -> Unit, updatePassword: (newPassword: String) -> Unit) { fun PasswordDialog(username: String, password: String, updateUsername: (newUsername: String) -> Unit, updatePassword: (newPassword: String) -> Unit) {
var username by remember { mutableStateOf("") } var dialogUsername by remember { mutableStateOf("") }
var password by remember { mutableStateOf("") } var dialogPassword by remember { mutableStateOf("") }
Column { Column {
OutlinedTextField( OutlinedTextField(
label = { Text(text = "Username") }, label = { Text(text = "Username") },
textStyle = MaterialTheme.typography.bodySmall, textStyle = MaterialTheme.typography.bodySmall,
value = username, value = username,
onValueChange = { text -> onValueChange = { text ->
username = text dialogUsername = text
updateUsername(username) updateUsername(dialogUsername)
}); });
OutlinedTextField( OutlinedTextField(
label = { Text(text = "Password") }, label = { Text(text = "Password") },
textStyle = MaterialTheme.typography.bodySmall, textStyle = MaterialTheme.typography.bodySmall,
value = password, value = password,
onValueChange = { text -> onValueChange = { text ->
password = text dialogPassword = text
updatePassword(password) updatePassword(dialogPassword)
} }
) )