From 84d78caef5e8f85d862fed078bb8aa93d9cc873c Mon Sep 17 00:00:00 2001 From: Acclorite <140836141+Acclorite@users.noreply.github.com> Date: Sat, 31 Aug 2024 19:05:50 +0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=A0=EF=B8=8F=20Apply=20cutout=20paddin?= =?UTF-8?q?g=20for=20Tablet=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Applied cutout padding (if there is) to side padding while in Tablet UI mode --- .../CustomNavigationRail.kt | 12 ++++---- .../presentation/data/Navigation.kt | 30 +++++++------------ 2 files changed, 16 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/components/custom_navigation_rail/CustomNavigationRail.kt b/app/src/main/java/ua/acclorite/book_story/presentation/components/custom_navigation_rail/CustomNavigationRail.kt index 04d55f5b..c4e07399 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/components/custom_navigation_rail/CustomNavigationRail.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/components/custom_navigation_rail/CustomNavigationRail.kt @@ -2,11 +2,11 @@ package ua.acclorite.book_story.presentation.components.custom_navigation_rail import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.BoxScope import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.asPaddingValues import androidx.compose.foundation.layout.calculateStartPadding +import androidx.compose.foundation.layout.displayCutout import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.navigationBars import androidx.compose.foundation.layout.padding @@ -31,7 +31,7 @@ import ua.acclorite.book_story.presentation.data.LocalNavigator * Custom Navigation Rail. It is used to be shown on Tablets. */ @Composable -fun BoxScope.CustomNavigationRail() { +fun CustomNavigationRail() { var currentScreen: Route? by remember { mutableStateOf(null) } val navigator = LocalNavigator.current val layoutDirection = LocalLayoutDirection.current @@ -50,14 +50,14 @@ fun BoxScope.CustomNavigationRail() { NavigationRail( modifier = Modifier - .align( - Alignment.CenterStart - ) .background(MaterialTheme.colorScheme.surfaceContainer) .padding( start = WindowInsets.navigationBars .asPaddingValues() - .calculateStartPadding(layoutDirection) + .calculateStartPadding(layoutDirection) + + WindowInsets.displayCutout + .asPaddingValues() + .calculateStartPadding(layoutDirection) ) .width(80.dp) .padding(horizontal = 12.dp), diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/data/Navigation.kt b/app/src/main/java/ua/acclorite/book_story/presentation/data/Navigation.kt index 1296bfd0..4f72e898 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/data/Navigation.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/data/Navigation.kt @@ -10,7 +10,7 @@ import androidx.compose.animation.EnterTransition import androidx.compose.animation.ExitTransition import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.calculateEndPadding import androidx.compose.foundation.layout.calculateStartPadding import androidx.compose.foundation.layout.fillMaxSize @@ -32,7 +32,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalLayoutDirection -import androidx.compose.ui.unit.dp import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope @@ -332,7 +331,7 @@ class Navigator @AssistedInject constructor( exitBarAnim: ExitTransition = Transitions.SlidingTransitionOut, backExitBarAnim: ExitTransition = Transitions.BackSlidingTransitionOut, bottomBar: @Composable () -> Unit, - navigationRail: @Composable BoxScope.() -> Unit, + navigationRail: @Composable () -> Unit, content: @Composable () -> Unit ) { val activity = LocalContext.current as ComponentActivity @@ -365,35 +364,26 @@ class Navigator @AssistedInject constructor( }, containerColor = MaterialTheme.colorScheme.surface ) { - Box( + Row( modifier = Modifier .fillMaxSize() ) { + if (tabletUI) { + navigationRail() + } + Box( modifier = Modifier + .weight(1f) .fillMaxSize() .padding( - end = it.calculateEndPadding( - layoutDirection - ), + end = it.calculateEndPadding(layoutDirection), bottom = it.calculateBottomPadding(), - start = if (tabletUI) { - 80.dp + it.calculateStartPadding( - layoutDirection - ) - } else { - it.calculateStartPadding( - layoutDirection - ) - }, + start = it.calculateStartPadding(layoutDirection) ) ) { content() } - - if (tabletUI) { - navigationRail() - } } } }