From 71400d1654c7ac7674c1fa3b9acf090417fbe7c1 Mon Sep 17 00:00:00 2001 From: Marius Butz Date: Thu, 7 May 2026 14:29:15 +0200 Subject: [PATCH] add bookmark badge --- .../app/core/ui/NuvioPosterActionSheet.kt | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/composeApp/src/commonMain/kotlin/com/nuvio/app/core/ui/NuvioPosterActionSheet.kt b/composeApp/src/commonMain/kotlin/com/nuvio/app/core/ui/NuvioPosterActionSheet.kt index e226f637..5a617dca 100644 --- a/composeApp/src/commonMain/kotlin/com/nuvio/app/core/ui/NuvioPosterActionSheet.kt +++ b/composeApp/src/commonMain/kotlin/com/nuvio/app/core/ui/NuvioPosterActionSheet.kt @@ -38,6 +38,7 @@ import com.nuvio.app.core.format.formatReleaseDateForDisplay import com.nuvio.app.features.home.MetaPreview import kotlinx.coroutines.launch import nuvio.composeapp.generated.resources.Res +import nuvio.composeapp.generated.resources.action_saved import nuvio.composeapp.generated.resources.episodes_cd_watched import nuvio.composeapp.generated.resources.hero_add_to_library import nuvio.composeapp.generated.resources.hero_mark_unwatched @@ -151,6 +152,41 @@ fun NuvioAnimatedWatchedBadge( } } +@Composable +fun NuvioBookmarkedBadge( + modifier: Modifier = Modifier, +) { + Box( + modifier = modifier + .size(22.dp) + .clip(CircleShape) + .background(MaterialTheme.colorScheme.primary), + contentAlignment = Alignment.Center, + ) { + Icon( + imageVector = Icons.Default.Bookmark, + contentDescription = stringResource(Res.string.action_saved), + tint = MaterialTheme.colorScheme.onPrimary, + modifier = Modifier.size(12.dp), + ) + } +} + +@Composable +fun NuvioAnimatedBookmarkedBadge( + isVisible: Boolean, + modifier: Modifier = Modifier, +) { + AnimatedVisibility( + visible = isVisible, + enter = fadeIn(), + exit = fadeOut(), + modifier = modifier, + ) { + NuvioBookmarkedBadge() + } +} + @Composable private fun PosterSheetHeader( item: MetaPreview,