Yusuf Ibragimov
12/28/2023, 11:47 AMYusuf Ibragimov
12/28/2023, 11:48 AM@Composable
fun CreatePasscodeScreen(viewModel: CreatePasscodeVM = hiltViewModel()) {
val uiState = viewModel.uiState.collectAsStateWithLifecycle()
LaunchedEffect(uiState.value.enteredPasscode) {
if (uiState.value.enteredPasscode.length == 4) {
viewModel.check()
}
}
Scaffold(
modifier = Modifier.fillMaxSize(),
snackbarHost = {
if (uiState.value.errorMessage.isNotEmpty()) {
Box(
modifier = Modifier
.padding(horizontal = 16.dp)
.clip(RoundedCornerShape(8.dp))
.fillMaxWidth()
) {
Text(
uiState.value.errorMessage,
style = DavrTheme.typography.h1Medium,
fontSize = 16.sp
)
}
}
}
) {
PasscodeContent(
modifier = Modifier.padding(it),
titleResId = uiState.value.titleResId,
numberClick = viewModel::numberClick,
fingerClick = viewModel::fingerClick,
delete = viewModel::delete,
forgotClick = viewModel::forgotClick,
error = uiState.value.error,
enteredPasscode = uiState.value.enteredPasscode
)
}
}
Yusuf Ibragimov
12/28/2023, 11:48 AM