ref: adjsut safe area for some pages

This commit is contained in:
tapframe 2026-04-19 00:22:27 +05:30
parent 9e5219b4be
commit 285580b69b
12 changed files with 32 additions and 22 deletions

View file

@ -87,7 +87,7 @@ fun NuvioScreen(
start = horizontalPadding,
top = topPadding ?: 10.dp + statusBarTop + nuvioPlatformExtraTopPadding,
end = horizontalPadding,
bottom = 18.dp + nuvioPlatformExtraBottomPadding,
bottom = nuvioSafeBottomPadding(18.dp),
),
verticalArrangement = Arrangement.spacedBy(12.dp),
content = content,

View file

@ -64,7 +64,7 @@ fun NuvioContinueWatchingActionSheet(
Column(
modifier = Modifier
.fillMaxWidth()
.padding(bottom = 16.dp + nuvioPlatformExtraBottomPadding),
.padding(bottom = nuvioSafeBottomPadding(16.dp)),
) {
ContinueWatchingSheetHeader(item = item)
NuvioBottomSheetDivider()

View file

@ -1,11 +1,21 @@
package com.nuvio.app.core.ui
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.asPaddingValues
import androidx.compose.runtime.Composable
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
internal expect val nuvioPlatformExtraTopPadding: Dp
internal expect val nuvioPlatformExtraBottomPadding: Dp
internal expect val nuvioBottomNavigationExtraVerticalPadding: Dp
@Composable
internal expect fun nuvioBottomNavigationBarInsets(): WindowInsets
@Composable
internal fun nuvioSafeBottomPadding(extra: Dp = 0.dp): Dp {
val navigationBarBottom = nuvioBottomNavigationBarInsets()
.asPaddingValues()
.calculateBottomPadding()
return navigationBarBottom.coerceAtLeast(nuvioPlatformExtraBottomPadding) + extra
}

View file

@ -66,7 +66,7 @@ fun NuvioPosterActionSheet(
Column(
modifier = Modifier
.fillMaxWidth()
.padding(bottom = 16.dp + nuvioPlatformExtraBottomPadding),
.padding(bottom = nuvioSafeBottomPadding(16.dp)),
) {
PosterSheetHeader(item = item)
NuvioBottomSheetDivider()

View file

@ -49,7 +49,7 @@ import com.nuvio.app.core.format.formatReleaseDateForDisplay
import com.nuvio.app.core.ui.NuvioBackButton
import com.nuvio.app.core.ui.rememberPosterCardStyleUiState
import com.nuvio.app.core.ui.posterCardClickable
import com.nuvio.app.core.ui.nuvioPlatformExtraBottomPadding
import com.nuvio.app.core.ui.nuvioSafeBottomPadding
import com.nuvio.app.features.home.MetaPreview
import com.nuvio.app.features.home.PosterShape
import com.nuvio.app.features.home.stableKey
@ -144,7 +144,7 @@ fun CatalogScreen(
start = 16.dp,
top = with(androidx.compose.ui.platform.LocalDensity.current) { headerHeightPx.toDp() } + 12.dp,
end = 16.dp,
bottom = nuvioPlatformExtraBottomPadding + 28.dp,
bottom = nuvioSafeBottomPadding(28.dp),
),
horizontalArrangement = Arrangement.spacedBy(12.dp),
verticalArrangement = Arrangement.spacedBy(18.dp),

View file

@ -61,7 +61,7 @@ import com.nuvio.app.core.ui.NuvioScreen
import com.nuvio.app.core.ui.NuvioScreenHeader
import com.nuvio.app.core.ui.NuvioSectionLabel
import com.nuvio.app.core.ui.NuvioSurfaceCard
import com.nuvio.app.core.ui.nuvioPlatformExtraBottomPadding
import com.nuvio.app.core.ui.nuvioSafeBottomPadding
import com.nuvio.app.core.ui.PlatformBackHandler
import com.nuvio.app.features.home.PosterShape
import sh.calvin.reorderable.ReorderableCollectionItemScope
@ -75,7 +75,7 @@ fun CollectionEditorScreen(
onBack: () -> Unit,
) {
val state by CollectionEditorRepository.uiState.collectAsState()
val bottomInset = nuvioPlatformExtraBottomPadding
val bottomInset = nuvioSafeBottomPadding()
LaunchedEffect(collectionId) {
CollectionEditorRepository.initialize(collectionId)
@ -504,7 +504,7 @@ private fun FolderEditorPage(
onBack: () -> Unit,
) {
val folder = state.editingFolder ?: return
val bottomInset = nuvioPlatformExtraBottomPadding
val bottomInset = nuvioSafeBottomPadding()
PlatformBackHandler(enabled = true) {
onBack()

View file

@ -53,7 +53,7 @@ import coil3.compose.AsyncImage
import com.nuvio.app.core.ui.NuvioPosterCard
import com.nuvio.app.core.ui.NuvioPosterShape
import com.nuvio.app.core.ui.NuvioScreenHeader
import com.nuvio.app.core.ui.nuvioPlatformExtraBottomPadding
import com.nuvio.app.core.ui.nuvioSafeBottomPadding
import com.nuvio.app.features.home.HomeCatalogSection
import com.nuvio.app.features.home.MetaPreview
import com.nuvio.app.features.home.PosterShape
@ -260,7 +260,7 @@ private fun TabbedGridContent(
contentPadding = PaddingValues(
start = 16.dp,
end = 16.dp,
bottom = 18.dp + nuvioPlatformExtraBottomPadding,
bottom = nuvioSafeBottomPadding(18.dp),
),
horizontalArrangement = Arrangement.spacedBy(10.dp),
verticalArrangement = Arrangement.spacedBy(14.dp),
@ -312,7 +312,7 @@ private fun RowsContent(
LazyColumn(
modifier = modifier.fillMaxSize(),
contentPadding = PaddingValues(
bottom = 18.dp + nuvioPlatformExtraBottomPadding,
bottom = nuvioSafeBottomPadding(18.dp),
),
verticalArrangement = Arrangement.spacedBy(16.dp),
) {

View file

@ -61,7 +61,7 @@ import com.nuvio.app.core.network.NetworkCondition
import com.nuvio.app.core.network.NetworkStatusRepository
import com.nuvio.app.core.ui.NuvioBackButton
import com.nuvio.app.core.ui.TraktListPickerDialog
import com.nuvio.app.core.ui.nuvioPlatformExtraBottomPadding
import com.nuvio.app.core.ui.nuvioSafeBottomPadding
import com.nuvio.app.features.details.components.DetailActionButtons
import com.nuvio.app.features.details.components.CommentDetailSheet
import com.nuvio.app.features.details.components.DetailAdditionalInfoSection
@ -692,7 +692,7 @@ fun MetaDetailsScreen(
animatedVisibilityScope = animatedVisibilityScope,
)
Spacer(modifier = Modifier.height(32.dp + nuvioPlatformExtraBottomPadding))
Spacer(modifier = Modifier.height(nuvioSafeBottomPadding(32.dp)))
}
}

View file

@ -28,8 +28,8 @@ import com.nuvio.app.core.ui.NuvioBottomSheetActionRow
import com.nuvio.app.core.ui.NuvioBottomSheetDivider
import com.nuvio.app.core.ui.NuvioModalBottomSheet
import com.nuvio.app.core.ui.dismissNuvioBottomSheet
import com.nuvio.app.core.ui.nuvioSafeBottomPadding
import com.nuvio.app.features.details.MetaVideo
import com.nuvio.app.core.ui.nuvioPlatformExtraBottomPadding
import kotlinx.coroutines.launch
@OptIn(ExperimentalMaterial3Api::class)
@ -62,7 +62,7 @@ fun EpisodeWatchedActionSheet(
Column(
modifier = Modifier
.fillMaxWidth()
.padding(bottom = 16.dp + nuvioPlatformExtraBottomPadding),
.padding(bottom = nuvioSafeBottomPadding(16.dp)),
) {
EpisodeActionSheetHeader(
episode = episode,

View file

@ -34,7 +34,7 @@ import androidx.compose.ui.draw.clip
import com.nuvio.app.core.ui.NuvioBottomSheetDivider
import com.nuvio.app.core.ui.NuvioModalBottomSheet
import com.nuvio.app.core.ui.dismissNuvioBottomSheet
import com.nuvio.app.core.ui.nuvioPlatformExtraBottomPadding
import com.nuvio.app.core.ui.nuvioSafeBottomPadding
import com.nuvio.app.features.player.PlatformPlayerSurface
import com.nuvio.app.features.player.PlayerResizeMode
import com.nuvio.app.features.trailer.TrailerPlaybackSource
@ -87,7 +87,7 @@ fun TrailerPlayerPopup(
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = 16.dp)
.padding(bottom = 14.dp + nuvioPlatformExtraBottomPadding),
.padding(bottom = nuvioSafeBottomPadding(14.dp)),
verticalArrangement = Arrangement.spacedBy(12.dp),
) {
Row(

View file

@ -55,7 +55,7 @@ import com.nuvio.app.core.ui.NuvioBottomSheetActionRow
import com.nuvio.app.core.ui.NuvioBottomSheetDivider
import com.nuvio.app.core.ui.NuvioModalBottomSheet
import com.nuvio.app.core.ui.dismissNuvioBottomSheet
import com.nuvio.app.core.ui.nuvioPlatformExtraBottomPadding
import com.nuvio.app.core.ui.nuvioSafeBottomPadding
import com.nuvio.app.core.ui.rememberPosterCardStyleUiState
import com.nuvio.app.core.ui.posterCardClickable
import com.nuvio.app.features.home.MetaPreview
@ -292,7 +292,7 @@ private fun DiscoverOptionsSheet(
Column(
modifier = Modifier
.fillMaxWidth()
.padding(bottom = 16.dp + nuvioPlatformExtraBottomPadding),
.padding(bottom = nuvioSafeBottomPadding(16.dp)),
) {
Text(
text = title,

View file

@ -82,7 +82,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.rememberModalBottomSheetState
import coil3.compose.AsyncImage
import com.nuvio.app.core.ui.nuvioPlatformExtraBottomPadding
import com.nuvio.app.core.ui.nuvioSafeBottomPadding
import com.nuvio.app.features.watchprogress.WatchProgressRepository
import kotlinx.coroutines.launch
import kotlin.math.round
@ -762,7 +762,7 @@ internal fun StreamList(
}
}
item {
Spacer(modifier = Modifier.height(nuvioPlatformExtraBottomPadding + 80.dp))
Spacer(modifier = Modifier.height(nuvioSafeBottomPadding(80.dp)))
}
}
}
@ -1002,7 +1002,7 @@ private fun StreamActionsSheet(
Column(
modifier = Modifier
.fillMaxWidth()
.padding(bottom = 16.dp + nuvioPlatformExtraBottomPadding),
.padding(bottom = nuvioSafeBottomPadding(16.dp)),
) {
Column(
modifier = Modifier