SignUpNavigation.kt 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package com.fastest.pass.signup.utils
  2. import androidx.lifecycle.lifecycleScope
  3. import androidx.navigation.fragment.findNavController
  4. import androidx.navigation.navOptions
  5. import com.fastest.pass.R
  6. import com.fastest.pass.signup.presentation.ui.SignUpFragment
  7. class SignUpNavigation {
  8. fun navigate(signUpFragment: SignUpFragment) {
  9. signUpFragment.lifecycleScope.launchWhenStarted {
  10. signUpFragment.viewmodel.router.collect { router ->
  11. when (router) {
  12. SignUpRoute.GoBack -> {
  13. signUpFragment.findNavController().popBackStack()
  14. }
  15. SignUpRoute.OpenNoneScreen -> {}
  16. SignUpRoute.OpenMasterSignupScreen -> {
  17. signUpFragment.findNavController().navigate(R.id.masterSignupFragment)
  18. }
  19. SignUpRoute.OpenLoginScreen -> {
  20. signUpFragment.findNavController().navigate(R.id.loginFragment)
  21. }
  22. SignUpRoute.OpenDashBoardScreen -> {
  23. signUpFragment.findNavController().navigate(
  24. R.id.dashboardFragment,
  25. null,
  26. navOptions {
  27. popUpTo(signUpFragment.findNavController().graph.id) {
  28. inclusive = true
  29. }
  30. launchSingleTop = true
  31. }
  32. )
  33. }
  34. }
  35. signUpFragment.viewmodel.navigateTo(SignUpRoute.OpenNoneScreen)
  36. }
  37. }
  38. }
  39. }