feat: try out new m3 compliant fallback colour schemes

Signed-off-by: Infi <infi@infi.sh>
This commit is contained in:
Infi 2024-11-24 23:27:47 +01:00
parent 4d1fffe42a
commit 9882c0b5ba
3 changed files with 161 additions and 46 deletions

View File

@ -318,7 +318,7 @@ fun AppearanceSettingsScreen(
.padding(start = 20.dp, end = 20.dp)
) {
ColourChip(
color = Color(0xff191919),
color = Color(0xff333642),
text = stringResource(id = R.string.settings_appearance_theme_revolt),
selected = LoadedSettings.theme == Theme.Revolt,
modifier = Modifier
@ -351,7 +351,7 @@ fun AppearanceSettingsScreen(
}
ColourChip(
color = if (isSystemInDarkTheme()) Color(0xff191919) else Color(0xfff7f7f7),
color = if (isSystemInDarkTheme()) Color(0xff333642) else Color(0xfff7f7f7),
text = stringResource(id = R.string.settings_appearance_theme_none),
selected = LoadedSettings.theme == Theme.None,
modifier = Modifier

View File

@ -0,0 +1,79 @@
package chat.revolt.ui.theme
import androidx.compose.ui.graphics.Color
object Colour {
val RevoltUltraPink = Color(0xFFFF005C)
val PrimaryLight = Color(0xFFBD0042)
val OnPrimaryLight = Color(0xFFFFFFFF)
val PrimaryContainerLight = Color(0xFFFFD9DC)
val OnPrimaryContainerLight = Color(0xFF910031)
val SecondaryLight = Color(0xFFC0001F)
val OnSecondaryLight = Color(0xFFFFFFFF)
val SecondaryContainerLight = Color(0xFFFFDAD7)
val OnSecondaryContainerLight = Color(0xFF930015)
val TertiaryLight = Color(0xFF0060A9)
val OnTertiaryLight = Color(0xFFFFFFFF)
val TertiaryContainerLight = Color(0xFFD3E4FF)
val OnTertiaryContainerLight = Color(0xFF004881)
val ErrorLight = Color(0xFFC0001F)
val OnErrorLight = Color(0xFFFFFFFF)
val ErrorContainerLight = Color(0xFFFFDAD7)
val OnErrorContainerLight = Color(0xFF410004)
val BackgroundLight = Color(0xFFF9F9FF)
val OnBackgroundLight = Color(0xFF161B27)
val SurfaceLight = Color(0xFFF9F9FF)
val OnSurfaceLight = Color(0xFF161B27)
val SurfaceVariantLight = Color(0xFFDCE2F5)
val OnSurfaceVariantLight = Color(0xFF404756)
val OutlineLight = Color(0xFF717788)
val OutlineVariantLight = Color(0xFFC0C6D9)
val ScrimLight = Color(0xFF000000)
val InverseSurfaceLight = Color(0xFF2B303D)
val InverseOnSurfaceLight = Color(0xFFEDF0FF)
val InversePrimaryLight = Color(0xFFFFB2BA)
val SurfaceDimLight = Color(0xFFD5D9EA)
val SurfaceBrightLight = Color(0xFFF9F9FF)
val SurfaceContainerLowestLight = Color(0xFFFFFFFF)
val SurfaceContainerLowLight = Color(0xFFF1F3FF)
val SurfaceContainerLight = Color(0xFFE9EDFE)
val SurfaceContainerHighLight = Color(0xFFE4E8F8)
val SurfaceContainerHighestLight = Color(0xFFDEE2F2)
val PrimaryDark = Color(0xFFFFB2BA)
val OnPrimaryDark = Color(0xFF670020)
val PrimaryContainerDark = Color(0xFF910031)
val OnPrimaryContainerDark = Color(0xFFFFD9DC)
val SecondaryDark = Color(0xFFFFB3AE)
val OnSecondaryDark = Color(0xFF68000C)
val SecondaryContainerDark = Color(0xFF930015)
val OnSecondaryContainerDark = Color(0xFFFFDAD7)
val TertiaryDark = Color(0xFFA2C9FF)
val OnTertiaryDark = Color(0xFF00315B)
val TertiaryContainerDark = Color(0xFF004881)
val OnTertiaryContainerDark = Color(0xFFD3E4FF)
val ErrorDark = Color(0xFFFFB3AE)
val OnErrorDark = Color(0xFF68000C)
val ErrorContainerDark = Color(0xFF930015)
val OnErrorContainerDark = Color(0xFFFFDAD7)
val BackgroundDark = Color(0xFF0E131E)
val OnBackgroundDark = Color(0xFFDEE2F2)
val SurfaceDark = Color(0xFF0E131E)
val OnSurfaceDark = Color(0xFFDEE2F2)
val SurfaceVariantDark = Color(0xFF404756)
val OnSurfaceVariantDark = Color(0xFFC0C6D9)
val OutlineDark = Color(0xFF8A90A2)
val OutlineVariantDark = Color(0xFF404756)
val ScrimDark = Color(0xFF000000)
val InverseSurfaceDark = Color(0xFFDEE2F2)
val InverseOnSurfaceDark = Color(0xFF2B303D)
val InversePrimaryDark = Color(0xFFBD0042)
val SurfaceDimDark = Color(0xFF0E131E)
val SurfaceBrightDark = Color(0xFF343946)
val SurfaceContainerLowestDark = Color(0xFF090E19)
val SurfaceContainerLowDark = Color(0xFF161B27)
val SurfaceContainerDark = Color(0xFF1A202B)
val SurfaceContainerHighDark = Color(0xFF252A36)
val SurfaceContainerHighestDark = Color(0xFF303541)
}

View File

@ -4,7 +4,6 @@ import android.annotation.SuppressLint
import android.app.Activity
import android.os.Build
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material.ripple.RippleAlpha
import androidx.compose.material3.ColorScheme
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.darkColorScheme
@ -19,26 +18,80 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalView
import androidx.core.view.ViewCompat
val RevoltColorScheme = darkColorScheme(
primary = Color(0xffda4e5b),
onPrimary = Color(0xffffffff),
primaryContainer = Color(0xffda4e5b),
onPrimaryContainer = Color(0xffffffff),
secondary = Color(0xfff84848),
onSecondary = Color(0xffffffff),
secondaryContainer = Color(0xfff84848),
onSecondaryContainer = Color(0xffffffff),
tertiary = Color(0xff3abf7e),
onTertiary = Color(0xffffffff),
tertiaryContainer = Color(0xff3abf7e),
onTertiaryContainer = Color(0xffffffff),
background = Color(0xff191919),
onBackground = Color(0xffffffff),
surfaceVariant = Color(0xff242424),
onSurfaceVariant = Color(0xffffffff),
surface = Color(0xff191919),
onSurface = Color(0xffffffff),
surfaceTint = Color(0xFFC0C0C0),
val LightColorScheme = lightColorScheme(
primary = Colour.PrimaryLight,
onPrimary = Colour.OnPrimaryLight,
primaryContainer = Colour.PrimaryContainerLight,
onPrimaryContainer = Colour.OnPrimaryContainerLight,
secondary = Colour.SecondaryLight,
onSecondary = Colour.OnSecondaryLight,
secondaryContainer = Colour.SecondaryContainerLight,
onSecondaryContainer = Colour.OnSecondaryContainerLight,
tertiary = Colour.TertiaryLight,
onTertiary = Colour.OnTertiaryLight,
tertiaryContainer = Colour.TertiaryContainerLight,
onTertiaryContainer = Colour.OnTertiaryContainerLight,
error = Colour.ErrorLight,
onError = Colour.OnErrorLight,
errorContainer = Colour.ErrorContainerLight,
onErrorContainer = Colour.OnErrorContainerLight,
background = Colour.BackgroundLight,
onBackground = Colour.OnBackgroundLight,
surface = Colour.SurfaceLight,
onSurface = Colour.OnSurfaceLight,
surfaceVariant = Colour.SurfaceVariantLight,
onSurfaceVariant = Colour.OnSurfaceVariantLight,
outline = Colour.OutlineLight,
outlineVariant = Colour.OutlineVariantLight,
scrim = Colour.ScrimLight,
inverseSurface = Colour.InverseSurfaceLight,
inverseOnSurface = Colour.InverseOnSurfaceLight,
inversePrimary = Colour.InversePrimaryLight,
surfaceDim = Colour.SurfaceDimLight,
surfaceBright = Colour.SurfaceBrightLight,
surfaceContainerLowest = Colour.SurfaceContainerLowestLight,
surfaceContainerLow = Colour.SurfaceContainerLowLight,
surfaceContainer = Colour.SurfaceContainerLight,
surfaceContainerHigh = Colour.SurfaceContainerHighLight,
surfaceContainerHighest = Colour.SurfaceContainerHighestLight,
)
private val RevoltColorScheme = darkColorScheme(
primary = Colour.PrimaryDark,
onPrimary = Colour.OnPrimaryDark,
primaryContainer = Colour.PrimaryContainerDark,
onPrimaryContainer = Colour.OnPrimaryContainerDark,
secondary = Colour.SecondaryDark,
onSecondary = Colour.OnSecondaryDark,
secondaryContainer = Colour.SecondaryContainerDark,
onSecondaryContainer = Colour.OnSecondaryContainerDark,
tertiary = Colour.TertiaryDark,
onTertiary = Colour.OnTertiaryDark,
tertiaryContainer = Colour.TertiaryContainerDark,
onTertiaryContainer = Colour.OnTertiaryContainerDark,
error = Colour.ErrorDark,
onError = Colour.OnErrorDark,
errorContainer = Colour.ErrorContainerDark,
onErrorContainer = Colour.OnErrorContainerDark,
background = Colour.BackgroundDark,
onBackground = Colour.OnBackgroundDark,
surface = Colour.SurfaceDark,
onSurface = Colour.OnSurfaceDark,
surfaceVariant = Colour.SurfaceVariantDark,
onSurfaceVariant = Colour.OnSurfaceVariantDark,
outline = Colour.OutlineDark,
outlineVariant = Colour.OutlineVariantDark,
scrim = Colour.ScrimDark,
inverseSurface = Colour.InverseSurfaceDark,
inverseOnSurface = Colour.InverseOnSurfaceDark,
inversePrimary = Colour.InversePrimaryDark,
surfaceDim = Colour.SurfaceDimDark,
surfaceBright = Colour.SurfaceBrightDark,
surfaceContainerLowest = Colour.SurfaceContainerLowestDark,
surfaceContainerLow = Colour.SurfaceContainerLowDark,
surfaceContainer = Colour.SurfaceContainerDark,
surfaceContainerHigh = Colour.SurfaceContainerHighDark,
surfaceContainerHighest = Colour.SurfaceContainerHighestDark,
)
val AmoledColorScheme = RevoltColorScheme.copy(
@ -47,29 +100,12 @@ val AmoledColorScheme = RevoltColorScheme.copy(
surfaceVariant = Color(0xff131313),
onSurfaceVariant = Color(0xffffffff),
surface = Color(0xff000000),
onSurface = Color(0xffffffff)
)
val LightColorScheme = lightColorScheme(
primary = Color(0xffda4e5b),
onPrimary = Color(0xffffffff),
primaryContainer = Color(0xffda4e5b),
onPrimaryContainer = Color(0xffffffff),
secondary = Color(0xfff84848),
onSecondary = Color(0xffffffff),
secondaryContainer = Color(0xfff84848),
onSecondaryContainer = Color(0xffffffff),
tertiary = Color(0xff3abf7e),
onTertiary = Color(0xffffffff),
tertiaryContainer = Color(0xff3abf7e),
onTertiaryContainer = Color(0xffffffff),
background = Color(0xffffffff),
onBackground = Color(0xff000000),
surfaceVariant = Color(0xffe0e0e0),
onSurfaceVariant = Color(0xff000000),
surface = Color(0xffffffff),
onSurface = Color(0xff000000),
surfaceTint = Color(0xff5658b9)
onSurface = Color(0xffffffff),
surfaceContainerLowest = Color(0xff000000),
surfaceContainerLow = Color(0xff000000),
surfaceContainer = Color(0xff000000),
surfaceContainerHigh = Color(0xff000000),
surfaceContainerHighest = Color(0xff000000),
)
enum class Theme {