diff --git a/app/src/main/java/com/jik/movie/navigation/MovieNavHost.kt b/app/src/main/java/com/jik/movie/navigation/MovieNavHost.kt index f259769..8941500 100644 --- a/app/src/main/java/com/jik/movie/navigation/MovieNavHost.kt +++ b/app/src/main/java/com/jik/movie/navigation/MovieNavHost.kt @@ -13,14 +13,15 @@ import com.jik.feature.popular.navigation.PopularNavigation.installPopularScreen fun MovieNavHost( navController: NavHostController, modifier: Modifier = Modifier, - startDestination: String = HomeNavigation.route + startDestination: String = HomeNavigation.route, + ExpandTopBar: @Composable () -> Unit, ) { NavHost( navController = navController, startDestination = startDestination, modifier = modifier ) { - installHomeScreen() + installHomeScreen(ExpandTopBar) installPopularScreen(navController) installDetailScreen() } diff --git a/app/src/main/java/com/jik/movie/ui/MovieApp.kt b/app/src/main/java/com/jik/movie/ui/MovieApp.kt index 7d6b0ec..402e348 100644 --- a/app/src/main/java/com/jik/movie/ui/MovieApp.kt +++ b/app/src/main/java/com/jik/movie/ui/MovieApp.kt @@ -45,12 +45,19 @@ fun MovieApp() { ) { val topPadding = it.calculateTopPadding() val bottomPadding = it.calculateBottomPadding() + MovieNavHost( - navController = appState.navController, modifier = Modifier.padding( + navController = appState.navController, + modifier = Modifier.padding( top = topPadding, bottom = if (appState.isTopLevelDestination && bottomPadding > 0.dp) bottomPadding - NavigationBarCornerSize else bottomPadding - ) + ), + ExpandTopBar = { + if (scrollBehavior.state.heightOffset < 0.0) { + scrollBehavior.state.heightOffset = 0f + } + } ) } } diff --git a/feature-home/src/main/java/com/jik/feature/home/navigation/HomeNavigation.kt b/feature-home/src/main/java/com/jik/feature/home/navigation/HomeNavigation.kt index 38ceb0a..f5a7895 100644 --- a/feature-home/src/main/java/com/jik/feature/home/navigation/HomeNavigation.kt +++ b/feature-home/src/main/java/com/jik/feature/home/navigation/HomeNavigation.kt @@ -2,6 +2,7 @@ package com.jik.feature.home.navigation import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.padding +import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder @@ -18,10 +19,13 @@ object HomeNavigation { navigate(route, navOptions) } - fun NavGraphBuilder.installHomeScreen() { + fun NavGraphBuilder.installHomeScreen( + ExpandTopBar: @Composable () -> Unit, + ) { composable( route = HomeNavigation.route ) { + ExpandTopBar() HomeScreen() Spacer(modifier = Modifier.padding(bottom = NavigationBarCornerSize)) }