NavGraphTV.kt 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package com.vpn.fastestvpnservice.navigation
  2. import androidx.activity.ComponentActivity
  3. import androidx.compose.animation.AnimatedContentTransitionScope
  4. import androidx.compose.animation.EnterTransition
  5. import androidx.compose.animation.ExitTransition
  6. import androidx.compose.animation.core.tween
  7. import androidx.compose.animation.fadeIn
  8. import androidx.compose.animation.fadeOut
  9. import androidx.compose.runtime.Composable
  10. import androidx.navigation.NavBackStackEntry
  11. import androidx.navigation.NavHostController
  12. import androidx.navigation.compose.NavHost
  13. import androidx.navigation.compose.composable
  14. import com.vpn.fastestvpnservice.screens.Splash
  15. import com.vpn.fastestvpnservice.screens.helpScreensAll.TermsAndConditions
  16. import com.vpn.fastestvpnservice.screensTV.BottomBarMainScreenTV
  17. import com.vpn.fastestvpnservice.screensTV.HomeTV
  18. import com.vpn.fastestvpnservice.screensTV.LoginTV
  19. import com.vpn.fastestvpnservice.screensTV.SplashTV
  20. import com.vpn.fastestvpnservice.sealedClass.ScreenTV
  21. @Composable
  22. fun SetUpNavGraphTV(navHostController: NavHostController, activity: ComponentActivity) {
  23. val noEnterTransition : AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition = {
  24. fadeIn(
  25. animationSpec = tween(durationMillis = 0),
  26. initialAlpha = 1f
  27. )
  28. }
  29. val noExitTransition : AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition = {
  30. fadeOut(
  31. animationSpec = tween(durationMillis = 0),
  32. targetAlpha = 1f
  33. )
  34. }
  35. NavHost(
  36. navController = navHostController,
  37. startDestination = ScreenTV.SplashTV.route,
  38. enterTransition = noEnterTransition,
  39. exitTransition = noExitTransition
  40. ) {
  41. composable(route = ScreenTV.SplashTV.route) {
  42. SplashTV(navHostController = navHostController)
  43. }
  44. composable(route = ScreenTV.LoginTV.route) {
  45. LoginTV(navHostController = navHostController)
  46. }
  47. // composable(route = ScreenTV.HomeTV.route) {
  48. // HomeTV(navHostController = navHostController)
  49. // }
  50. composable(route = ScreenTV.BottomBarTV.route) {
  51. CustomBottomBarTV(navHostController = navHostController, activity)
  52. }
  53. }
  54. }