From ba0d5fed7aa90cbff9ba539548081e9825689f6a Mon Sep 17 00:00:00 2001 From: akashmeruva9 Date: Sat, 29 Jun 2024 23:49:12 +0530 Subject: [PATCH] Refactor : Registration Screen from XML to Compose --- .../ui/registration/RegistrationScreen.kt | 77 ++++++++----------- 1 file changed, 32 insertions(+), 45 deletions(-) diff --git a/app/src/main/java/org/mifos/mobile/ui/registration/RegistrationScreen.kt b/app/src/main/java/org/mifos/mobile/ui/registration/RegistrationScreen.kt index 6b67eafa6..67ae2a168 100644 --- a/app/src/main/java/org/mifos/mobile/ui/registration/RegistrationScreen.kt +++ b/app/src/main/java/org/mifos/mobile/ui/registration/RegistrationScreen.kt @@ -89,32 +89,16 @@ fun RegistrationScreen( onVerified = onVerified, navigateBack = navigateBack, register = { account, username, firstname, lastname, phoneNumber, email, password, confirmPassword, authenticationMode, countryCode -> - - val error = areFieldsValidated( - context = context, - accountNumberContent = account, - usernameContent = username, - firstNameContent = firstname, - lastNameContent = lastname, - phoneNumberContent = phoneNumber, - emailContent = email, - passwordContent = password, - confirmPasswordContent = confirmPassword + viewModel.registerUser( + accountNumber = account, + authenticationMode = authenticationMode, + email = email, + firstName = firstname, + lastName = lastname, + mobileNumber = "$countryCode$phoneNumber", + password = password, + username = username ) - - if (error == "") { - viewModel.registerUser( - accountNumber = account, - authenticationMode = authenticationMode, - email = email, - firstName = firstname, - lastName = lastname, - mobileNumber = "$countryCode$phoneNumber", - password = password, - username = username - ) - } - error }, progress = { updatePasswordStrengthView(it, context) } ) @@ -126,7 +110,7 @@ fun RegistrationScreen( uiState: RegistrationUiState, onVerified: () -> Unit, navigateBack: () -> Unit, - register: (accountNumber: String, username: String, firstName: String, lastName: String, phoneNumber: String, email: String, password: String, confirmPassword: String, authMode: String, countryCode: String) -> String, + register: (accountNumber: String, username: String, firstName: String, lastName: String, phoneNumber: String, email: String, password: String, confirmPassword: String, authMode: String, countryCode: String) -> Unit, progress: (String) -> Float ) { val context = LocalContext.current @@ -174,10 +158,12 @@ fun RegistrationScreen( @Composable fun RegistrationContent( - register: (accountNumber: String, username: String, firstName: String, lastName: String, phoneNumber: String, email: String, password: String, confirmPassword: String, authMode: String, countryCode: String) -> String, + register: (accountNumber: String, username: String, firstName: String, lastName: String, phoneNumber: String, email: String, password: String, confirmPassword: String, authMode: String, countryCode: String) -> Unit, progress: (String) -> Float, snackBarHostState: SnackbarHostState, ) { + val context = LocalContext.current + val keyboardController = LocalSoftwareKeyboardController.current var accountNumber by rememberSaveable(stateSaver = TextFieldValue.Saver) { @@ -371,19 +357,20 @@ fun RegistrationContent( Button( onClick = { - val error = register.invoke( - accountNumber.text, - username.text, - firstName.text, - lastName.text, - phoneNumber.text, - email.text, - password.text, - confirmPassword.text, - authenticationMode, - countryCode + val error = areFieldsValidated( + context = context, + accountNumberContent = accountNumber.text, + usernameContent = username.text, + firstNameContent = firstName.text, + lastNameContent = lastName.text, + phoneNumberContent = phoneNumber.text, + emailContent = email.text, + passwordContent = password.text, + confirmPasswordContent = confirmPassword.text, ) - if (error != "") { + if (error == "") { + + }else { coroutineScope.launch { snackBarHostState.showSnackbar( message = error, @@ -559,12 +546,12 @@ fun updatePasswordStrengthView(password: String, context: Context): Float { class RegistrationScreenPreviewProvider : PreviewParameterProvider { override val values: Sequence - get() = sequenceOf( - RegistrationUiState.Loading, - RegistrationUiState.Error(1), - RegistrationUiState.Success, - RegistrationUiState.Initial, - ) + get() = sequenceOf( + RegistrationUiState.Loading, + RegistrationUiState.Error(1), + RegistrationUiState.Success, + RegistrationUiState.Initial, + ) } @Preview(showSystemUi = true, uiMode = Configuration.UI_MODE_NIGHT_YES)