feat: amoled mode visisbility adjustments

This commit is contained in:
tapframe 2026-04-09 13:38:00 +05:30
parent db3b7d968e
commit 2844f74503
5 changed files with 24 additions and 16 deletions

View file

@ -211,6 +211,8 @@ private fun NuvioViewAllPill(
onClick: (() -> Unit)?, onClick: (() -> Unit)?,
size: NuvioViewAllPillSize, size: NuvioViewAllPillSize,
) { ) {
val colorScheme = MaterialTheme.colorScheme
val isAmoled = colorScheme.background == androidx.compose.ui.graphics.Color.Black && colorScheme.surface == androidx.compose.ui.graphics.Color(0xFF050505)
val horizontalPadding = if (size == NuvioViewAllPillSize.Compact) 12.dp else 18.dp val horizontalPadding = if (size == NuvioViewAllPillSize.Compact) 12.dp else 18.dp
val verticalPadding = if (size == NuvioViewAllPillSize.Compact) 9.dp else 14.dp val verticalPadding = if (size == NuvioViewAllPillSize.Compact) 9.dp else 14.dp
val textStyle = if (size == NuvioViewAllPillSize.Compact) { val textStyle = if (size == NuvioViewAllPillSize.Compact) {
@ -223,7 +225,7 @@ private fun NuvioViewAllPill(
Row( Row(
modifier = Modifier modifier = Modifier
.background( .background(
color = MaterialTheme.colorScheme.surface, color = if (isAmoled) androidx.compose.ui.graphics.Color(0xFF0D0D0D) else colorScheme.surface,
shape = RoundedCornerShape(20.dp), shape = RoundedCornerShape(20.dp),
) )
.then(if (onClick != null) Modifier.clickable(onClick = onClick) else Modifier) .then(if (onClick != null) Modifier.clickable(onClick = onClick) else Modifier)

View file

@ -185,7 +185,9 @@ fun MetaDetailsScreen(
} }
Box( Box(
modifier = modifier.fillMaxSize(), modifier = modifier
.fillMaxSize()
.background(MaterialTheme.colorScheme.background),
) { ) {
when { when {
displayedMeta == null && uiState.isLoading -> { displayedMeta == null && uiState.isLoading -> {

View file

@ -33,6 +33,7 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.snapshotFlow import androidx.compose.runtime.snapshotFlow
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
@ -159,6 +160,8 @@ private fun CommentCard(
onClick: () -> Unit, onClick: () -> Unit,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
) { ) {
val colorScheme = MaterialTheme.colorScheme
val isAmoled = colorScheme.background == Color.Black && colorScheme.surface == Color(0xFF050505)
val bodyText = if (review.hasSpoilerContent) { val bodyText = if (review.hasSpoilerContent) {
"This comment contains spoilers." "This comment contains spoilers."
} else { } else {
@ -176,7 +179,7 @@ private fun CommentCard(
.height(cardHeight) .height(cardHeight)
.clickable(onClick = onClick), .clickable(onClick = onClick),
shape = RoundedCornerShape(16.dp), shape = RoundedCornerShape(16.dp),
color = MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.5f), color = if (isAmoled) Color(0xFF121212) else colorScheme.surfaceVariant.copy(alpha = 0.5f),
tonalElevation = 1.dp, tonalElevation = 1.dp,
) { ) {
Column( Column(

View file

@ -4,6 +4,7 @@ import androidx.compose.foundation.lazy.LazyListScope
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.rounded.CollectionsBookmark import androidx.compose.material.icons.rounded.CollectionsBookmark
import androidx.compose.material.icons.rounded.Extension import androidx.compose.material.icons.rounded.Extension
import androidx.compose.material.icons.rounded.Home
import androidx.compose.material.icons.rounded.Hub import androidx.compose.material.icons.rounded.Hub
import androidx.compose.material.icons.rounded.Tune import androidx.compose.material.icons.rounded.Tune
@ -50,7 +51,7 @@ internal fun LazyListScope.contentDiscoveryContent(
SettingsNavigationRow( SettingsNavigationRow(
title = "Homescreen", title = "Homescreen",
description = "Control which catalogs appear on Home and in what order.", description = "Control which catalogs appear on Home and in what order.",
icon = Icons.Rounded.Tune, icon = Icons.Rounded.Home,
isTablet = isTablet, isTablet = isTablet,
onClick = onHomescreenClick, onClick = onHomescreenClick,
) )

View file

@ -19,7 +19,6 @@ import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.layout.widthIn
import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.rounded.ArrowForward
import androidx.compose.material.icons.rounded.Lock import androidx.compose.material.icons.rounded.Lock
import androidx.compose.material.icons.rounded.Menu import androidx.compose.material.icons.rounded.Menu
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
@ -44,6 +43,7 @@ import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalHapticFeedback import androidx.compose.ui.platform.LocalHapticFeedback
import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.nuvio.app.core.ui.NuvioActionLabel import com.nuvio.app.core.ui.NuvioActionLabel
import com.nuvio.app.core.ui.NuvioBackButton import com.nuvio.app.core.ui.NuvioBackButton
@ -57,13 +57,15 @@ private fun SettingsCard(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
content: @Composable ColumnScope.() -> Unit, content: @Composable ColumnScope.() -> Unit,
) { ) {
val colorScheme = MaterialTheme.colorScheme
val isAmoled = colorScheme.background == Color.Black && colorScheme.surface == Color(0xFF050505)
Surface( Surface(
modifier = modifier.fillMaxWidth(), modifier = modifier.fillMaxWidth(),
color = MaterialTheme.colorScheme.surface, color = if (isAmoled) Color(0xFF0B0B0B) else colorScheme.surface,
shape = RoundedCornerShape(if (isTablet) 20.dp else 16.dp), shape = RoundedCornerShape(if (isTablet) 20.dp else 16.dp),
border = BorderStroke( border = BorderStroke(
0.5.dp, 0.5.dp,
MaterialTheme.colorScheme.outlineVariant.copy(alpha = 0.16f), colorScheme.outlineVariant.copy(alpha = if (isAmoled) 0.24f else 0.16f),
), ),
) { ) {
Column(content = content) Column(content = content)
@ -217,13 +219,14 @@ internal fun SettingsNavigationRow(
.fillMaxWidth() .fillMaxWidth()
.clickable(onClick = onClick) .clickable(onClick = onClick)
.padding(horizontal = horizontalPadding, vertical = verticalPadding), .padding(horizontal = horizontalPadding, vertical = verticalPadding),
horizontalArrangement = Arrangement.SpaceBetween, horizontalArrangement = Arrangement.Start,
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
) { ) {
Row( Row(
modifier = Modifier modifier = Modifier
.weight(1f)
.padding(end = 12.dp) .padding(end = 12.dp)
.widthIn(max = if (isTablet) 560.dp else 320.dp), .widthIn(max = if (isTablet) 560.dp else Dp.Unspecified),
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
) { ) {
if (icon != null || iconPainter != null) { if (icon != null || iconPainter != null) {
@ -271,11 +274,6 @@ internal fun SettingsNavigationRow(
) )
} }
} }
Icon(
imageVector = Icons.AutoMirrored.Rounded.ArrowForward,
contentDescription = null,
tint = MaterialTheme.colorScheme.onSurfaceVariant,
)
} }
} }
@ -296,13 +294,14 @@ internal fun SettingsSwitchRow(
.fillMaxWidth() .fillMaxWidth()
.clickable(enabled = enabled) { onCheckedChange(!checked) } .clickable(enabled = enabled) { onCheckedChange(!checked) }
.padding(horizontal = horizontalPadding, vertical = verticalPadding), .padding(horizontal = horizontalPadding, vertical = verticalPadding),
horizontalArrangement = Arrangement.SpaceBetween, horizontalArrangement = Arrangement.Start,
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
) { ) {
Column( Column(
modifier = Modifier modifier = Modifier
.weight(1f)
.padding(end = 12.dp) .padding(end = 12.dp)
.widthIn(max = if (isTablet) 560.dp else 280.dp) .widthIn(max = if (isTablet) 560.dp else Dp.Unspecified)
.alpha(if (enabled) 1f else 0.55f), .alpha(if (enabled) 1f else 0.55f),
verticalArrangement = Arrangement.spacedBy(4.dp), verticalArrangement = Arrangement.spacedBy(4.dp),
) { ) {
@ -324,6 +323,7 @@ internal fun SettingsSwitchRow(
checked = checked, checked = checked,
onCheckedChange = onCheckedChange, onCheckedChange = onCheckedChange,
enabled = enabled, enabled = enabled,
modifier = Modifier.padding(start = 4.dp),
colors = SwitchDefaults.colors( colors = SwitchDefaults.colors(
checkedThumbColor = MaterialTheme.colorScheme.onPrimary, checkedThumbColor = MaterialTheme.colorScheme.onPrimary,
checkedTrackColor = MaterialTheme.colorScheme.primary, checkedTrackColor = MaterialTheme.colorScheme.primary,