package com.example.cakeapp.navigation import androidx.compose.runtime.Composable import androidx.navigation.NavHostController import androidx.navigation.NavType import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.navArgument import com.example.cakeapp.screens.MenuScreen import com.example.cakeapp.screens.OrderScreen object Routes { const val MENU = "menu" const val ORDER = "order/{cakeId}" fun orderRoute(cakeId: Int) = "order/$cakeId" } @Composable fun CakeNavGraph(navController: NavHostController) { NavHost( navController = navController, startDestination = Routes.MENU ) { composable(Routes.MENU) { MenuScreen( onCakeSelected = { cakeId -> navController.navigate(Routes.orderRoute(cakeId)) } ) } composable( route = Routes.ORDER, arguments = listOf( navArgument("cakeId") { type = NavType.IntType } ) ) { backStackEntry -> val cakeId = backStackEntry.arguments?.getInt("cakeId") ?: 1 OrderScreen( cakeId = cakeId, onBackToMenu = { navController.popBackStack() } ) } } }