1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package com.fastest.pass.login.utils
- import androidx.lifecycle.lifecycleScope
- import androidx.navigation.fragment.findNavController
- import androidx.navigation.navOptions
- import com.fastest.pass.R
- import com.fastest.pass.login.presentation.ui.LoginFragment
- import kotlin.math.log
- class LoginNavigation {
- fun navigate(loginFragment: LoginFragment) {
- loginFragment.lifecycleScope.launchWhenStarted {
- loginFragment.viewmodel.router.collect { router ->
- when (router) {
- LoginRoute.OpenSignUp -> {
- loginFragment.findNavController().navigate(R.id.signupFragment)
- }
- LoginRoute.OpenForgotPassword -> {
- loginFragment.findNavController().navigate(R.id.forgotPasswordFragment)
- }
- LoginRoute.OpenNoneScreen -> {}
- LoginRoute.GoBack -> {
- loginFragment.findNavController().popBackStack()
- }
- LoginRoute.OpenMasterLoginScreen -> {
- loginFragment.findNavController().navigate(R.id.masterLoginFragment)
- }
- LoginRoute.OpenDashBoardScreen -> {
- loginFragment.findNavController().navigate(
- R.id.dashboardFragment,
- null,
- navOptions {
- popUpTo(loginFragment.findNavController().graph.id) {
- inclusive = true
- }
- launchSingleTop = true
- }
- )
- }
- }
- loginFragment.viewmodel.navigateTo(LoginRoute.OpenNoneScreen)
- }
- }
- }
- }
|