Skip to content

Commit

Permalink
Add tabletTopBar callback in MainScaffold
Browse files Browse the repository at this point in the history
  • Loading branch information
KevinBoulongne committed Sep 20, 2024
1 parent fab625d commit 5df404b
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.navigation.compose.currentBackStackEntryAsState
import androidx.navigation.compose.rememberNavController
import com.infomaniak.swisstransfer.ui.components.BrandTobAppBar
import com.infomaniak.swisstransfer.ui.navigation.MainNavigation
import com.infomaniak.swisstransfer.ui.navigation.NavigationDestination.Companion.toDestination
import com.infomaniak.swisstransfer.ui.screen.main.components.MainScaffold
Expand All @@ -42,9 +43,13 @@ fun MainScreen() {
derivedStateOf { navBackStackEntry?.toDestination<MainNavigation>() ?: MainNavigation.startDestination }
}

MainScaffold(navController, currentDestination, windowAdaptiveInfo) {
MainNavHost(navController, currentDestination, windowAdaptiveInfo)
}
MainScaffold(
navController = navController,
currentDestination = currentDestination,
windowAdaptiveInfo = windowAdaptiveInfo,
tabletTopBar = { BrandTobAppBar() },
content = { MainNavHost(navController, currentDestination, windowAdaptiveInfo) },
)
}

@PreviewMobile
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.navigation.NavGraph.Companion.findStartDestination
import androidx.navigation.NavHostController
import com.infomaniak.swisstransfer.ui.components.BrandTobAppBar
import com.infomaniak.swisstransfer.ui.navigation.MainNavigation
import com.infomaniak.swisstransfer.ui.navigation.NavigationItem
import com.infomaniak.swisstransfer.ui.theme.SwissTransferTheme
Expand All @@ -41,12 +40,13 @@ fun MainScaffold(
navController: NavHostController,
currentDestination: MainNavigation,
windowAdaptiveInfo: WindowAdaptiveInfo,
tabletTopBar: @Composable () -> Unit = {},
content: @Composable () -> Unit = {},
) {
val navType by rememberNavType(currentDestination, windowAdaptiveInfo)

CompositionLocalProvider(LocalNavType provides navType) {
MainScaffold(navType, currentDestination, navController::navigateToSelectedItem, content)
MainScaffold(navType, currentDestination, navController::navigateToSelectedItem, tabletTopBar, content)
}
}

Expand All @@ -55,10 +55,11 @@ private fun MainScaffold(
navType: NavigationSuiteType,
currentDestination: MainNavigation,
navigateToSelectedItem: (MainNavigation) -> Unit,
tabletTopBar: @Composable () -> Unit,
content: @Composable () -> Unit,
) {
Column {
if (navType == NavigationSuiteType.NavigationRail) BrandTobAppBar()
if (navType == NavigationSuiteType.NavigationRail) tabletTopBar()
AppNavigationSuiteScaffold(navType, NavigationItem.entries, currentDestination, navigateToSelectedItem) {
if (navType == NavigationSuiteType.None) {
content()
Expand Down Expand Up @@ -118,6 +119,7 @@ private fun NavigationMobilePreview() {
currentDestination = MainNavigation.SentDestination,
navigateToSelectedItem = {},
navType = NavigationSuiteType.NavigationBar,
tabletTopBar = {},
content = {},
)
}
Expand All @@ -131,6 +133,7 @@ private fun NavigationTabletPreview() {
currentDestination = MainNavigation.SentDestination,
navigateToSelectedItem = {},
navType = NavigationSuiteType.NavigationRail,
tabletTopBar = {},
content = {},
)
}
Expand Down

0 comments on commit 5df404b

Please sign in to comment.