fix: apply poster depth to remaining surfaces

This commit is contained in:
tapframe 2026-07-19 03:15:02 +05:30
parent a88e142575
commit 0ac38dce43
7 changed files with 34 additions and 2 deletions

View file

@ -101,6 +101,7 @@ import com.nuvio.app.core.ui.NuvioNavBarScrollState
import com.nuvio.app.core.ui.rememberNuvioNavBarScrollState
import com.nuvio.app.core.format.formatReleaseDateForDisplay
import com.nuvio.app.core.ui.NuvioContinueWatchingActionSheet
import com.nuvio.app.core.ui.NuvioCardDepthSurface
import com.nuvio.app.core.ui.NuvioPosterZoomActionOverlay
import com.nuvio.app.core.ui.PosterZoomAnchor
import com.nuvio.app.core.ui.PosterZoomAnchorHolder
@ -3386,6 +3387,7 @@ private fun MainAppContent(
imageUrl = cloudLibraryDisplayArtworkUrl(anchor.imageUrl ?: item.poster ?: item.imageUrl),
title = item.title,
subtitle = localizedContinueWatchingSubtitle(item),
depthSurface = NuvioCardDepthSurface.ContinueWatching,
anchor = anchor,
actions = buildList {
if (showDetailsOption) {

View file

@ -129,6 +129,7 @@ fun NuvioPosterZoomActionOverlay(
title: String,
subtitle: String?,
isWatched: Boolean = false,
depthSurface: NuvioCardDepthSurface = NuvioCardDepthSurface.Posters,
anchor: PosterZoomAnchor?,
actions: List<PosterZoomOverlayAction>,
hazeState: HazeState,
@ -136,6 +137,7 @@ fun NuvioPosterZoomActionOverlay(
modifier: Modifier = Modifier,
) {
val tokens = MaterialTheme.nuvio
val previewShape = RoundedCornerShape(PosterZoomFinalCornerRadius)
val hapticFeedback = LocalHapticFeedback.current
val scope = rememberCoroutineScope()
@ -385,7 +387,11 @@ fun NuvioPosterZoomActionOverlay(
shape = RoundedCornerShape(posterCornerRadiusPx(anchor, clamped, scale))
clip = true
}
.background(tokens.colors.surfaceCard),
.background(tokens.colors.surfaceCard)
.nuvioCardDepth(
shape = previewShape,
surface = depthSurface,
),
contentAlignment = Alignment.Center,
) {
if (imageUrl != null) {

View file

@ -50,7 +50,9 @@ import com.nuvio.app.core.ui.NuvioNetworkOfflineCard
import coil3.compose.AsyncImage
import com.nuvio.app.core.format.formatReleaseDateForDisplay
import com.nuvio.app.core.ui.NuvioBackButton
import com.nuvio.app.core.ui.NuvioCardDepthSurface
import com.nuvio.app.core.ui.NuvioPosterWatchedOverlay
import com.nuvio.app.core.ui.nuvioCardDepth
import com.nuvio.app.core.ui.rememberPosterCardStyleUiState
import com.nuvio.app.core.ui.posterCardClickable
import com.nuvio.app.core.ui.nuvioSafeBottomPadding
@ -304,6 +306,10 @@ private fun CatalogPosterTile(
.aspectRatio(item.posterShape.catalogAspectRatio())
.clip(RoundedCornerShape(cornerRadiusDp.dp))
.background(MaterialTheme.colorScheme.surface)
.nuvioCardDepth(
shape = RoundedCornerShape(cornerRadiusDp.dp),
surface = NuvioCardDepthSurface.Posters,
)
.posterCardClickable(
onClick = onClick,
onLongClick = onLongClick,

View file

@ -76,6 +76,7 @@ import com.nuvio.app.core.network.NetworkCondition
import com.nuvio.app.core.network.NetworkStatusRepository
import com.nuvio.app.core.i18n.localizedSeasonEpisodeCode
import com.nuvio.app.core.ui.NuvioBackButton
import com.nuvio.app.core.ui.NuvioCardDepthSurface
import com.nuvio.app.core.ui.NuvioPosterZoomActionOverlay
import com.nuvio.app.core.ui.PosterZoomAnchor
import com.nuvio.app.core.ui.PosterZoomAnchorHolder
@ -1339,6 +1340,7 @@ fun MetaDetailsScreen(
title = selectedEpisode.title,
subtitle = localizedSeasonEpisodeCode(selectedEpisode.season, selectedEpisode.episode) ?: seasonLabel,
isWatched = isSelectedEpisodeWatched,
depthSurface = NuvioCardDepthSurface.EpisodeCards,
anchor = zoomAnchor,
actions = buildList {
add(

View file

@ -26,9 +26,11 @@ import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.nuvio.app.core.ui.NuvioCardDepthSurface
import com.nuvio.app.core.ui.NuvioShelfSection
import com.nuvio.app.core.ui.PosterLandscapeAspectRatio
import com.nuvio.app.core.ui.landscapePosterWidth
import com.nuvio.app.core.ui.nuvioCardDepth
import com.nuvio.app.core.ui.posterCardClickable
import com.nuvio.app.core.ui.rememberPosterCardStyleUiState
import com.nuvio.app.features.collection.Collection
@ -134,7 +136,11 @@ private fun CollectionFolderCard(
Card(
modifier = Modifier
.fillMaxWidth()
.aspectRatio(aspectRatio),
.aspectRatio(aspectRatio)
.nuvioCardDepth(
shape = shapeCorner,
surface = NuvioCardDepthSurface.Posters,
),
shape = shapeCorner,
colors = CardDefaults.cardColors(
containerColor = MaterialTheme.colorScheme.surface,

View file

@ -1023,6 +1023,10 @@ private fun ContinueWatchingPosterCard(
.height(layout.posterCardHeight)
.clip(RoundedCornerShape(layout.cardRadius))
.background(MaterialTheme.colorScheme.surfaceVariant)
.nuvioCardDepth(
shape = RoundedCornerShape(layout.cardRadius),
surface = NuvioCardDepthSurface.ContinueWatching,
)
.posterCardClickable(
onClick = onClick,
onLongClick = onLongClick,

View file

@ -25,7 +25,9 @@ import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import coil3.compose.AsyncImage
import com.nuvio.app.core.format.formatReleaseDateForDisplay
import com.nuvio.app.core.ui.NuvioCardDepthSurface
import com.nuvio.app.core.ui.NuvioPosterWatchedOverlay
import com.nuvio.app.core.ui.nuvioCardDepth
import com.nuvio.app.core.ui.posterCardClickable
import com.nuvio.app.core.ui.rememberPosterCardStyleUiState
import com.nuvio.app.features.home.MetaPreview
@ -123,6 +125,10 @@ private fun PosterGridTile(
.aspectRatio(item.posterShape.posterGridAspectRatio())
.clip(RoundedCornerShape(cornerRadiusDp.dp))
.background(MaterialTheme.colorScheme.surface)
.nuvioCardDepth(
shape = RoundedCornerShape(cornerRadiusDp.dp),
surface = NuvioCardDepthSurface.Posters,
)
.posterCardClickable(
onClick = onClick,
onLongClick = onLongClick,