Fixed crash on clicking "show password" button & made it a single line

Fixes #107
This commit is contained in:
Abdelilah El Aissaoui 2023-05-09 18:27:49 +02:00
parent 38ea740f7a
commit 776a76332b
No known key found for this signature in database
GPG Key ID: 7587FC860F594869

View File

@ -14,7 +14,6 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusProperties import androidx.compose.ui.focus.focusProperties
import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.focus.focusRequester
import androidx.compose.ui.focus.onFocusChanged
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.input.key.onPreviewKeyEvent import androidx.compose.ui.input.key.onPreviewKeyEvent
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
@ -100,6 +99,7 @@ fun PasswordDialog(
}, },
value = passwordField, value = passwordField,
maxLines = 1, maxLines = 1,
singleLine = true,
colors = outlinedTextFieldColors(), colors = outlinedTextFieldColors(),
onValueChange = { onValueChange = {
passwordField = it passwordField = it
@ -114,14 +114,11 @@ fun PasswordDialog(
} }
IconButton( IconButton(
onClick = { showPassword = !showPassword }, onClick = {
modifier = Modifier.handOnHover() showPassword = !showPassword
.onFocusChanged { focusState ->
if (focusState.isFocused) {
// return focus to field instead so the user can continue typing without having to click on the field again
passwordFieldFocusRequester.requestFocus() passwordFieldFocusRequester.requestFocus()
}
}, },
modifier = Modifier.handOnHover(),
) { ) {
Icon( Icon(
painterResource(visibilityIcon), painterResource(visibilityIcon),