Wiring Up BookNest's Screens

With routes, a graph and a bottom bar, BookNest becomes one navigable app. MainActivity now shows BookNestNav(books) when launched without a stage extra, as the launcher and deep links start it. BookNestNav creates the controller, keeps the cart as a remembered mutableStateListOf<Int>(), and puts the NavHost inside a Scaffold whose bottom bar gets the cart size for its badge. The detail screen receives inCart and an onToggleCart lambda, the cart screen a list of books and an onRemove lambda. No screen knows about the others or about the controller, so each can be previewed with sample data.

BookNest's catalog, the detail of Salt and Saffron with the summary open, and a cart of two books
BookNest's catalog, the detail of Salt and Saffron with the summary open, and a cart of two books

The graph plays the role of Framework7 572,986 's routes array (Framework7) and Expo Router 6,418 's file tree (React Native), but the compiler checks it. One weakness remains: the cart dies with the process and mixes business logic into UI code. ViewModel and UDF moves it into a ViewModel.