new: define light and dark color schemes

This commit is contained in:
2026-07-01 15:35:26 +02:00
parent be2239b640
commit 63cfdd5d3c
3 changed files with 142 additions and 4 deletions
@@ -41,7 +41,6 @@ fun RecordsScreen(
modifier =
Modifier
.padding(innerPadding)
.background(MaterialTheme.colorScheme.primaryContainer)
.fillMaxSize(),
) {
itemsIndexed(
@@ -0,0 +1,75 @@
package fr.ajaury.gwenedeg.theme
import androidx.compose.ui.graphics.Color
// region Light
internal val md_light_primary = Color(0xFFFF9201)
internal val md_light_onPrimary = Color(0xFFFFFFFF)
internal val md_light_primaryContainer = Color(0xFFFFEBD1)
internal val md_light_onPrimaryContainer = Color(0xFF1C1613)
internal val md_light_secondary = Color(0xFF334654)
internal val md_light_onSecondary = Color(0xFFFFFFFF)
internal val md_light_secondaryContainer = Color(0xFFB9CDCD)
internal val md_light_onSecondaryContainer = Color(0xFF141818)
internal val md_light_tertiary = Color(0xFF7A5900)
internal val md_light_onTertiary = Color(0xFFFFFFFF)
internal val md_light_tertiaryContainer = Color(0xFFFFDF94)
internal val md_light_onTertiaryContainer = Color(0xFF261A00)
internal val md_light_error = Color(0xFFBA1A1A)
internal val md_light_onError = Color(0xFFFFFFFF)
internal val md_light_errorContainer = Color(0xFFFFDAD6)
internal val md_light_onErrorContainer = Color(0xFF410002)
internal val md_light_background = Color(0xFFF5FAFB)
internal val md_light_onBackground = Color(0xFF171D1E)
internal val md_light_surface = Color(0xFFF5FAFB)
internal val md_light_onSurface = Color(0xFF171D1E)
internal val md_light_surfaceVariant = Color(0xFFDBE4E6)
internal val md_light_onSurfaceVariant = Color(0xFF3F484A)
internal val md_light_outline = Color(0xFF6F797B)
internal val md_light_outlineVariant = Color(0xFFBFC8CA)
internal val md_light_scrim = Color(0xFF000000)
internal val md_light_inverseSurface = Color(0xFF2B3133)
internal val md_light_inverseOnSurface = Color(0xFFECF2F3)
internal val md_light_inversePrimary = Color(0xFF82D3DF)
// endregion
// region Dark
internal val md_dark_primary = Color(0xFFFF9201)
internal val md_dark_onPrimary = Color(0xFF1C1613)
internal val md_dark_primaryContainer = Color(0xFF1C1613)
internal val md_dark_onPrimaryContainer = Color(0xFFFFE2D9)
internal val md_dark_secondary = Color(0xFFB9CDCD)
internal val md_dark_onSecondary = Color(0xFF141818)
internal val md_dark_secondaryContainer = Color(0xFF334654)
internal val md_dark_onSecondaryContainer = Color(0xFFFFFFFF)
internal val md_dark_tertiary = Color(0xFFECC069)
internal val md_dark_onTertiary = Color(0xFF402D00)
internal val md_dark_tertiaryContainer = Color(0xFF5C4300)
internal val md_dark_onTertiaryContainer = Color(0xFFFFDF94)
internal val md_dark_error = Color(0xFFFFB4AB)
internal val md_dark_onError = Color(0xFF690005)
internal val md_dark_errorContainer = Color(0xFF93000A)
internal val md_dark_onErrorContainer = Color(0xFFFFDAD6)
internal val md_dark_background = Color(0xFF0E1415)
internal val md_dark_onBackground = Color(0xFFDEE3E4)
internal val md_dark_surface = Color(0xFF0E1415)
internal val md_dark_onSurface = Color(0xFFDEE3E4)
internal val md_dark_surfaceVariant = Color(0xFF3F484A)
internal val md_dark_onSurfaceVariant = Color(0xFFBFC8CA)
internal val md_dark_outline = Color(0xFF899294)
internal val md_dark_outlineVariant = Color(0xFF3F484A)
internal val md_dark_scrim = Color(0xFF000000)
internal val md_dark_inverseSurface = Color(0xFFDEE3E4)
internal val md_dark_inverseOnSurface = Color(0xFF2B3133)
internal val md_dark_inversePrimary = Color(0xFF1F6B75)
// endregion
@@ -1,20 +1,84 @@
package fr.ajaury.gwenedeg.theme
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.ColorScheme
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.darkColorScheme
import androidx.compose.material3.lightColorScheme
import androidx.compose.runtime.Composable
private val DarkColorScheme = darkColorScheme()
private val LightColorScheme = lightColorScheme()
val GwenedegLightColorScheme: ColorScheme = lightColorScheme(
primary = md_light_primary,
onPrimary = md_light_onPrimary,
primaryContainer = md_light_primaryContainer,
onPrimaryContainer = md_light_onPrimaryContainer,
secondary = md_light_secondary,
onSecondary = md_light_onSecondary,
secondaryContainer = md_light_secondaryContainer,
onSecondaryContainer = md_light_onSecondaryContainer,
tertiary = md_light_tertiary,
onTertiary = md_light_onTertiary,
tertiaryContainer = md_light_tertiaryContainer,
onTertiaryContainer = md_light_onTertiaryContainer,
error = md_light_error,
onError = md_light_onError,
errorContainer = md_light_errorContainer,
onErrorContainer = md_light_onErrorContainer,
background = md_light_background,
onBackground = md_light_onBackground,
surface = md_light_surface,
onSurface = md_light_onSurface,
surfaceVariant = md_light_surfaceVariant,
onSurfaceVariant = md_light_onSurfaceVariant,
outline = md_light_outline,
outlineVariant = md_light_outlineVariant,
scrim = md_light_scrim,
inverseSurface = md_light_inverseSurface,
inverseOnSurface = md_light_inverseOnSurface,
inversePrimary = md_light_inversePrimary,
surfaceTint = md_light_primary,
)
val GwenedegDarkColorScheme: ColorScheme = darkColorScheme(
primary = md_dark_primary,
onPrimary = md_dark_onPrimary,
primaryContainer = md_dark_primaryContainer,
onPrimaryContainer = md_dark_onPrimaryContainer,
secondary = md_dark_secondary,
onSecondary = md_dark_onSecondary,
secondaryContainer = md_dark_secondaryContainer,
onSecondaryContainer = md_dark_onSecondaryContainer,
tertiary = md_dark_tertiary,
onTertiary = md_dark_onTertiary,
tertiaryContainer = md_dark_tertiaryContainer,
onTertiaryContainer = md_dark_onTertiaryContainer,
error = md_dark_error,
onError = md_dark_onError,
errorContainer = md_dark_errorContainer,
onErrorContainer = md_dark_onErrorContainer,
background = md_dark_background,
onBackground = md_dark_onBackground,
surface = md_dark_surface,
onSurface = md_dark_onSurface,
surfaceVariant = md_dark_surfaceVariant,
onSurfaceVariant = md_dark_onSurfaceVariant,
outline = md_dark_outline,
outlineVariant = md_dark_outlineVariant,
scrim = md_dark_scrim,
inverseSurface = md_dark_inverseSurface,
inverseOnSurface = md_dark_inverseOnSurface,
inversePrimary = md_dark_inversePrimary,
surfaceTint = md_dark_primary,
)
@Composable
fun GwenedegTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
lightColorScheme: ColorScheme = GwenedegLightColorScheme,
darkColorScheme: ColorScheme = GwenedegDarkColorScheme,
content: @Composable () -> Unit,
) {
val colorScheme = if (darkTheme) DarkColorScheme else LightColorScheme
val colorScheme = if (darkTheme) darkColorScheme else lightColorScheme
MaterialTheme(
colorScheme = colorScheme,