File tree Expand file tree Collapse file tree 8 files changed +53
-4
lines changed
core/ui-navigation/src/main/java/com/plottwist/core/ui/navigation
home/src/main/java/com/plottwist/feature/home
login/src/main/java/com/plottwist/feature/login
src/main/java/com/plottwist/feature/main/ui/component Expand file tree Collapse file tree 8 files changed +53
-4
lines changed Original file line number Diff line number Diff line change @@ -7,4 +7,7 @@ sealed interface Route {
77
88 @Serializable
99 data object Home : Route
10+
11+ @Serializable
12+ data object Login : Route
1013}
Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ import org.orbitmvi.orbit.compose.collectSideEffect
1515
1616@Composable
1717fun HomeScreen (
18+ navigateToLoginScreen : () -> Unit ,
1819 modifier : Modifier = Modifier ,
1920 viewModel : HomeViewModel = hiltViewModel()
2021) {
@@ -23,7 +24,7 @@ fun HomeScreen(
2324 viewModel.collectSideEffect { sideEffect ->
2425 when (sideEffect) {
2526 HomeSideEffect .NavigateToLoginScreen -> {
26-
27+ navigateToLoginScreen()
2728 }
2829 }
2930 }
Original file line number Diff line number Diff line change @@ -5,8 +5,12 @@ import androidx.navigation.compose.composable
55import com.plottwist.core.ui.navigation.Route
66import com.plottwist.feature.home.HomeScreen
77
8- fun NavGraphBuilder.homeNavGraph () {
8+ fun NavGraphBuilder.homeNavGraph (
9+ navigateToLoginScreen : () -> Unit ,
10+ ) {
911 composable<Route .Home > {
10- HomeScreen ()
12+ HomeScreen (
13+ navigateToLoginScreen = navigateToLoginScreen
14+ )
1115 }
1216}
Original file line number Diff line number Diff line change 1+ package com.plottwist.feature.login
2+
3+ import androidx.compose.material3.Text
4+ import androidx.compose.runtime.Composable
5+ import androidx.compose.ui.Modifier
6+
7+ @Composable
8+ fun LoginScreen (
9+ modifier : Modifier = Modifier
10+ ) {
11+ Text (" 로그인 화면" )
12+ }
Original file line number Diff line number Diff line change 1+ package com.plottwist.feature.login.navigation
2+
3+ import androidx.navigation.NavController
4+ import androidx.navigation.NavGraphBuilder
5+ import androidx.navigation.NavOptions
6+ import androidx.navigation.compose.composable
7+ import com.plottwist.core.ui.navigation.Route
8+ import com.plottwist.feature.login.LoginScreen
9+
10+
11+ fun NavController.navigateToLogin (
12+ navOptions : NavOptions ? = null
13+ ) {
14+ this .navigate(route = Route .Login , navOptions = navOptions)
15+ }
16+
17+ fun NavGraphBuilder.loginNavGraph () {
18+ composable<Route .Login > {
19+ LoginScreen ()
20+ }
21+ }
Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ android {
99
1010dependencies {
1111 implementation(project(" :feature:home" ))
12+ implementation(project(" :feature:login" ))
1213 testImplementation(libs.junit)
1314 androidTestImplementation(libs.androidx.test.ext.junit)
1415 androidTestImplementation(libs.espresso.core)
Original file line number Diff line number Diff line change @@ -7,6 +7,8 @@ import androidx.navigation.compose.NavHost
77import androidx.navigation.compose.rememberNavController
88import com.plottwist.core.ui.navigation.Route
99import com.plottwist.feature.home.navigation.homeNavGraph
10+ import com.plottwist.feature.login.navigation.loginNavGraph
11+ import com.plottwist.feature.login.navigation.navigateToLogin
1012
1113@Composable
1214fun TukNavHost (
@@ -18,6 +20,11 @@ fun TukNavHost(
1820 navController = navController,
1921 startDestination = Route .Home
2022 ) {
21- homeNavGraph()
23+ homeNavGraph(
24+ navigateToLoginScreen = {
25+ navController.navigateToLogin()
26+ }
27+ )
28+ loginNavGraph()
2229 }
2330}
You can’t perform that action at this time.
0 commit comments