[Cherry Pick] Use one NavHost (with a single navigation scaffold) (#102) #114
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Deduplicate lifecycle runtime compose
kotlin 2.0 and compose gradle plugin
update test & other versions
Call navigate instead of recomposing HavHost
Previously, the app had a NavHost but didn't actually call navigate. NavHost's startDestination was read from external state (the currently selected nav item), which led to some undesirable behaviors.
Now the NavHost has a stable startDestination, and nav item state is driven by the NavHostController's current destination. Selecting a nav item calls navigate, and the user always goes back through the startDestination before exiting the app.
Use type-safe navigation
Make a package for navigation routes
Migrate to type safe routes for main navhost
Push Scaffold down to each top-level destination
Extract nav suite scaffold to another composable
Move ChatList, move and rename HomeViewModel
Move Settings to its own package
Remove Home and put its destinations in Main NavHost
Remove Home composable and rename file
Add NavigationSuiteScaffold around NavHost
Change navigation layout type based on current destination