diff --git a/feature/auth/src/main/kotlin/org/mifospay/feature/auth/login/LoginScreen.kt b/feature/auth/src/main/kotlin/org/mifospay/feature/auth/login/LoginScreen.kt index 361691104..8084be8fa 100644 --- a/feature/auth/src/main/kotlin/org/mifospay/feature/auth/login/LoginScreen.kt +++ b/feature/auth/src/main/kotlin/org/mifospay/feature/auth/login/LoginScreen.kt @@ -60,6 +60,7 @@ internal fun LoginScreen( navigateToPasscodeScreen: () -> Unit, modifier: Modifier = Modifier, viewModel: LoginViewModel = hiltViewModel(), + navigateToSignupScreen: () -> Unit ) { val context = LocalContext.current val showProgress by viewModel.showProgress.collectAsStateWithLifecycle() @@ -77,6 +78,7 @@ internal fun LoginScreen( }, ) }, + navigateToSignupScreen = navigateToSignupScreen ) if (isLoginSuccess) { @@ -90,6 +92,7 @@ private fun LoginScreenContent( showProgress: Boolean, login: (username: String, password: String) -> Unit, modifier: Modifier = Modifier, + navigateToSignupScreen: () -> Unit ) { var showSignUpScreen by rememberSaveable { mutableStateOf(false) } @@ -106,7 +109,9 @@ private fun LoginScreenContent( var passwordVisibility: Boolean by remember { mutableStateOf(false) } if (showSignUpScreen) { - SocialSignupMethodContentScreen { + SocialSignupMethodContentScreen( + navigateToSignupScreen = navigateToSignupScreen + ) { showSignUpScreen = false } } @@ -240,6 +245,7 @@ private fun LoanScreenPreview() { LoginScreenContent( showProgress = false, login = { _, _ -> }, + navigateToSignupScreen = {} ) } } diff --git a/feature/auth/src/main/kotlin/org/mifospay/feature/auth/navigation/LoginScreenNavigation.kt b/feature/auth/src/main/kotlin/org/mifospay/feature/auth/navigation/LoginScreenNavigation.kt index 3bf537c10..511608bd2 100644 --- a/feature/auth/src/main/kotlin/org/mifospay/feature/auth/navigation/LoginScreenNavigation.kt +++ b/feature/auth/src/main/kotlin/org/mifospay/feature/auth/navigation/LoginScreenNavigation.kt @@ -18,9 +18,13 @@ const val LOGIN_ROUTE = "login_route" fun NavGraphBuilder.loginScreen( onNavigateToPasscodeScreen: () -> Unit, + onNavigateToSignupScreen: () -> Unit, ) { composable(route = LOGIN_ROUTE) { - LoginScreen(navigateToPasscodeScreen = onNavigateToPasscodeScreen) + LoginScreen( + navigateToPasscodeScreen = onNavigateToPasscodeScreen, + navigateToSignupScreen = onNavigateToSignupScreen + ) } } diff --git a/feature/auth/src/main/kotlin/org/mifospay/feature/auth/socialSignup/SocialSignupMethodScreen.kt b/feature/auth/src/main/kotlin/org/mifospay/feature/auth/socialSignup/SocialSignupMethodScreen.kt index 7337b5bfa..c5479b0aa 100644 --- a/feature/auth/src/main/kotlin/org/mifospay/feature/auth/socialSignup/SocialSignupMethodScreen.kt +++ b/feature/auth/src/main/kotlin/org/mifospay/feature/auth/socialSignup/SocialSignupMethodScreen.kt @@ -72,12 +72,14 @@ const val TAG = "Social Login" // Keeping until we fix sign up @Composable internal fun SocialSignupMethodContentScreen( + navigateToSignupScreen: () -> Unit = {}, modifier: Modifier = Modifier, onDismissSignUp: () -> Unit = {}, ) { SocialSignupMethodScreen( modifier = modifier, onDismissSignUp = onDismissSignUp, + navigateToSignupScreen = navigateToSignupScreen ) } @@ -86,6 +88,7 @@ internal fun SocialSignupMethodContentScreen( private fun SocialSignupMethodScreen( modifier: Modifier = Modifier, onDismissSignUp: () -> Unit = {}, + navigateToSignupScreen: () -> Unit = {}, ) { val context = LocalContext.current var mifosSavingProductId by remember { mutableIntStateOf(0) } @@ -185,6 +188,7 @@ private fun SocialSignupMethodScreen( mifosSavingProductId = MIFOS_CONSUMER_SAVINGS_PRODUCT_ID signUp(checkedGoogleAccount) }, + navigateToSignupScreen=navigateToSignupScreen ) }, onDismiss = { @@ -200,6 +204,7 @@ private fun SignupMethodContentScreen( onSignUpAsMerchant: (Boolean) -> Unit, onSignupAsCustomer: (Boolean) -> Unit, modifier: Modifier = Modifier, + navigateToSignupScreen: () -> Unit = {}, ) { var checkedGoogleAccountState by remember { mutableStateOf(true) } @@ -219,7 +224,11 @@ private fun SignupMethodContentScreen( MifosOutlinedButton( modifier = Modifier.padding(top = 48.dp), onClick = { - onSignUpAsMerchant.invoke(checkedGoogleAccountState) + if(checkedGoogleAccountState){ + onSignUpAsMerchant.invoke(checkedGoogleAccountState) + }else{ + navigateToSignupScreen.invoke() + } }, border = BorderStroke(1.dp, Color.LightGray), shape = RoundedCornerShape(4.dp), @@ -260,7 +269,11 @@ private fun SignupMethodContentScreen( MifosOutlinedButton( modifier = Modifier.padding(top = 24.dp), onClick = { - onSignupAsCustomer.invoke(checkedGoogleAccountState) + if(checkedGoogleAccountState){ + onSignupAsCustomer.invoke(checkedGoogleAccountState) + }else{ + navigateToSignupScreen.invoke() + } }, border = BorderStroke(1.dp, Color.LightGray), shape = RoundedCornerShape(4.dp), diff --git a/mifospay/src/main/java/org/mifospay/navigation/LoginNavGraph.kt b/mifospay/src/main/java/org/mifospay/navigation/LoginNavGraph.kt index 1d5fd017d..7c8622ca5 100644 --- a/mifospay/src/main/java/org/mifospay/navigation/LoginNavGraph.kt +++ b/mifospay/src/main/java/org/mifospay/navigation/LoginNavGraph.kt @@ -27,6 +27,7 @@ internal fun NavGraphBuilder.loginNavGraph(navController: NavController) { ) { loginScreen( onNavigateToPasscodeScreen = navController::navigateToPasscodeScreen, + onNavigateToSignupScreen = navController::navigateToSignup ) signupScreen(