From d5a7257a0beec26bc577445b765a06ef1c3d5997 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=86=A1=ED=98=84=EC=84=9C?= Date: Wed, 28 Feb 2024 21:15:53 +0900 Subject: [PATCH] :sparkles: :: Connect the find password --- .../main/java/com/msg/dotori/DotoriNavHost.kt | 16 ++++++++-- .../navigation/FindPasswordNavigation.kt | 30 +++++++++++++++++-- .../presentation/view/login/LoginScreen.kt | 8 +++-- .../view/login/navigation/LoginNavigation.kt | 6 ++-- 4 files changed, 51 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/msg/dotori/DotoriNavHost.kt b/app/src/main/java/com/msg/dotori/DotoriNavHost.kt index 440b1ea9..170e3cf1 100644 --- a/app/src/main/java/com/msg/dotori/DotoriNavHost.kt +++ b/app/src/main/java/com/msg/dotori/DotoriNavHost.kt @@ -5,6 +5,9 @@ import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner import androidx.navigation.NavHostController import androidx.navigation.compose.NavHost import com.msg.presentation.view.find_password.navigation.findPasswordScreen +import com.msg.presentation.view.find_password.navigation.navigateToFindPassword +import com.msg.presentation.view.find_password.navigation.navigateToPasswordAuthentication +import com.msg.presentation.view.find_password.navigation.passwordAuthenticationScreen import com.msg.presentation.view.home.navigation.mainScreen import com.msg.presentation.view.home.navigation.navigateToMain import com.msg.presentation.view.login.navigation.loginScreen @@ -39,7 +42,8 @@ fun DotoriNavHost( ) { loginScreen( navigateToMain = { navController.navigateToMain() }, - navigateToSignUp = { navController.navigateToSignUp() } + navigateToSignUp = { navController.navigateToSignUp() }, + navigateToFindPassword = { navController.navigateToPasswordAuthentication() } ) signUpScreen( viewModelStoreOwner = viewModelStoreOwner, @@ -58,7 +62,15 @@ fun DotoriNavHost( navigateToBack = { navController.popBackStack() }, navigateToLogin = { navController.navigateToLogin() } ) - findPasswordScreen() + passwordAuthenticationScreen( + navigateToBack = { navController.popBackStack() }, + navigateToLogin = { navController.navigateToLogin() }, + navigateToFindPassword = { navController.navigateToFindPassword() } + ) + findPasswordScreen( + navigateToBack = { navController.popBackStack() }, + navigateToLogin = { navController.navigateToLogin() } + ) massageChairScreen() selfStudyScreen() musicScreen() diff --git a/presentation/src/main/java/com/msg/presentation/view/find_password/navigation/FindPasswordNavigation.kt b/presentation/src/main/java/com/msg/presentation/view/find_password/navigation/FindPasswordNavigation.kt index 2cab9853..2291bd0d 100644 --- a/presentation/src/main/java/com/msg/presentation/view/find_password/navigation/FindPasswordNavigation.kt +++ b/presentation/src/main/java/com/msg/presentation/view/find_password/navigation/FindPasswordNavigation.kt @@ -4,15 +4,41 @@ import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.compose.composable import com.msg.presentation.view.find_password.FindPasswordScreen +import com.msg.presentation.view.find_password.PasswordAuthenticationScreen +const val passwordAuthenticationRoute = "password_authentication_route" const val findPasswordRoute = "find_password_route" +fun NavController.navigateToPasswordAuthentication() { + this.navigate(passwordAuthenticationRoute) +} + +fun NavGraphBuilder.passwordAuthenticationScreen( + navigateToBack: () -> Unit, + navigateToLogin: () -> Unit, + navigateToFindPassword: () -> Unit +) { + composable(passwordAuthenticationRoute) { + PasswordAuthenticationScreen( + navigateToBack = navigateToBack, + navigateToLogin = navigateToLogin, + navigateToFindPassword = navigateToFindPassword + ) + } +} + fun NavController.navigateToFindPassword() { this.navigate(findPasswordRoute) } -fun NavGraphBuilder.findPasswordScreen() { +fun NavGraphBuilder.findPasswordScreen( + navigateToBack: () -> Unit, + navigateToLogin: () -> Unit +) { composable(findPasswordRoute) { - FindPasswordScreen() + FindPasswordScreen( + navigateToBack = navigateToBack, + navigateToLogin = navigateToLogin + ) } } \ No newline at end of file diff --git a/presentation/src/main/java/com/msg/presentation/view/login/LoginScreen.kt b/presentation/src/main/java/com/msg/presentation/view/login/LoginScreen.kt index 88948854..d15946f1 100644 --- a/presentation/src/main/java/com/msg/presentation/view/login/LoginScreen.kt +++ b/presentation/src/main/java/com/msg/presentation/view/login/LoginScreen.kt @@ -49,7 +49,8 @@ fun LoginScreen( modifier: Modifier = Modifier, loginViewModel: LoginViewModel = hiltViewModel(), navigateToMain: () -> Unit, - navigateToSignUp: () -> Unit + navigateToSignUp: () -> Unit, + navigateToFindPassword: () -> Unit ) { val context = LocalContext.current var idText by remember { mutableStateOf("") } @@ -138,7 +139,7 @@ fun LoginScreen( .clickable( interactionSource = remember { MutableInteractionSource() }, indication = null - ) {}, + ) { navigateToFindPassword() }, text = "비밀번호 찾기", style = DotoriTheme.typography.body2, color = DotoriTheme.colors.neutral20, @@ -191,6 +192,7 @@ fun LoginScreen( @Composable fun LoginScreenPreview() { LoginScreen( - navigateToMain = {} + navigateToMain = {}, + navigateToSignUp = {} ) {} } \ No newline at end of file diff --git a/presentation/src/main/java/com/msg/presentation/view/login/navigation/LoginNavigation.kt b/presentation/src/main/java/com/msg/presentation/view/login/navigation/LoginNavigation.kt index 5dfd119e..27443f61 100644 --- a/presentation/src/main/java/com/msg/presentation/view/login/navigation/LoginNavigation.kt +++ b/presentation/src/main/java/com/msg/presentation/view/login/navigation/LoginNavigation.kt @@ -13,12 +13,14 @@ fun NavController.navigateToLogin() { fun NavGraphBuilder.loginScreen( navigateToMain: () -> Unit, - navigateToSignUp: () -> Unit + navigateToSignUp: () -> Unit, + navigateToFindPassword: () -> Unit ) { composable(loginRoute) { LoginScreen( navigateToMain = navigateToMain, - navigateToSignUp = navigateToSignUp + navigateToSignUp = navigateToSignUp, + navigateToFindPassword = navigateToFindPassword ) } }