fix(ui): fine-tune dark color scheme

This commit is contained in:
junkfood 2024-11-20 22:08:19 +08:00
parent 697e94eb88
commit 76ec77a502
No known key found for this signature in database
GPG Key ID: 2EA5B648DB112A34
2 changed files with 13 additions and 8 deletions

View File

@ -52,7 +52,7 @@ fun dynamicLightColorScheme(): ColorScheme {
@Composable @Composable
fun dynamicDarkColorScheme(): ColorScheme { fun dynamicDarkColorScheme(): ColorScheme {
val palettes = LocalTonalPalettes.current val palettes = LocalTonalPalettes.current
val amoledDarkTheme = LocalAmoledDarkTheme.current val useAmoledDarkTheme = LocalAmoledDarkTheme.current.value
return darkColorScheme( return darkColorScheme(
primary = palettes primary 80, primary = palettes primary 80,
@ -70,7 +70,7 @@ fun dynamicDarkColorScheme(): ColorScheme {
onTertiaryContainer = palettes tertiary 90, onTertiaryContainer = palettes tertiary 90,
background = palettes neutral 10, background = palettes neutral 10,
onBackground = palettes neutral 90, onBackground = palettes neutral 90,
surface = palettes neutral if (amoledDarkTheme.value) 0 else 10, surface = palettes neutral 6,
onSurface = palettes neutral 90, onSurface = palettes neutral 90,
surfaceVariant = palettes neutralVariant 30, surfaceVariant = palettes neutralVariant 30,
onSurfaceVariant = palettes neutralVariant 80, onSurfaceVariant = palettes neutralVariant 80,
@ -86,7 +86,16 @@ fun dynamicDarkColorScheme(): ColorScheme {
surfaceContainer = palettes neutral 12, surfaceContainer = palettes neutral 12,
surfaceContainerHigh = palettes neutral 17, surfaceContainerHigh = palettes neutral 17,
surfaceContainerHighest = palettes neutral 22, surfaceContainerHighest = palettes neutral 22,
) ).run {
if (useAmoledDarkTheme) copy(
surface = Color.Black,
surfaceContainerHighest = surfaceContainerLowest,
surfaceContainerHigh = palettes neutral 3,
surfaceContainer = palettes neutral 2,
surfaceContainerLow = palettes neutral 1,
surfaceContainerLowest = Color.Black,
) else this
}
} }
@Composable @Composable
@ -111,7 +120,6 @@ infix fun Color.alwaysLight(isAlways: Boolean): Color {
colorScheme.error -> colorScheme.onError colorScheme.error -> colorScheme.onError
colorScheme.surface -> colorScheme.onSurface colorScheme.surface -> colorScheme.onSurface
colorScheme.surfaceVariant -> colorScheme.onSurfaceVariant colorScheme.surfaceVariant -> colorScheme.onSurfaceVariant
colorScheme.error -> colorScheme.onError
colorScheme.primaryContainer -> colorScheme.onPrimaryContainer colorScheme.primaryContainer -> colorScheme.onPrimaryContainer
colorScheme.secondaryContainer -> colorScheme.onSecondaryContainer colorScheme.secondaryContainer -> colorScheme.onSecondaryContainer
colorScheme.tertiaryContainer -> colorScheme.onTertiaryContainer colorScheme.tertiaryContainer -> colorScheme.onTertiaryContainer
@ -125,7 +133,6 @@ infix fun Color.alwaysLight(isAlways: Boolean): Color {
colorScheme.onError -> colorScheme.error colorScheme.onError -> colorScheme.error
colorScheme.onSurface -> colorScheme.surface colorScheme.onSurface -> colorScheme.surface
colorScheme.onSurfaceVariant -> colorScheme.surfaceVariant colorScheme.onSurfaceVariant -> colorScheme.surfaceVariant
colorScheme.onError -> colorScheme.error
colorScheme.onPrimaryContainer -> colorScheme.primaryContainer colorScheme.onPrimaryContainer -> colorScheme.primaryContainer
colorScheme.onSecondaryContainer -> colorScheme.secondaryContainer colorScheme.onSecondaryContainer -> colorScheme.secondaryContainer
colorScheme.onTertiaryContainer -> colorScheme.tertiaryContainer colorScheme.onTertiaryContainer -> colorScheme.tertiaryContainer
@ -153,7 +160,6 @@ infix fun Color.alwaysDark(isAlways: Boolean): Color {
colorScheme.error -> colorScheme.onError colorScheme.error -> colorScheme.onError
colorScheme.surface -> colorScheme.onSurface colorScheme.surface -> colorScheme.onSurface
colorScheme.surfaceVariant -> colorScheme.onSurfaceVariant colorScheme.surfaceVariant -> colorScheme.onSurfaceVariant
colorScheme.error -> colorScheme.onError
colorScheme.primaryContainer -> colorScheme.onPrimaryContainer colorScheme.primaryContainer -> colorScheme.onPrimaryContainer
colorScheme.secondaryContainer -> colorScheme.onSecondaryContainer colorScheme.secondaryContainer -> colorScheme.onSecondaryContainer
colorScheme.tertiaryContainer -> colorScheme.onTertiaryContainer colorScheme.tertiaryContainer -> colorScheme.onTertiaryContainer
@ -167,7 +173,6 @@ infix fun Color.alwaysDark(isAlways: Boolean): Color {
colorScheme.onError -> colorScheme.error colorScheme.onError -> colorScheme.error
colorScheme.onSurface -> colorScheme.surface colorScheme.onSurface -> colorScheme.surface
colorScheme.onSurfaceVariant -> colorScheme.surfaceVariant colorScheme.onSurfaceVariant -> colorScheme.surfaceVariant
colorScheme.onError -> colorScheme.error
colorScheme.onPrimaryContainer -> colorScheme.primaryContainer colorScheme.onPrimaryContainer -> colorScheme.primaryContainer
colorScheme.onSecondaryContainer -> colorScheme.secondaryContainer colorScheme.onSecondaryContainer -> colorScheme.secondaryContainer
colorScheme.onTertiaryContainer -> colorScheme.tertiaryContainer colorScheme.onTertiaryContainer -> colorScheme.tertiaryContainer

View File

@ -82,7 +82,7 @@ data class TonalPalettes(
infix fun neutral(tone: TonalValue): Color = neutral.getOrPut(tone) { infix fun neutral(tone: TonalValue): Color = neutral.getOrPut(tone) {
zcamLch( zcamLch(
L = tone.toZcamLightness(), L = tone.toZcamLightness(),
C = MaterialYouStandard.sRGBLightnessChromaMap.getValue(tone) / 12.0, C = MaterialYouStandard.sRGBLightnessChromaMap.getValue(tone) / 8.0,
h = hue, h = hue,
).clampToRgb().toColor() ).clampToRgb().toColor()
} }