mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-05-17 15:32:01 +00:00
ref: adjsut safe area for some pages
This commit is contained in:
parent
9e5219b4be
commit
285580b69b
12 changed files with 32 additions and 22 deletions
|
|
@ -87,7 +87,7 @@ fun NuvioScreen(
|
||||||
start = horizontalPadding,
|
start = horizontalPadding,
|
||||||
top = topPadding ?: 10.dp + statusBarTop + nuvioPlatformExtraTopPadding,
|
top = topPadding ?: 10.dp + statusBarTop + nuvioPlatformExtraTopPadding,
|
||||||
end = horizontalPadding,
|
end = horizontalPadding,
|
||||||
bottom = 18.dp + nuvioPlatformExtraBottomPadding,
|
bottom = nuvioSafeBottomPadding(18.dp),
|
||||||
),
|
),
|
||||||
verticalArrangement = Arrangement.spacedBy(12.dp),
|
verticalArrangement = Arrangement.spacedBy(12.dp),
|
||||||
content = content,
|
content = content,
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ fun NuvioContinueWatchingActionSheet(
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(bottom = 16.dp + nuvioPlatformExtraBottomPadding),
|
.padding(bottom = nuvioSafeBottomPadding(16.dp)),
|
||||||
) {
|
) {
|
||||||
ContinueWatchingSheetHeader(item = item)
|
ContinueWatchingSheetHeader(item = item)
|
||||||
NuvioBottomSheetDivider()
|
NuvioBottomSheetDivider()
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,21 @@
|
||||||
package com.nuvio.app.core.ui
|
package com.nuvio.app.core.ui
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.WindowInsets
|
import androidx.compose.foundation.layout.WindowInsets
|
||||||
|
import androidx.compose.foundation.layout.asPaddingValues
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.unit.Dp
|
import androidx.compose.ui.unit.Dp
|
||||||
|
import androidx.compose.ui.unit.dp
|
||||||
|
|
||||||
internal expect val nuvioPlatformExtraTopPadding: Dp
|
internal expect val nuvioPlatformExtraTopPadding: Dp
|
||||||
internal expect val nuvioPlatformExtraBottomPadding: Dp
|
internal expect val nuvioPlatformExtraBottomPadding: Dp
|
||||||
internal expect val nuvioBottomNavigationExtraVerticalPadding: Dp
|
internal expect val nuvioBottomNavigationExtraVerticalPadding: Dp
|
||||||
@Composable
|
@Composable
|
||||||
internal expect fun nuvioBottomNavigationBarInsets(): WindowInsets
|
internal expect fun nuvioBottomNavigationBarInsets(): WindowInsets
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
internal fun nuvioSafeBottomPadding(extra: Dp = 0.dp): Dp {
|
||||||
|
val navigationBarBottom = nuvioBottomNavigationBarInsets()
|
||||||
|
.asPaddingValues()
|
||||||
|
.calculateBottomPadding()
|
||||||
|
return navigationBarBottom.coerceAtLeast(nuvioPlatformExtraBottomPadding) + extra
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ fun NuvioPosterActionSheet(
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(bottom = 16.dp + nuvioPlatformExtraBottomPadding),
|
.padding(bottom = nuvioSafeBottomPadding(16.dp)),
|
||||||
) {
|
) {
|
||||||
PosterSheetHeader(item = item)
|
PosterSheetHeader(item = item)
|
||||||
NuvioBottomSheetDivider()
|
NuvioBottomSheetDivider()
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ import com.nuvio.app.core.format.formatReleaseDateForDisplay
|
||||||
import com.nuvio.app.core.ui.NuvioBackButton
|
import com.nuvio.app.core.ui.NuvioBackButton
|
||||||
import com.nuvio.app.core.ui.rememberPosterCardStyleUiState
|
import com.nuvio.app.core.ui.rememberPosterCardStyleUiState
|
||||||
import com.nuvio.app.core.ui.posterCardClickable
|
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.MetaPreview
|
||||||
import com.nuvio.app.features.home.PosterShape
|
import com.nuvio.app.features.home.PosterShape
|
||||||
import com.nuvio.app.features.home.stableKey
|
import com.nuvio.app.features.home.stableKey
|
||||||
|
|
@ -144,7 +144,7 @@ fun CatalogScreen(
|
||||||
start = 16.dp,
|
start = 16.dp,
|
||||||
top = with(androidx.compose.ui.platform.LocalDensity.current) { headerHeightPx.toDp() } + 12.dp,
|
top = with(androidx.compose.ui.platform.LocalDensity.current) { headerHeightPx.toDp() } + 12.dp,
|
||||||
end = 16.dp,
|
end = 16.dp,
|
||||||
bottom = nuvioPlatformExtraBottomPadding + 28.dp,
|
bottom = nuvioSafeBottomPadding(28.dp),
|
||||||
),
|
),
|
||||||
horizontalArrangement = Arrangement.spacedBy(12.dp),
|
horizontalArrangement = Arrangement.spacedBy(12.dp),
|
||||||
verticalArrangement = Arrangement.spacedBy(18.dp),
|
verticalArrangement = Arrangement.spacedBy(18.dp),
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ import com.nuvio.app.core.ui.NuvioScreen
|
||||||
import com.nuvio.app.core.ui.NuvioScreenHeader
|
import com.nuvio.app.core.ui.NuvioScreenHeader
|
||||||
import com.nuvio.app.core.ui.NuvioSectionLabel
|
import com.nuvio.app.core.ui.NuvioSectionLabel
|
||||||
import com.nuvio.app.core.ui.NuvioSurfaceCard
|
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.core.ui.PlatformBackHandler
|
||||||
import com.nuvio.app.features.home.PosterShape
|
import com.nuvio.app.features.home.PosterShape
|
||||||
import sh.calvin.reorderable.ReorderableCollectionItemScope
|
import sh.calvin.reorderable.ReorderableCollectionItemScope
|
||||||
|
|
@ -75,7 +75,7 @@ fun CollectionEditorScreen(
|
||||||
onBack: () -> Unit,
|
onBack: () -> Unit,
|
||||||
) {
|
) {
|
||||||
val state by CollectionEditorRepository.uiState.collectAsState()
|
val state by CollectionEditorRepository.uiState.collectAsState()
|
||||||
val bottomInset = nuvioPlatformExtraBottomPadding
|
val bottomInset = nuvioSafeBottomPadding()
|
||||||
|
|
||||||
LaunchedEffect(collectionId) {
|
LaunchedEffect(collectionId) {
|
||||||
CollectionEditorRepository.initialize(collectionId)
|
CollectionEditorRepository.initialize(collectionId)
|
||||||
|
|
@ -504,7 +504,7 @@ private fun FolderEditorPage(
|
||||||
onBack: () -> Unit,
|
onBack: () -> Unit,
|
||||||
) {
|
) {
|
||||||
val folder = state.editingFolder ?: return
|
val folder = state.editingFolder ?: return
|
||||||
val bottomInset = nuvioPlatformExtraBottomPadding
|
val bottomInset = nuvioSafeBottomPadding()
|
||||||
|
|
||||||
PlatformBackHandler(enabled = true) {
|
PlatformBackHandler(enabled = true) {
|
||||||
onBack()
|
onBack()
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ import coil3.compose.AsyncImage
|
||||||
import com.nuvio.app.core.ui.NuvioPosterCard
|
import com.nuvio.app.core.ui.NuvioPosterCard
|
||||||
import com.nuvio.app.core.ui.NuvioPosterShape
|
import com.nuvio.app.core.ui.NuvioPosterShape
|
||||||
import com.nuvio.app.core.ui.NuvioScreenHeader
|
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.HomeCatalogSection
|
||||||
import com.nuvio.app.features.home.MetaPreview
|
import com.nuvio.app.features.home.MetaPreview
|
||||||
import com.nuvio.app.features.home.PosterShape
|
import com.nuvio.app.features.home.PosterShape
|
||||||
|
|
@ -260,7 +260,7 @@ private fun TabbedGridContent(
|
||||||
contentPadding = PaddingValues(
|
contentPadding = PaddingValues(
|
||||||
start = 16.dp,
|
start = 16.dp,
|
||||||
end = 16.dp,
|
end = 16.dp,
|
||||||
bottom = 18.dp + nuvioPlatformExtraBottomPadding,
|
bottom = nuvioSafeBottomPadding(18.dp),
|
||||||
),
|
),
|
||||||
horizontalArrangement = Arrangement.spacedBy(10.dp),
|
horizontalArrangement = Arrangement.spacedBy(10.dp),
|
||||||
verticalArrangement = Arrangement.spacedBy(14.dp),
|
verticalArrangement = Arrangement.spacedBy(14.dp),
|
||||||
|
|
@ -312,7 +312,7 @@ private fun RowsContent(
|
||||||
LazyColumn(
|
LazyColumn(
|
||||||
modifier = modifier.fillMaxSize(),
|
modifier = modifier.fillMaxSize(),
|
||||||
contentPadding = PaddingValues(
|
contentPadding = PaddingValues(
|
||||||
bottom = 18.dp + nuvioPlatformExtraBottomPadding,
|
bottom = nuvioSafeBottomPadding(18.dp),
|
||||||
),
|
),
|
||||||
verticalArrangement = Arrangement.spacedBy(16.dp),
|
verticalArrangement = Arrangement.spacedBy(16.dp),
|
||||||
) {
|
) {
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ import com.nuvio.app.core.network.NetworkCondition
|
||||||
import com.nuvio.app.core.network.NetworkStatusRepository
|
import com.nuvio.app.core.network.NetworkStatusRepository
|
||||||
import com.nuvio.app.core.ui.NuvioBackButton
|
import com.nuvio.app.core.ui.NuvioBackButton
|
||||||
import com.nuvio.app.core.ui.TraktListPickerDialog
|
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.DetailActionButtons
|
||||||
import com.nuvio.app.features.details.components.CommentDetailSheet
|
import com.nuvio.app.features.details.components.CommentDetailSheet
|
||||||
import com.nuvio.app.features.details.components.DetailAdditionalInfoSection
|
import com.nuvio.app.features.details.components.DetailAdditionalInfoSection
|
||||||
|
|
@ -692,7 +692,7 @@ fun MetaDetailsScreen(
|
||||||
animatedVisibilityScope = animatedVisibilityScope,
|
animatedVisibilityScope = animatedVisibilityScope,
|
||||||
)
|
)
|
||||||
|
|
||||||
Spacer(modifier = Modifier.height(32.dp + nuvioPlatformExtraBottomPadding))
|
Spacer(modifier = Modifier.height(nuvioSafeBottomPadding(32.dp)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,8 +28,8 @@ import com.nuvio.app.core.ui.NuvioBottomSheetActionRow
|
||||||
import com.nuvio.app.core.ui.NuvioBottomSheetDivider
|
import com.nuvio.app.core.ui.NuvioBottomSheetDivider
|
||||||
import com.nuvio.app.core.ui.NuvioModalBottomSheet
|
import com.nuvio.app.core.ui.NuvioModalBottomSheet
|
||||||
import com.nuvio.app.core.ui.dismissNuvioBottomSheet
|
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.features.details.MetaVideo
|
||||||
import com.nuvio.app.core.ui.nuvioPlatformExtraBottomPadding
|
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
|
|
@ -62,7 +62,7 @@ fun EpisodeWatchedActionSheet(
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(bottom = 16.dp + nuvioPlatformExtraBottomPadding),
|
.padding(bottom = nuvioSafeBottomPadding(16.dp)),
|
||||||
) {
|
) {
|
||||||
EpisodeActionSheetHeader(
|
EpisodeActionSheetHeader(
|
||||||
episode = episode,
|
episode = episode,
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ import androidx.compose.ui.draw.clip
|
||||||
import com.nuvio.app.core.ui.NuvioBottomSheetDivider
|
import com.nuvio.app.core.ui.NuvioBottomSheetDivider
|
||||||
import com.nuvio.app.core.ui.NuvioModalBottomSheet
|
import com.nuvio.app.core.ui.NuvioModalBottomSheet
|
||||||
import com.nuvio.app.core.ui.dismissNuvioBottomSheet
|
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.PlatformPlayerSurface
|
||||||
import com.nuvio.app.features.player.PlayerResizeMode
|
import com.nuvio.app.features.player.PlayerResizeMode
|
||||||
import com.nuvio.app.features.trailer.TrailerPlaybackSource
|
import com.nuvio.app.features.trailer.TrailerPlaybackSource
|
||||||
|
|
@ -87,7 +87,7 @@ fun TrailerPlayerPopup(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(horizontal = 16.dp)
|
.padding(horizontal = 16.dp)
|
||||||
.padding(bottom = 14.dp + nuvioPlatformExtraBottomPadding),
|
.padding(bottom = nuvioSafeBottomPadding(14.dp)),
|
||||||
verticalArrangement = Arrangement.spacedBy(12.dp),
|
verticalArrangement = Arrangement.spacedBy(12.dp),
|
||||||
) {
|
) {
|
||||||
Row(
|
Row(
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ import com.nuvio.app.core.ui.NuvioBottomSheetActionRow
|
||||||
import com.nuvio.app.core.ui.NuvioBottomSheetDivider
|
import com.nuvio.app.core.ui.NuvioBottomSheetDivider
|
||||||
import com.nuvio.app.core.ui.NuvioModalBottomSheet
|
import com.nuvio.app.core.ui.NuvioModalBottomSheet
|
||||||
import com.nuvio.app.core.ui.dismissNuvioBottomSheet
|
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.rememberPosterCardStyleUiState
|
||||||
import com.nuvio.app.core.ui.posterCardClickable
|
import com.nuvio.app.core.ui.posterCardClickable
|
||||||
import com.nuvio.app.features.home.MetaPreview
|
import com.nuvio.app.features.home.MetaPreview
|
||||||
|
|
@ -292,7 +292,7 @@ private fun DiscoverOptionsSheet(
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(bottom = 16.dp + nuvioPlatformExtraBottomPadding),
|
.padding(bottom = nuvioSafeBottomPadding(16.dp)),
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = title,
|
text = title,
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.rememberModalBottomSheetState
|
import androidx.compose.material3.rememberModalBottomSheetState
|
||||||
import coil3.compose.AsyncImage
|
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 com.nuvio.app.features.watchprogress.WatchProgressRepository
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlin.math.round
|
import kotlin.math.round
|
||||||
|
|
@ -762,7 +762,7 @@ internal fun StreamList(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
item {
|
item {
|
||||||
Spacer(modifier = Modifier.height(nuvioPlatformExtraBottomPadding + 80.dp))
|
Spacer(modifier = Modifier.height(nuvioSafeBottomPadding(80.dp)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1002,7 +1002,7 @@ private fun StreamActionsSheet(
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(bottom = 16.dp + nuvioPlatformExtraBottomPadding),
|
.padding(bottom = nuvioSafeBottomPadding(16.dp)),
|
||||||
) {
|
) {
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue