@@ -23,15 +23,14 @@ import androidx.compose.runtime.Composable
23
23
import androidx.compose.ui.platform.LocalContext
24
24
import androidx.core.app.ShareCompat
25
25
import androidx.navigation.NavHostController
26
- import androidx.navigation.NavType
27
26
import androidx.navigation.compose.NavHost
28
27
import androidx.navigation.compose.composable
29
28
import androidx.navigation.compose.rememberNavController
30
- import androidx.navigation.navArgument
31
29
import com.google.samples.apps.sunflower.R
32
30
import com.google.samples.apps.sunflower.compose.gallery.GalleryScreen
33
31
import com.google.samples.apps.sunflower.compose.home.HomeScreen
34
32
import com.google.samples.apps.sunflower.compose.plantdetail.PlantDetailsScreen
33
+ import com.google.samples.apps.sunflower.utilities.Screen
35
34
36
35
@Composable
37
36
fun SunflowerApp () {
@@ -46,35 +45,39 @@ fun SunFlowerNavHost(
46
45
navController : NavHostController
47
46
) {
48
47
val activity = (LocalContext .current as Activity )
49
- NavHost (navController = navController, startDestination = " home " ) {
50
- composable(" home " ) {
48
+ NavHost (navController = navController, startDestination = Screen . Home .route ) {
49
+ composable(route = Screen . Home .route ) {
51
50
HomeScreen (
52
51
onPlantClick = {
53
- navController.navigate(" plantDetail/${it.plantId} " )
52
+ navController.navigate(
53
+ Screen .PlantDetail .passPlantId(
54
+ plantId = it.plantId
55
+ )
56
+ )
54
57
}
55
58
)
56
59
}
57
60
composable(
58
- " plantDetail/{plantId}" ,
59
- arguments = listOf (navArgument(" plantId" ) {
60
- type = NavType .StringType
61
- })
61
+ route = Screen .PlantDetail .route,
62
+ arguments = Screen .PlantDetail .arguments
62
63
) {
63
64
PlantDetailsScreen (
64
65
onBackClick = { navController.navigateUp() },
65
66
onShareClick = {
66
67
createShareIntent(activity, it)
67
68
},
68
69
onGalleryClick = {
69
- navController.navigate(" gallery/${it.name} " )
70
+ navController.navigate(
71
+ Screen .Gallery .passPlantName(
72
+ plantName = it.name
73
+ )
74
+ )
70
75
}
71
76
)
72
77
}
73
78
composable(
74
- " gallery/{plantName}" ,
75
- arguments = listOf (navArgument(" plantName" ) {
76
- type = NavType .StringType
77
- })
79
+ route = Screen .Gallery .route,
80
+ arguments = Screen .Gallery .arguments
78
81
) {
79
82
GalleryScreen (
80
83
onPhotoClick = {
0 commit comments