@@ -11,6 +11,8 @@ import com.threegap.bitnagil.presentation.emotion.EmotionScreenContainer
1111import com.threegap.bitnagil.presentation.intro.IntroScreenContainer
1212import com.threegap.bitnagil.presentation.login.LoginScreenContainer
1313import com.threegap.bitnagil.presentation.onboarding.OnBoardingScreenContainer
14+ import com.threegap.bitnagil.presentation.onboarding.OnBoardingViewModel
15+ import com.threegap.bitnagil.presentation.onboarding.model.navarg.OnBoardingScreenArg
1416import com.threegap.bitnagil.presentation.setting.SettingScreenContainer
1517import com.threegap.bitnagil.presentation.splash.SplashScreenContainer
1618import com.threegap.bitnagil.presentation.terms.TermsAgreementScreenContainer
@@ -80,7 +82,7 @@ fun MainNavHost(
8082 )
8183 },
8284 navigateToOnBoarding = {
83- navigator.navController.navigate(Route .OnBoarding )
85+ navigator.navController.navigate(Route .OnBoarding () )
8486 },
8587 navigateToBack = { navigator.navController.popBackStack() },
8688 )
@@ -92,7 +94,7 @@ fun MainNavHost(
9294 navigator.navController.navigate(Route .Setting )
9395 },
9496 navigateToOnBoarding = {
95- navigator.navController.navigate(Route .OnBoarding )
97+ navigator.navController.navigate(Route .OnBoarding (isNew = false ) )
9698 },
9799 navigateToNotice = {
98100 },
@@ -150,8 +152,20 @@ fun MainNavHost(
150152 )
151153 }
152154
153- composable<Route .OnBoarding > {
155+ composable<Route .OnBoarding > { navBackStackEntry ->
156+ val arg = navBackStackEntry.toRoute<Route .OnBoarding >()
157+ val onBoardingScreenArg = if (arg.isNew) {
158+ OnBoardingScreenArg .NEW
159+ } else {
160+ OnBoardingScreenArg .RESET
161+ }
162+
163+ val viewModel = hiltViewModel<OnBoardingViewModel , OnBoardingViewModel .Factory > { factory ->
164+ factory.create(onBoardingScreenArg)
165+ }
166+
154167 OnBoardingScreenContainer (
168+ onBoardingViewModel = viewModel,
155169 navigateToHome = {
156170 navigator.navController.navigate(Route .Home ) {
157171 popUpTo(navigator.navController.graph.startDestinationId) {
0 commit comments