Skip to content

Commit 88da429

Browse files
author
eshc123
committed
FEAT: HomeScreen에서 LoginScreen 이동 구현
1 parent 7809a1d commit 88da429

File tree

8 files changed

+53
-4
lines changed

8 files changed

+53
-4
lines changed

core/ui-navigation/src/main/java/com/plottwist/core/ui/navigation/Route.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff 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
}

feature/home/src/main/java/com/plottwist/feature/home/HomeScreen.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import org.orbitmvi.orbit.compose.collectSideEffect
1515

1616
@Composable
1717
fun 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
}

feature/home/src/main/java/com/plottwist/feature/home/navigation/HomeNavigation.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,12 @@ import androidx.navigation.compose.composable
55
import com.plottwist.core.ui.navigation.Route
66
import 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
}

feature/login/src/main/java/com/plottwist/feature/login/.gitkeep

Whitespace-only changes.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
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+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
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+
}

feature/main/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ android {
99

1010
dependencies {
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)

feature/main/src/main/java/com/plottwist/feature/main/ui/component/TukNavHost.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import androidx.navigation.compose.NavHost
77
import androidx.navigation.compose.rememberNavController
88
import com.plottwist.core.ui.navigation.Route
99
import 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
1214
fun 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
}

0 commit comments

Comments
 (0)