mirror of
https://github.com/AdrianKuta/android-challange-adrian-kuta.git
synced 2025-07-01 21:28:00 +02:00
Refactor: Update package structure and implement bottom navigation
This commit refactors the package structure for Gradle convention plugins and introduces bottom navigation to the application. Key changes: - Moved Gradle convention plugin files from `dev.adriankuta.partymania` to `dev.adriankuta.flights`. - Added `TopLevelDestination.kt` to define top-level navigation destinations with icons, titles, and routes. - Implemented `FlightsBottomBar` Composable in `FlightsApp.kt` to display a `NavigationBar` with items for each `TopLevelDestination`. - Updated `FlightsNavGraph.kt`: - Renamed from `FlightsNavGraph.kt` to `navigation/FlightsNavGraph.kt`. - Added `navigateToTopLevelDestination` extension function for `NavController` to handle navigation to top-level destinations with appropriate `NavOptions`. - Updated `HomeNavigation.kt`: - Added `navigateToHome` extension function for `NavController`. - Added `strings.xml` for `ui:home` module with `home_screen_title`. - Ensured Kotlin serialization plugin is correctly applied in `app/build.gradle.kts`.
This commit is contained in:
@ -2,7 +2,9 @@
|
||||
|
||||
package dev.adriankuta.flights.ui.home.navigation
|
||||
|
||||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import dev.adriankuta.flights.ui.home.HomeScreen
|
||||
import kotlinx.serialization.Serializable
|
||||
@ -10,6 +12,12 @@ import kotlinx.serialization.Serializable
|
||||
@Serializable
|
||||
data object HomeRoute
|
||||
|
||||
fun NavController.navigateToHome(
|
||||
navOptions: NavOptions,
|
||||
) {
|
||||
navigate(route = HomeRoute, navOptions = navOptions)
|
||||
}
|
||||
|
||||
fun NavGraphBuilder.homeScreen() {
|
||||
composable<HomeRoute> {
|
||||
HomeScreen()
|
||||
|
4
ui/home/src/main/res/values/strings.xml
Normal file
4
ui/home/src/main/res/values/strings.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="home_screen_title">Search Flight</string>
|
||||
</resources>
|
Reference in New Issue
Block a user