mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2025-09-21 07:11:41 +02:00
Merge pull request #329 from greenart7c3/main
Add qrCode scanner to the login page
This commit is contained in:
@@ -36,6 +36,7 @@ import androidx.compose.ui.text.style.TextDecoration
|
|||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import com.vitorpamplona.amethyst.R
|
import com.vitorpamplona.amethyst.R
|
||||||
|
import com.vitorpamplona.amethyst.ui.qrcode.SimpleQrCodeScanner
|
||||||
import com.vitorpamplona.amethyst.ui.screen.AccountStateViewModel
|
import com.vitorpamplona.amethyst.ui.screen.AccountStateViewModel
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
@@ -51,6 +52,9 @@ fun LoginPage(
|
|||||||
var termsAcceptanceIsRequired by remember { mutableStateOf("") }
|
var termsAcceptanceIsRequired by remember { mutableStateOf("") }
|
||||||
val uri = LocalUriHandler.current
|
val uri = LocalUriHandler.current
|
||||||
val context = LocalContext.current
|
val context = LocalContext.current
|
||||||
|
var dialogOpen by remember {
|
||||||
|
mutableStateOf(false)
|
||||||
|
}
|
||||||
|
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
@@ -117,17 +121,35 @@ fun LoginPage(
|
|||||||
)
|
)
|
||||||
},
|
},
|
||||||
trailingIcon = {
|
trailingIcon = {
|
||||||
IconButton(onClick = { showPassword = !showPassword }) {
|
Row {
|
||||||
Icon(
|
IconButton(onClick = { showPassword = !showPassword }) {
|
||||||
imageVector = if (showPassword) Icons.Outlined.VisibilityOff else Icons.Outlined.Visibility,
|
Icon(
|
||||||
contentDescription = if (showPassword) {
|
imageVector = if (showPassword) Icons.Outlined.VisibilityOff else Icons.Outlined.Visibility,
|
||||||
stringResource(R.string.show_password)
|
contentDescription = if (showPassword) {
|
||||||
} else {
|
stringResource(R.string.show_password)
|
||||||
stringResource(
|
} else {
|
||||||
R.string.hide_password
|
stringResource(
|
||||||
)
|
R.string.hide_password
|
||||||
|
)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
if (dialogOpen) {
|
||||||
|
SimpleQrCodeScanner {
|
||||||
|
dialogOpen = false
|
||||||
|
if (!it.isNullOrEmpty()) {
|
||||||
|
key.value = TextFieldValue(it)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
)
|
}
|
||||||
|
IconButton(onClick = { dialogOpen = true }) {
|
||||||
|
Icon(
|
||||||
|
painter = painterResource(R.drawable.ic_qrcode),
|
||||||
|
null,
|
||||||
|
modifier = Modifier.size(24.dp),
|
||||||
|
tint = MaterialTheme.colors.primary
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
visualTransformation = if (showPassword) VisualTransformation.None else PasswordVisualTransformation(),
|
visualTransformation = if (showPassword) VisualTransformation.None else PasswordVisualTransformation(),
|
||||||
|
Reference in New Issue
Block a user