@@ -8,15 +8,17 @@ import androidx.navigation.compose.composable
88import androidx.navigation.toRoute
99import com.threegap.bitnagil.navigation.home.HomeNavHost
1010import com.threegap.bitnagil.presentation.emotion.EmotionScreenContainer
11- import com.threegap.bitnagil.presentation.intro.IntroScreenContainer
11+ import com.threegap.bitnagil.presentation.guide.GuideScreenContainer
1212import com.threegap.bitnagil.presentation.login.LoginScreenContainer
1313import com.threegap.bitnagil.presentation.onboarding.OnBoardingScreenContainer
1414import com.threegap.bitnagil.presentation.onboarding.OnBoardingViewModel
1515import com.threegap.bitnagil.presentation.onboarding.model.navarg.OnBoardingScreenArg
16+ import com.threegap.bitnagil.presentation.routinelist.RoutineListScreenContainer
1617import com.threegap.bitnagil.presentation.setting.SettingScreenContainer
1718import com.threegap.bitnagil.presentation.splash.SplashScreenContainer
1819import com.threegap.bitnagil.presentation.terms.TermsAgreementScreenContainer
1920import com.threegap.bitnagil.presentation.webview.BitnagilWebViewScreen
21+ import com.threegap.bitnagil.presentation.withdrawal.WithdrawalScreenContainer
2022import com.threegap.bitnagil.presentation.writeroutine.WriteRoutineScreenContainer
2123import com.threegap.bitnagil.presentation.writeroutine.WriteRoutineViewModel
2224import com.threegap.bitnagil.presentation.writeroutine.model.navarg.WriteRoutineScreenArg
@@ -33,8 +35,8 @@ fun MainNavHost(
3335 ) {
3436 composable<Route .Splash > {
3537 SplashScreenContainer (
36- navigateToIntro = {
37- navigator.navController.navigate(Route .Intro ) {
38+ navigateToLogin = {
39+ navigator.navController.navigate(Route .Login ) {
3840 popUpTo<Route .Splash > { inclusive = true }
3941 }
4042 },
@@ -52,12 +54,6 @@ fun MainNavHost(
5254 )
5355 }
5456
55- composable<Route .Intro > {
56- IntroScreenContainer (
57- navigateToLogin = { navigator.navController.navigate(Route .Login ) },
58- )
59- }
60-
6157 composable<Route .Login > {
6258 LoginScreenContainer (
6359 navigateToHome = navigator::navigateToHomeAndClearStack,
@@ -84,7 +80,9 @@ fun MainNavHost(
8480 )
8581 },
8682 navigateToOnBoarding = {
87- navigator.navController.navigate(Route .OnBoarding ())
83+ navigator.navController.navigate(Route .OnBoarding ()) {
84+ popUpTo(0 ) { inclusive = true }
85+ }
8886 },
8987 navigateToBack = {
9088 if (navigator.navController.previousBackStackEntry != null ) {
@@ -118,15 +116,24 @@ fun MainNavHost(
118116 ),
119117 )
120118 },
119+ navigateToGuide = {
120+ navigator.navController.navigate(Route .Guide ) {
121+ launchSingleTop = true
122+ }
123+ },
121124 navigateToRegisterRoutine = { routineId ->
122125 navigator.navController.navigate(Route .WriteRoutine (routineId = routineId))
123126 },
124- navigateToEditRoutine = { routineId ->
125- navigator.navController.navigate(Route .WriteRoutine (routineId = routineId, isRegister = false ))
126- },
127127 navigateToEmotion = {
128128 navigator.navController.navigate(Route .Emotion )
129129 },
130+ navigateToRoutineList = { selectedDate ->
131+ navigator.navController.navigate(
132+ Route .RoutineList (selectedDate = selectedDate),
133+ ) {
134+ launchSingleTop = true
135+ }
136+ },
130137 )
131138 }
132139
@@ -166,13 +173,16 @@ fun MainNavHost(
166173 ),
167174 )
168175 },
169- navigateToIntro = {
170- navigator.navController.navigate(Route .Intro ) {
176+ navigateToLogin = {
177+ navigator.navController.navigate(Route .Login ) {
171178 popUpTo(0 ) {
172179 inclusive = true
173180 }
174181 }
175182 },
183+ navigateToWithdrawal = {
184+ navigator.navController.navigate(Route .Withdrawal )
185+ },
176186 )
177187 }
178188
@@ -204,7 +214,7 @@ fun MainNavHost(
204214 val writeScreenNavArg = if (arg.isRegister) {
205215 WriteRoutineScreenArg .Add (baseRoutineId = arg.routineId)
206216 } else {
207- WriteRoutineScreenArg .Edit (routineId = arg.routineId!! )
217+ WriteRoutineScreenArg .Edit (routineId = arg.routineId!! , updateRoutineFromNowDate = arg.isUpdateRoutineFromNowDate )
208218 }
209219
210220 val viewModel = hiltViewModel<WriteRoutineViewModel , WriteRoutineViewModel .Factory > { factory ->
@@ -230,5 +240,54 @@ fun MainNavHost(
230240 },
231241 )
232242 }
243+
244+ composable<Route .Withdrawal > {
245+ WithdrawalScreenContainer (
246+ navigateToBack = {
247+ if (navigator.navController.previousBackStackEntry != null ) {
248+ navigator.navController.popBackStack()
249+ }
250+ },
251+ navigateToLogin = {
252+ navigator.navController.navigate(Route .Login ) {
253+ popUpTo(0 ) {
254+ inclusive = true
255+ }
256+ }
257+ },
258+ )
259+ }
260+
261+ composable<Route .RoutineList > {
262+ RoutineListScreenContainer (
263+ navigateToBack = {
264+ if (navigator.navController.previousBackStackEntry != null ) {
265+ navigator.navController.popBackStack()
266+ }
267+ },
268+ navigateToAddRoutine = {
269+ navigator.navController.navigate(Route .WriteRoutine ())
270+ },
271+ navigateToEditRoutine = { routineId, updateRoutineFromNowDate ->
272+ navigator.navController.navigate(
273+ Route .WriteRoutine (
274+ routineId = routineId,
275+ isRegister = false ,
276+ isUpdateRoutineFromNowDate = updateRoutineFromNowDate,
277+ ),
278+ )
279+ },
280+ )
281+ }
282+
283+ composable<Route .Guide > {
284+ GuideScreenContainer (
285+ navigateToBack = {
286+ if (navigator.navController.previousBackStackEntry != null ) {
287+ navigator.navController.popBackStack()
288+ }
289+ },
290+ )
291+ }
233292 }
234293}
0 commit comments