Skip to content

Instantly share code, notes, and snippets.

@OliverVicente
Created March 19, 2025 14:57
Show Gist options
  • Select an option

  • Save OliverVicente/ce39532a561852dd2e527e57f019612f to your computer and use it in GitHub Desktop.

Select an option

Save OliverVicente/ce39532a561852dd2e527e57f019612f to your computer and use it in GitHub Desktop.
Old version navigation graph
import androidx.compose.runtime.Composable
import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import com.example.obook.ui.screen.book.detail.BookDetailScreen
import com.example.obook.ui.screen.book.search.BookSearchScreen
import com.example.obook.ui.screen.payment.PaymentScreen
import com.example.obook.ui.screen.shoppingcart.ShoppingCartScreen
import com.example.obook.ui.screen.user.UserProfileScreen
@Composable
internal fun NavigationGraph(
navController: NavHostController
) {
NavHost(navController = navController, startDestination = NavigationRoutes.BOOK_SEARCH) {
composable(
route = NavigationRoutes.BOOK_SEARCH
) {
BookSearchScreen(onBookSelected = { navController.navigate(route = NavigationRoutes.BOOK_DETAIL) })
}
composable(
route = NavigationRoutes.BOOK_DETAIL
) {
val isbn = it.arguments?.getString("isbn") ?: ""
BookDetailScreen(
isbn = isbn,
onNavigateToCart = { navController.navigate(route = NavigationRoutes.SHOPPING_CART) }
)
}
composable(
route = NavigationRoutes.SHOPPING_CART
) {
ShoppingCartScreen(
onNavigateToPayment = { navController.navigate(route = NavigationRoutes.PAYMENT) }
)
}
composable(
route = NavigationRoutes.USER
) {
UserProfileScreen()
}
composable(
route = NavigationRoutes.PAYMENT
) {
PaymentScreen()
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment