mirror of
https://github.com/JustinZeus/Wholphin.git
synced 2026-07-08 15:50:16 +02:00
Add a few color themes
This commit is contained in:
parent
bb517e0857
commit
165fd80c0e
13 changed files with 866 additions and 195 deletions
|
|
@ -61,7 +61,13 @@ class MainActivity : AppCompatActivity() {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
Timber.i("MainActivity.onCreate")
|
Timber.i("MainActivity.onCreate")
|
||||||
setContent {
|
setContent {
|
||||||
DolphinTheme(true) {
|
CoilConfig(okHttpClient, false)
|
||||||
|
val appPreferences by userPreferencesDataStore.data.collectAsState(null)
|
||||||
|
appPreferences?.let { appPreferences ->
|
||||||
|
DolphinTheme(
|
||||||
|
true,
|
||||||
|
appThemeColors = appPreferences.interfacePreferences.appThemeColors,
|
||||||
|
) {
|
||||||
Surface(
|
Surface(
|
||||||
modifier =
|
modifier =
|
||||||
Modifier
|
Modifier
|
||||||
|
|
@ -69,11 +75,7 @@ class MainActivity : AppCompatActivity() {
|
||||||
.background(MaterialTheme.colorScheme.background),
|
.background(MaterialTheme.colorScheme.background),
|
||||||
shape = RectangleShape,
|
shape = RectangleShape,
|
||||||
) {
|
) {
|
||||||
CoilConfig(okHttpClient, false)
|
|
||||||
|
|
||||||
var isRestoringSession by remember { mutableStateOf(true) }
|
var isRestoringSession by remember { mutableStateOf(true) }
|
||||||
val appPreferences by userPreferencesDataStore.data.collectAsState(null)
|
|
||||||
appPreferences?.let { appPreferences ->
|
|
||||||
LaunchedEffect(Unit) {
|
LaunchedEffect(Unit) {
|
||||||
if (appPreferences.currentServerId.isNotBlank()) {
|
if (appPreferences.currentServerId.isNotBlank()) {
|
||||||
serverRepository.restoreSession(
|
serverRepository.restoreSession(
|
||||||
|
|
|
||||||
|
|
@ -312,6 +312,19 @@ sealed interface AppPreference<T> {
|
||||||
summaryOff = R.string.disabled,
|
summaryOff = R.string.disabled,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
val ThemeColors =
|
||||||
|
AppChoicePreference<AppThemeColors>(
|
||||||
|
title = R.string.app_theme,
|
||||||
|
defaultValue = AppThemeColors.PURPLE,
|
||||||
|
getter = { it.interfacePreferences.appThemeColors },
|
||||||
|
setter = { prefs, value ->
|
||||||
|
prefs.updateInterfacePreferences { appThemeColors = value }
|
||||||
|
},
|
||||||
|
displayValues = R.array.app_theme_colors,
|
||||||
|
indexToValue = { AppThemeColors.forNumber(it) },
|
||||||
|
valueToIndex = { it.number },
|
||||||
|
)
|
||||||
|
|
||||||
val InstalledVersion =
|
val InstalledVersion =
|
||||||
AppClickablePreference(
|
AppClickablePreference(
|
||||||
title = R.string.installed_version,
|
title = R.string.installed_version,
|
||||||
|
|
@ -360,6 +373,7 @@ val basicPreferences =
|
||||||
AppPreference.RewatchNextUp,
|
AppPreference.RewatchNextUp,
|
||||||
AppPreference.PlayThemeMusic,
|
AppPreference.PlayThemeMusic,
|
||||||
AppPreference.RememberSelectedTab,
|
AppPreference.RememberSelectedTab,
|
||||||
|
AppPreference.ThemeColors,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
PreferenceGroup(
|
PreferenceGroup(
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@ class AppPreferencesSerializer
|
||||||
.newBuilder()
|
.newBuilder()
|
||||||
.apply {
|
.apply {
|
||||||
playThemeSongs = AppPreference.PlayThemeMusic.defaultValue
|
playThemeSongs = AppPreference.PlayThemeMusic.defaultValue
|
||||||
|
appThemeColors = AppPreference.ThemeColors.defaultValue
|
||||||
}.build()
|
}.build()
|
||||||
}.build()
|
}.build()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
||||||
package com.github.damontecres.dolphin.ui.theme
|
|
||||||
import androidx.compose.ui.graphics.Color
|
|
||||||
|
|
||||||
val primaryLight = Color(0xFF5F00D6)
|
|
||||||
val onPrimaryLight = Color(0xFFFFFFFF)
|
|
||||||
val primaryContainerLight = Color(0xFF7A28FE)
|
|
||||||
val onPrimaryContainerLight = Color(0xFFEADCFF)
|
|
||||||
val secondaryLight = Color(0xFF6B4BAE)
|
|
||||||
val onSecondaryLight = Color(0xFFFFFFFF)
|
|
||||||
val secondaryContainerLight = Color(0xFFB594FD)
|
|
||||||
val onSecondaryContainerLight = Color(0xFF472489)
|
|
||||||
val tertiaryLight = Color(0xFF8F007E)
|
|
||||||
val onTertiaryLight = Color(0xFFFFFFFF)
|
|
||||||
val tertiaryContainerLight = Color(0xFFB800A3)
|
|
||||||
val onTertiaryContainerLight = Color(0xFFFFD7F0)
|
|
||||||
val errorLight = Color(0xFFBA1A1A)
|
|
||||||
val onErrorLight = Color(0xFFFFFFFF)
|
|
||||||
val errorContainerLight = Color(0xFFFFDAD6)
|
|
||||||
val onErrorContainerLight = Color(0xFF93000A)
|
|
||||||
val backgroundLight = Color(0xFFFEF7FF)
|
|
||||||
val onBackgroundLight = Color(0xFF1D1A25)
|
|
||||||
val surfaceLight = Color(0xFFFEF7FF)
|
|
||||||
val onSurfaceLight = Color(0xFF1D1A25)
|
|
||||||
val surfaceVariantLight = Color(0xFFE9DEF6)
|
|
||||||
val onSurfaceVariantLight = Color(0xFF4A4456)
|
|
||||||
val scrimLight = Color(0xFF000000)
|
|
||||||
val inverseSurfaceLight = Color(0xFF332E3A)
|
|
||||||
val inverseOnSurfaceLight = Color(0xFFF6EDFE)
|
|
||||||
val inversePrimaryLight = Color(0xFFD2BCFF)
|
|
||||||
|
|
||||||
val primaryDark = Color(0xFFD2BCFF)
|
|
||||||
val onPrimaryDark = Color(0xFF3D008F)
|
|
||||||
val primaryContainerDark = Color(0xFF7A28FE)
|
|
||||||
val onPrimaryContainerDark = Color(0xFFEADCFF)
|
|
||||||
val secondaryDark = Color(0xFFD2BCFF)
|
|
||||||
val onSecondaryDark = Color(0xFF3B167D)
|
|
||||||
val secondaryContainerDark = Color(0xFF533295)
|
|
||||||
val onSecondaryContainerDark = Color(0xFFC2A6FF)
|
|
||||||
val tertiaryDark = Color(0xFFFFACE7)
|
|
||||||
val onTertiaryDark = Color(0xFF5E0052)
|
|
||||||
val tertiaryContainerDark = Color(0xFFB800A3)
|
|
||||||
val onTertiaryContainerDark = Color(0xFFFFD7F0)
|
|
||||||
val errorDark = Color(0xFFFFB4AB)
|
|
||||||
val onErrorDark = Color(0xFF690005)
|
|
||||||
val errorContainerDark = Color(0xFF93000A)
|
|
||||||
val onErrorContainerDark = Color(0xFFFFDAD6)
|
|
||||||
val backgroundDark = Color(0xFF15121C)
|
|
||||||
val onBackgroundDark = Color(0xFFE8DFF0)
|
|
||||||
val surfaceDark = Color(0xFF15121C)
|
|
||||||
val onSurfaceDark = Color(0xFFE8DFF0)
|
|
||||||
val surfaceVariantDark = Color(0xFF4A4456)
|
|
||||||
val onSurfaceVariantDark = Color(0xFFCCC3D9)
|
|
||||||
val scrimDark = Color(0xFF000000)
|
|
||||||
val inverseSurfaceDark = Color(0xFFE8DFF0)
|
|
||||||
val inverseOnSurfaceDark = Color(0xFF332E3A)
|
|
||||||
val inversePrimaryDark = Color(0xFF741BF8)
|
|
||||||
|
|
@ -5,130 +5,11 @@ import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.tv.material3.MaterialTheme
|
import androidx.tv.material3.MaterialTheme
|
||||||
import androidx.tv.material3.darkColorScheme
|
import com.github.damontecres.dolphin.preferences.AppThemeColors
|
||||||
import androidx.tv.material3.lightColorScheme
|
import com.github.damontecres.dolphin.ui.theme.colors.BlueThemeColors
|
||||||
|
import com.github.damontecres.dolphin.ui.theme.colors.GreenThemeColors
|
||||||
private val lightSchemeMaterial =
|
import com.github.damontecres.dolphin.ui.theme.colors.OrangeThemeColors
|
||||||
androidx.compose.material3.lightColorScheme(
|
import com.github.damontecres.dolphin.ui.theme.colors.PurpleThemeColors
|
||||||
primary = primaryLight,
|
|
||||||
onPrimary = onPrimaryLight,
|
|
||||||
primaryContainer = primaryContainerLight,
|
|
||||||
onPrimaryContainer = onPrimaryContainerLight,
|
|
||||||
secondary = secondaryLight,
|
|
||||||
onSecondary = onSecondaryLight,
|
|
||||||
secondaryContainer = secondaryContainerLight,
|
|
||||||
onSecondaryContainer = onSecondaryContainerLight,
|
|
||||||
tertiary = tertiaryLight,
|
|
||||||
onTertiary = onTertiaryLight,
|
|
||||||
tertiaryContainer = tertiaryContainerLight,
|
|
||||||
onTertiaryContainer = onTertiaryContainerLight,
|
|
||||||
error = errorLight,
|
|
||||||
onError = onErrorLight,
|
|
||||||
errorContainer = errorContainerLight,
|
|
||||||
onErrorContainer = onErrorContainerLight,
|
|
||||||
background = backgroundLight,
|
|
||||||
onBackground = onBackgroundLight,
|
|
||||||
surface = surfaceLight,
|
|
||||||
onSurface = onSurfaceLight,
|
|
||||||
surfaceVariant = surfaceVariantLight,
|
|
||||||
onSurfaceVariant = onSurfaceVariantLight,
|
|
||||||
scrim = scrimLight,
|
|
||||||
inverseSurface = inverseSurfaceLight,
|
|
||||||
inverseOnSurface = inverseOnSurfaceLight,
|
|
||||||
inversePrimary = inversePrimaryLight,
|
|
||||||
)
|
|
||||||
|
|
||||||
private val lightScheme =
|
|
||||||
lightColorScheme(
|
|
||||||
primary = primaryLight,
|
|
||||||
onPrimary = onPrimaryLight,
|
|
||||||
primaryContainer = primaryContainerLight,
|
|
||||||
onPrimaryContainer = onPrimaryContainerLight,
|
|
||||||
secondary = secondaryLight,
|
|
||||||
onSecondary = onSecondaryLight,
|
|
||||||
secondaryContainer = secondaryContainerLight,
|
|
||||||
onSecondaryContainer = onSecondaryContainerLight,
|
|
||||||
tertiary = tertiaryLight,
|
|
||||||
onTertiary = onTertiaryLight,
|
|
||||||
tertiaryContainer = tertiaryContainerLight,
|
|
||||||
onTertiaryContainer = onTertiaryContainerLight,
|
|
||||||
error = errorLight,
|
|
||||||
onError = onErrorLight,
|
|
||||||
errorContainer = errorContainerLight,
|
|
||||||
onErrorContainer = onErrorContainerLight,
|
|
||||||
background = backgroundLight,
|
|
||||||
onBackground = onBackgroundLight,
|
|
||||||
surface = surfaceLight,
|
|
||||||
onSurface = onSurfaceLight,
|
|
||||||
surfaceVariant = surfaceVariantLight,
|
|
||||||
onSurfaceVariant = onSurfaceVariantLight,
|
|
||||||
scrim = scrimLight,
|
|
||||||
inverseSurface = inverseSurfaceLight,
|
|
||||||
inverseOnSurface = inverseOnSurfaceLight,
|
|
||||||
inversePrimary = inversePrimaryLight,
|
|
||||||
border = inversePrimaryLight,
|
|
||||||
)
|
|
||||||
|
|
||||||
private val darkSchemeMaterial =
|
|
||||||
androidx.compose.material3.darkColorScheme(
|
|
||||||
primary = primaryDark,
|
|
||||||
onPrimary = onPrimaryDark,
|
|
||||||
primaryContainer = primaryContainerDark,
|
|
||||||
onPrimaryContainer = onPrimaryContainerDark,
|
|
||||||
secondary = secondaryDark,
|
|
||||||
onSecondary = onSecondaryDark,
|
|
||||||
secondaryContainer = secondaryContainerDark,
|
|
||||||
onSecondaryContainer = onSecondaryContainerDark,
|
|
||||||
tertiary = tertiaryDark,
|
|
||||||
onTertiary = onTertiaryDark,
|
|
||||||
tertiaryContainer = tertiaryContainerDark,
|
|
||||||
onTertiaryContainer = onTertiaryContainerDark,
|
|
||||||
error = errorDark,
|
|
||||||
onError = onErrorDark,
|
|
||||||
errorContainer = errorContainerDark,
|
|
||||||
onErrorContainer = onErrorContainerDark,
|
|
||||||
background = backgroundDark,
|
|
||||||
onBackground = onBackgroundDark,
|
|
||||||
surface = surfaceDark,
|
|
||||||
onSurface = onSurfaceDark,
|
|
||||||
surfaceVariant = surfaceVariantDark,
|
|
||||||
onSurfaceVariant = onSurfaceVariantDark,
|
|
||||||
scrim = scrimDark,
|
|
||||||
inverseSurface = inverseSurfaceDark,
|
|
||||||
inverseOnSurface = inverseOnSurfaceDark,
|
|
||||||
inversePrimary = inversePrimaryDark,
|
|
||||||
)
|
|
||||||
|
|
||||||
private val darkScheme =
|
|
||||||
darkColorScheme(
|
|
||||||
primary = primaryDark,
|
|
||||||
onPrimary = onPrimaryDark,
|
|
||||||
primaryContainer = primaryContainerDark,
|
|
||||||
onPrimaryContainer = onPrimaryContainerDark,
|
|
||||||
secondary = secondaryDark,
|
|
||||||
onSecondary = onSecondaryDark,
|
|
||||||
secondaryContainer = secondaryContainerDark,
|
|
||||||
onSecondaryContainer = onSecondaryContainerDark,
|
|
||||||
tertiary = tertiaryDark,
|
|
||||||
onTertiary = onTertiaryDark,
|
|
||||||
tertiaryContainer = tertiaryContainerDark,
|
|
||||||
onTertiaryContainer = onTertiaryContainerDark,
|
|
||||||
error = errorDark,
|
|
||||||
onError = onErrorDark,
|
|
||||||
errorContainer = errorContainerDark,
|
|
||||||
onErrorContainer = onErrorContainerDark,
|
|
||||||
background = backgroundDark,
|
|
||||||
onBackground = onBackgroundDark,
|
|
||||||
surface = surfaceDark,
|
|
||||||
onSurface = onSurfaceDark,
|
|
||||||
surfaceVariant = surfaceVariantDark,
|
|
||||||
onSurfaceVariant = onSurfaceVariantDark,
|
|
||||||
scrim = scrimDark,
|
|
||||||
inverseSurface = inverseSurfaceDark,
|
|
||||||
inverseOnSurface = inverseOnSurfaceDark,
|
|
||||||
inversePrimary = inversePrimaryDark,
|
|
||||||
border = inversePrimaryDark.copy(alpha = .75f),
|
|
||||||
)
|
|
||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
data class ColorFamily(
|
data class ColorFamily(
|
||||||
|
|
@ -149,15 +30,25 @@ val unspecified_scheme =
|
||||||
@Composable
|
@Composable
|
||||||
fun DolphinTheme(
|
fun DolphinTheme(
|
||||||
darkTheme: Boolean = isSystemInDarkTheme(),
|
darkTheme: Boolean = isSystemInDarkTheme(),
|
||||||
|
appThemeColors: AppThemeColors = AppThemeColors.PURPLE,
|
||||||
content: @Composable () -> Unit,
|
content: @Composable () -> Unit,
|
||||||
) {
|
) {
|
||||||
|
val themeColors =
|
||||||
|
when (appThemeColors) {
|
||||||
|
AppThemeColors.PURPLE -> PurpleThemeColors
|
||||||
|
AppThemeColors.BLUE -> BlueThemeColors
|
||||||
|
AppThemeColors.GREEN -> GreenThemeColors
|
||||||
|
AppThemeColors.ORANGE -> OrangeThemeColors
|
||||||
|
AppThemeColors.UNRECOGNIZED -> PurpleThemeColors
|
||||||
|
}
|
||||||
|
|
||||||
val colorScheme =
|
val colorScheme =
|
||||||
when {
|
when {
|
||||||
darkTheme -> darkScheme
|
darkTheme -> themeColors.darkScheme
|
||||||
else -> lightScheme
|
else -> themeColors.lightScheme
|
||||||
}
|
}
|
||||||
androidx.compose.material3.MaterialTheme(
|
androidx.compose.material3.MaterialTheme(
|
||||||
colorScheme = if (darkTheme) darkSchemeMaterial else lightSchemeMaterial,
|
colorScheme = if (darkTheme) themeColors.darkSchemeMaterial else themeColors.lightSchemeMaterial,
|
||||||
typography = androidx.compose.material3.Typography(),
|
typography = androidx.compose.material3.Typography(),
|
||||||
) {
|
) {
|
||||||
MaterialTheme(
|
MaterialTheme(
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
package com.github.damontecres.dolphin.ui.theme
|
||||||
|
|
||||||
|
interface ThemeColors {
|
||||||
|
val lightSchemeMaterial: androidx.compose.material3.ColorScheme
|
||||||
|
val darkSchemeMaterial: androidx.compose.material3.ColorScheme
|
||||||
|
val lightScheme: androidx.tv.material3.ColorScheme
|
||||||
|
val darkScheme: androidx.tv.material3.ColorScheme
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,203 @@
|
||||||
|
package com.github.damontecres.dolphin.ui.theme.colors
|
||||||
|
|
||||||
|
import androidx.compose.ui.graphics.Color
|
||||||
|
import androidx.tv.material3.darkColorScheme
|
||||||
|
import androidx.tv.material3.lightColorScheme
|
||||||
|
import com.github.damontecres.dolphin.ui.theme.ThemeColors
|
||||||
|
|
||||||
|
val BlueThemeColors =
|
||||||
|
object : ThemeColors {
|
||||||
|
val primaryLight = Color(0xFF405F90)
|
||||||
|
val onPrimaryLight = Color(0xFFFFFFFF)
|
||||||
|
val primaryContainerLight = Color(0xFFD6E3FF)
|
||||||
|
val onPrimaryContainerLight = Color(0xFF274777)
|
||||||
|
val secondaryLight = Color(0xFF565F71)
|
||||||
|
val onSecondaryLight = Color(0xFFFFFFFF)
|
||||||
|
val secondaryContainerLight = Color(0xFFDAE2F9)
|
||||||
|
val onSecondaryContainerLight = Color(0xFF3E4759)
|
||||||
|
val tertiaryLight = Color(0xFF605690)
|
||||||
|
val onTertiaryLight = Color(0xFFFFFFFF)
|
||||||
|
val tertiaryContainerLight = Color(0xFFE6DEFF)
|
||||||
|
val onTertiaryContainerLight = Color(0xFF483F77)
|
||||||
|
val errorLight = Color(0xFFBA1A1A)
|
||||||
|
val onErrorLight = Color(0xFFFFFFFF)
|
||||||
|
val errorContainerLight = Color(0xFFFFDAD6)
|
||||||
|
val onErrorContainerLight = Color(0xFF93000A)
|
||||||
|
val backgroundLight = Color(0xFFF9F9FF)
|
||||||
|
val onBackgroundLight = Color(0xFF191C20)
|
||||||
|
val surfaceLight = Color(0xFFFAF8FF)
|
||||||
|
val onSurfaceLight = Color(0xFF1A1B21)
|
||||||
|
val surfaceVariantLight = Color(0xFFE1E2EC)
|
||||||
|
val onSurfaceVariantLight = Color(0xFF44474F)
|
||||||
|
val outlineLight = Color(0xFF75777F)
|
||||||
|
val outlineVariantLight = Color(0xFFC4C6D0)
|
||||||
|
val scrimLight = Color(0xFF000000)
|
||||||
|
val inverseSurfaceLight = Color(0xFF2F3036)
|
||||||
|
val inverseOnSurfaceLight = Color(0xFFF1F0F7)
|
||||||
|
val inversePrimaryLight = Color(0xFFAAC7FF)
|
||||||
|
val surfaceDimLight = Color(0xFFDAD9E0)
|
||||||
|
val surfaceBrightLight = Color(0xFFFAF8FF)
|
||||||
|
val surfaceContainerLowestLight = Color(0xFFFFFFFF)
|
||||||
|
val surfaceContainerLowLight = Color(0xFFF4F3FA)
|
||||||
|
val surfaceContainerLight = Color(0xFFEEEDF4)
|
||||||
|
val surfaceContainerHighLight = Color(0xFFE8E7EF)
|
||||||
|
val surfaceContainerHighestLight = Color(0xFFE3E2E9)
|
||||||
|
|
||||||
|
val primaryDark = Color(0xFFAAC7FF)
|
||||||
|
val onPrimaryDark = Color(0xFF09305F)
|
||||||
|
val primaryContainerDark = Color(0xFF274777)
|
||||||
|
val onPrimaryContainerDark = Color(0xFFD6E3FF)
|
||||||
|
val secondaryDark = Color(0xFFBEC7DC)
|
||||||
|
val onSecondaryDark = Color(0xFF283141)
|
||||||
|
val secondaryContainerDark = Color(0xFF3E4759)
|
||||||
|
val onSecondaryContainerDark = Color(0xFFDAE2F9)
|
||||||
|
val tertiaryDark = Color(0xFFCABEFF)
|
||||||
|
val onTertiaryDark = Color(0xFF31285F)
|
||||||
|
val tertiaryContainerDark = Color(0xFF483F77)
|
||||||
|
val onTertiaryContainerDark = Color(0xFFE6DEFF)
|
||||||
|
val errorDark = Color(0xFFFFB4AB)
|
||||||
|
val onErrorDark = Color(0xFF690005)
|
||||||
|
val errorContainerDark = Color(0xFF93000A)
|
||||||
|
val onErrorContainerDark = Color(0xFFFFDAD6)
|
||||||
|
val backgroundDark = Color(0xFF111318)
|
||||||
|
val onBackgroundDark = Color(0xFFE2E2E9)
|
||||||
|
val surfaceDark = Color(0xFF121318)
|
||||||
|
val onSurfaceDark = Color(0xFFE3E2E9)
|
||||||
|
val surfaceVariantDark = Color(0xFF44474F)
|
||||||
|
val onSurfaceVariantDark = Color(0xFFC4C6D0)
|
||||||
|
val outlineDark = Color(0xFF8E9099)
|
||||||
|
val outlineVariantDark = Color(0xFF44474F)
|
||||||
|
val scrimDark = Color(0xFF000000)
|
||||||
|
val inverseSurfaceDark = Color(0xFFE3E2E9)
|
||||||
|
val inverseOnSurfaceDark = Color(0xFF2F3036)
|
||||||
|
val inversePrimaryDark = Color(0xFF405F90)
|
||||||
|
val surfaceDimDark = Color(0xFF121318)
|
||||||
|
val surfaceBrightDark = Color(0xFF38393F)
|
||||||
|
val surfaceContainerLowestDark = Color(0xFF0D0E13)
|
||||||
|
val surfaceContainerLowDark = Color(0xFF1A1B21)
|
||||||
|
val surfaceContainerDark = Color(0xFF1E1F25)
|
||||||
|
val surfaceContainerHighDark = Color(0xFF292A2F)
|
||||||
|
val surfaceContainerHighestDark = Color(0xFF33343A)
|
||||||
|
|
||||||
|
override val lightSchemeMaterial: androidx.compose.material3.ColorScheme =
|
||||||
|
androidx.compose.material3.lightColorScheme(
|
||||||
|
primary = primaryLight,
|
||||||
|
onPrimary = onPrimaryLight,
|
||||||
|
primaryContainer = primaryContainerLight,
|
||||||
|
onPrimaryContainer = onPrimaryContainerLight,
|
||||||
|
secondary = secondaryLight,
|
||||||
|
onSecondary = onSecondaryLight,
|
||||||
|
secondaryContainer = secondaryContainerLight,
|
||||||
|
onSecondaryContainer = onSecondaryContainerLight,
|
||||||
|
tertiary = tertiaryLight,
|
||||||
|
onTertiary = onTertiaryLight,
|
||||||
|
tertiaryContainer = tertiaryContainerLight,
|
||||||
|
onTertiaryContainer = onTertiaryContainerLight,
|
||||||
|
error = errorLight,
|
||||||
|
onError = onErrorLight,
|
||||||
|
errorContainer = errorContainerLight,
|
||||||
|
onErrorContainer = onErrorContainerLight,
|
||||||
|
background = backgroundLight,
|
||||||
|
onBackground = onBackgroundLight,
|
||||||
|
surface = surfaceLight,
|
||||||
|
onSurface = onSurfaceLight,
|
||||||
|
surfaceVariant = surfaceVariantLight,
|
||||||
|
onSurfaceVariant = onSurfaceVariantLight,
|
||||||
|
scrim = scrimLight,
|
||||||
|
inverseSurface = inverseSurfaceLight,
|
||||||
|
inverseOnSurface = inverseOnSurfaceLight,
|
||||||
|
inversePrimary = inversePrimaryLight,
|
||||||
|
)
|
||||||
|
|
||||||
|
override val lightScheme =
|
||||||
|
lightColorScheme(
|
||||||
|
primary = primaryLight,
|
||||||
|
onPrimary = onPrimaryLight,
|
||||||
|
primaryContainer = primaryContainerLight,
|
||||||
|
onPrimaryContainer = onPrimaryContainerLight,
|
||||||
|
secondary = secondaryLight,
|
||||||
|
onSecondary = onSecondaryLight,
|
||||||
|
secondaryContainer = secondaryContainerLight,
|
||||||
|
onSecondaryContainer = onSecondaryContainerLight,
|
||||||
|
tertiary = tertiaryLight,
|
||||||
|
onTertiary = onTertiaryLight,
|
||||||
|
tertiaryContainer = tertiaryContainerLight,
|
||||||
|
onTertiaryContainer = onTertiaryContainerLight,
|
||||||
|
error = errorLight,
|
||||||
|
onError = onErrorLight,
|
||||||
|
errorContainer = errorContainerLight,
|
||||||
|
onErrorContainer = onErrorContainerLight,
|
||||||
|
background = backgroundLight,
|
||||||
|
onBackground = onBackgroundLight,
|
||||||
|
surface = surfaceLight,
|
||||||
|
onSurface = onSurfaceLight,
|
||||||
|
surfaceVariant = surfaceVariantLight,
|
||||||
|
onSurfaceVariant = onSurfaceVariantLight,
|
||||||
|
scrim = scrimLight,
|
||||||
|
inverseSurface = inverseSurfaceLight,
|
||||||
|
inverseOnSurface = inverseOnSurfaceLight,
|
||||||
|
inversePrimary = inversePrimaryLight,
|
||||||
|
border = inversePrimaryLight,
|
||||||
|
)
|
||||||
|
|
||||||
|
override val darkSchemeMaterial =
|
||||||
|
androidx.compose.material3.darkColorScheme(
|
||||||
|
primary = primaryDark,
|
||||||
|
onPrimary = onPrimaryDark,
|
||||||
|
primaryContainer = primaryContainerDark,
|
||||||
|
onPrimaryContainer = onPrimaryContainerDark,
|
||||||
|
secondary = secondaryDark,
|
||||||
|
onSecondary = onSecondaryDark,
|
||||||
|
secondaryContainer = secondaryContainerDark,
|
||||||
|
onSecondaryContainer = onSecondaryContainerDark,
|
||||||
|
tertiary = tertiaryDark,
|
||||||
|
onTertiary = onTertiaryDark,
|
||||||
|
tertiaryContainer = tertiaryContainerDark,
|
||||||
|
onTertiaryContainer = onTertiaryContainerDark,
|
||||||
|
error = errorDark,
|
||||||
|
onError = onErrorDark,
|
||||||
|
errorContainer = errorContainerDark,
|
||||||
|
onErrorContainer = onErrorContainerDark,
|
||||||
|
background = backgroundDark,
|
||||||
|
onBackground = onBackgroundDark,
|
||||||
|
surface = surfaceDark,
|
||||||
|
onSurface = onSurfaceDark,
|
||||||
|
surfaceVariant = surfaceVariantDark,
|
||||||
|
onSurfaceVariant = onSurfaceVariantDark,
|
||||||
|
scrim = scrimDark,
|
||||||
|
inverseSurface = inverseSurfaceDark,
|
||||||
|
inverseOnSurface = inverseOnSurfaceDark,
|
||||||
|
inversePrimary = inversePrimaryDark,
|
||||||
|
)
|
||||||
|
|
||||||
|
override val darkScheme =
|
||||||
|
darkColorScheme(
|
||||||
|
primary = primaryDark,
|
||||||
|
onPrimary = onPrimaryDark,
|
||||||
|
primaryContainer = primaryContainerDark,
|
||||||
|
onPrimaryContainer = onPrimaryContainerDark,
|
||||||
|
secondary = secondaryDark,
|
||||||
|
onSecondary = onSecondaryDark,
|
||||||
|
secondaryContainer = secondaryContainerDark,
|
||||||
|
onSecondaryContainer = onSecondaryContainerDark,
|
||||||
|
tertiary = tertiaryDark,
|
||||||
|
onTertiary = onTertiaryDark,
|
||||||
|
tertiaryContainer = tertiaryContainerDark,
|
||||||
|
onTertiaryContainer = onTertiaryContainerDark,
|
||||||
|
error = errorDark,
|
||||||
|
onError = onErrorDark,
|
||||||
|
errorContainer = errorContainerDark,
|
||||||
|
onErrorContainer = onErrorContainerDark,
|
||||||
|
background = backgroundDark,
|
||||||
|
onBackground = onBackgroundDark,
|
||||||
|
surface = surfaceDark,
|
||||||
|
onSurface = onSurfaceDark,
|
||||||
|
surfaceVariant = surfaceVariantDark,
|
||||||
|
onSurfaceVariant = onSurfaceVariantDark,
|
||||||
|
scrim = scrimDark,
|
||||||
|
inverseSurface = inverseSurfaceDark,
|
||||||
|
inverseOnSurface = inverseOnSurfaceDark,
|
||||||
|
inversePrimary = inversePrimaryDark,
|
||||||
|
border = inversePrimaryDark.copy(alpha = .75f),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,203 @@
|
||||||
|
package com.github.damontecres.dolphin.ui.theme.colors
|
||||||
|
|
||||||
|
import androidx.compose.material3.ColorScheme
|
||||||
|
import androidx.compose.ui.graphics.Color
|
||||||
|
import androidx.tv.material3.darkColorScheme
|
||||||
|
import androidx.tv.material3.lightColorScheme
|
||||||
|
import com.github.damontecres.dolphin.ui.theme.ThemeColors
|
||||||
|
|
||||||
|
val GreenThemeColors =
|
||||||
|
object : ThemeColors {
|
||||||
|
val primaryLight = Color(0xFF316A42)
|
||||||
|
val onPrimaryLight = Color(0xFFFFFFFF)
|
||||||
|
val primaryContainerLight = Color(0xFFB3F1BF)
|
||||||
|
val onPrimaryContainerLight = Color(0xFF16512C)
|
||||||
|
val secondaryLight = Color(0xFF506352)
|
||||||
|
val onSecondaryLight = Color(0xFFFFFFFF)
|
||||||
|
val secondaryContainerLight = Color(0xFFD2E8D3)
|
||||||
|
val onSecondaryContainerLight = Color(0xFF394B3C)
|
||||||
|
val tertiaryLight = Color(0xFF3A656E)
|
||||||
|
val onTertiaryLight = Color(0xFFFFFFFF)
|
||||||
|
val tertiaryContainerLight = Color(0xFFBDEAF5)
|
||||||
|
val onTertiaryContainerLight = Color(0xFF204D56)
|
||||||
|
val errorLight = Color(0xFFBA1A1A)
|
||||||
|
val onErrorLight = Color(0xFFFFFFFF)
|
||||||
|
val errorContainerLight = Color(0xFFFFDAD6)
|
||||||
|
val onErrorContainerLight = Color(0xFF93000A)
|
||||||
|
val backgroundLight = Color(0xFFF6FBF3)
|
||||||
|
val onBackgroundLight = Color(0xFF181D18)
|
||||||
|
val surfaceLight = Color(0xFFF6FBF3)
|
||||||
|
val onSurfaceLight = Color(0xFF181D18)
|
||||||
|
val surfaceVariantLight = Color(0xFFDDE5DA)
|
||||||
|
val onSurfaceVariantLight = Color(0xFF414941)
|
||||||
|
val outlineLight = Color(0xFF717971)
|
||||||
|
val outlineVariantLight = Color(0xFFC1C9BF)
|
||||||
|
val scrimLight = Color(0xFF000000)
|
||||||
|
val inverseSurfaceLight = Color(0xFF2D322D)
|
||||||
|
val inverseOnSurfaceLight = Color(0xFFEEF2EA)
|
||||||
|
val inversePrimaryLight = Color(0xFF98D5A4)
|
||||||
|
val surfaceDimLight = Color(0xFFD7DBD4)
|
||||||
|
val surfaceBrightLight = Color(0xFFF6FBF3)
|
||||||
|
val surfaceContainerLowestLight = Color(0xFFFFFFFF)
|
||||||
|
val surfaceContainerLowLight = Color(0xFFF0F5ED)
|
||||||
|
val surfaceContainerLight = Color(0xFFEBEFE7)
|
||||||
|
val surfaceContainerHighLight = Color(0xFFE5EAE2)
|
||||||
|
|
||||||
|
val primaryDark = Color(0xFF98D5A4)
|
||||||
|
val onPrimaryDark = Color(0xFF00391A)
|
||||||
|
val primaryContainerDark = Color(0xFF16512C)
|
||||||
|
val onPrimaryContainerDark = Color(0xFFB3F1BF)
|
||||||
|
val secondaryDark = Color(0xFFB7CCB7)
|
||||||
|
val onSecondaryDark = Color(0xFF223526)
|
||||||
|
val secondaryContainerDark = Color(0xFF394B3C)
|
||||||
|
val onSecondaryContainerDark = Color(0xFFD2E8D3)
|
||||||
|
val tertiaryDark = Color(0xFFA2CED9)
|
||||||
|
val onTertiaryDark = Color(0xFF01363F)
|
||||||
|
val tertiaryContainerDark = Color(0xFF204D56)
|
||||||
|
val onTertiaryContainerDark = Color(0xFFBDEAF5)
|
||||||
|
val errorDark = Color(0xFFFFB4AB)
|
||||||
|
val onErrorDark = Color(0xFF690005)
|
||||||
|
val errorContainerDark = Color(0xFF93000A)
|
||||||
|
val onErrorContainerDark = Color(0xFFFFDAD6)
|
||||||
|
val backgroundDark = Color(0xFF101510)
|
||||||
|
val onBackgroundDark = Color(0xFFDFE4DC)
|
||||||
|
val surfaceDark = Color(0xFF101510)
|
||||||
|
val onSurfaceDark = Color(0xFFDFE4DC)
|
||||||
|
val surfaceVariantDark = Color(0xFF414941)
|
||||||
|
val onSurfaceVariantDark = Color(0xFFC1C9BF)
|
||||||
|
val outlineDark = Color(0xFF8B938A)
|
||||||
|
val outlineVariantDark = Color(0xFF414941)
|
||||||
|
val scrimDark = Color(0xFF000000)
|
||||||
|
val inverseSurfaceDark = Color(0xFFDFE4DC)
|
||||||
|
val inverseOnSurfaceDark = Color(0xFF2D322D)
|
||||||
|
val inversePrimaryDark = Color(0xFF316A42)
|
||||||
|
val surfaceDimDark = Color(0xFF101510)
|
||||||
|
val surfaceBrightDark = Color(0xFF353A35)
|
||||||
|
val surfaceContainerLowestDark = Color(0xFF0B0F0B)
|
||||||
|
val surfaceContainerLowDark = Color(0xFF181D18)
|
||||||
|
val surfaceContainerDark = Color(0xFF1C211C)
|
||||||
|
val surfaceContainerHighDark = Color(0xFF262B26)
|
||||||
|
val surfaceContainerHighestDark = Color(0xFF313631)
|
||||||
|
|
||||||
|
override val lightSchemeMaterial: ColorScheme =
|
||||||
|
androidx.compose.material3.lightColorScheme(
|
||||||
|
primary = primaryLight,
|
||||||
|
onPrimary = onPrimaryLight,
|
||||||
|
primaryContainer = primaryContainerLight,
|
||||||
|
onPrimaryContainer = onPrimaryContainerLight,
|
||||||
|
secondary = secondaryLight,
|
||||||
|
onSecondary = onSecondaryLight,
|
||||||
|
secondaryContainer = secondaryContainerLight,
|
||||||
|
onSecondaryContainer = onSecondaryContainerLight,
|
||||||
|
tertiary = tertiaryLight,
|
||||||
|
onTertiary = onTertiaryLight,
|
||||||
|
tertiaryContainer = tertiaryContainerLight,
|
||||||
|
onTertiaryContainer = onTertiaryContainerLight,
|
||||||
|
error = errorLight,
|
||||||
|
onError = onErrorLight,
|
||||||
|
errorContainer = errorContainerLight,
|
||||||
|
onErrorContainer = onErrorContainerLight,
|
||||||
|
background = backgroundLight,
|
||||||
|
onBackground = onBackgroundLight,
|
||||||
|
surface = surfaceLight,
|
||||||
|
onSurface = onSurfaceLight,
|
||||||
|
surfaceVariant = surfaceVariantLight,
|
||||||
|
onSurfaceVariant = onSurfaceVariantLight,
|
||||||
|
scrim = scrimLight,
|
||||||
|
inverseSurface = inverseSurfaceLight,
|
||||||
|
inverseOnSurface = inverseOnSurfaceLight,
|
||||||
|
inversePrimary = inversePrimaryLight,
|
||||||
|
)
|
||||||
|
|
||||||
|
override val lightScheme =
|
||||||
|
lightColorScheme(
|
||||||
|
primary = primaryLight,
|
||||||
|
onPrimary = onPrimaryLight,
|
||||||
|
primaryContainer = primaryContainerLight,
|
||||||
|
onPrimaryContainer = onPrimaryContainerLight,
|
||||||
|
secondary = secondaryLight,
|
||||||
|
onSecondary = onSecondaryLight,
|
||||||
|
secondaryContainer = secondaryContainerLight,
|
||||||
|
onSecondaryContainer = onSecondaryContainerLight,
|
||||||
|
tertiary = tertiaryLight,
|
||||||
|
onTertiary = onTertiaryLight,
|
||||||
|
tertiaryContainer = tertiaryContainerLight,
|
||||||
|
onTertiaryContainer = onTertiaryContainerLight,
|
||||||
|
error = errorLight,
|
||||||
|
onError = onErrorLight,
|
||||||
|
errorContainer = errorContainerLight,
|
||||||
|
onErrorContainer = onErrorContainerLight,
|
||||||
|
background = backgroundLight,
|
||||||
|
onBackground = onBackgroundLight,
|
||||||
|
surface = surfaceLight,
|
||||||
|
onSurface = onSurfaceLight,
|
||||||
|
surfaceVariant = surfaceVariantLight,
|
||||||
|
onSurfaceVariant = onSurfaceVariantLight,
|
||||||
|
scrim = scrimLight,
|
||||||
|
inverseSurface = inverseSurfaceLight,
|
||||||
|
inverseOnSurface = inverseOnSurfaceLight,
|
||||||
|
inversePrimary = inversePrimaryLight,
|
||||||
|
border = inversePrimaryLight,
|
||||||
|
)
|
||||||
|
|
||||||
|
override val darkSchemeMaterial =
|
||||||
|
androidx.compose.material3.darkColorScheme(
|
||||||
|
primary = primaryDark,
|
||||||
|
onPrimary = onPrimaryDark,
|
||||||
|
primaryContainer = primaryContainerDark,
|
||||||
|
onPrimaryContainer = onPrimaryContainerDark,
|
||||||
|
secondary = secondaryDark,
|
||||||
|
onSecondary = onSecondaryDark,
|
||||||
|
secondaryContainer = secondaryContainerDark,
|
||||||
|
onSecondaryContainer = onSecondaryContainerDark,
|
||||||
|
tertiary = tertiaryDark,
|
||||||
|
onTertiary = onTertiaryDark,
|
||||||
|
tertiaryContainer = tertiaryContainerDark,
|
||||||
|
onTertiaryContainer = onTertiaryContainerDark,
|
||||||
|
error = errorDark,
|
||||||
|
onError = onErrorDark,
|
||||||
|
errorContainer = errorContainerDark,
|
||||||
|
onErrorContainer = onErrorContainerDark,
|
||||||
|
background = backgroundDark,
|
||||||
|
onBackground = onBackgroundDark,
|
||||||
|
surface = surfaceDark,
|
||||||
|
onSurface = onSurfaceDark,
|
||||||
|
surfaceVariant = surfaceVariantDark,
|
||||||
|
onSurfaceVariant = onSurfaceVariantDark,
|
||||||
|
scrim = scrimDark,
|
||||||
|
inverseSurface = inverseSurfaceDark,
|
||||||
|
inverseOnSurface = inverseOnSurfaceDark,
|
||||||
|
inversePrimary = inversePrimaryDark,
|
||||||
|
)
|
||||||
|
|
||||||
|
override val darkScheme =
|
||||||
|
darkColorScheme(
|
||||||
|
primary = primaryDark,
|
||||||
|
onPrimary = onPrimaryDark,
|
||||||
|
primaryContainer = primaryContainerDark,
|
||||||
|
onPrimaryContainer = onPrimaryContainerDark,
|
||||||
|
secondary = secondaryDark,
|
||||||
|
onSecondary = onSecondaryDark,
|
||||||
|
secondaryContainer = secondaryContainerDark,
|
||||||
|
onSecondaryContainer = onSecondaryContainerDark,
|
||||||
|
tertiary = tertiaryDark,
|
||||||
|
onTertiary = onTertiaryDark,
|
||||||
|
tertiaryContainer = tertiaryContainerDark,
|
||||||
|
onTertiaryContainer = onTertiaryContainerDark,
|
||||||
|
error = errorDark,
|
||||||
|
onError = onErrorDark,
|
||||||
|
errorContainer = errorContainerDark,
|
||||||
|
onErrorContainer = onErrorContainerDark,
|
||||||
|
background = backgroundDark,
|
||||||
|
onBackground = onBackgroundDark,
|
||||||
|
surface = surfaceDark,
|
||||||
|
onSurface = onSurfaceDark,
|
||||||
|
surfaceVariant = surfaceVariantDark,
|
||||||
|
onSurfaceVariant = onSurfaceVariantDark,
|
||||||
|
scrim = scrimDark,
|
||||||
|
inverseSurface = inverseSurfaceDark,
|
||||||
|
inverseOnSurface = inverseOnSurfaceDark,
|
||||||
|
inversePrimary = inversePrimaryDark,
|
||||||
|
border = inversePrimaryDark.copy(alpha = .75f),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,204 @@
|
||||||
|
package com.github.damontecres.dolphin.ui.theme.colors
|
||||||
|
|
||||||
|
import androidx.compose.material3.ColorScheme
|
||||||
|
import androidx.compose.ui.graphics.Color
|
||||||
|
import androidx.tv.material3.darkColorScheme
|
||||||
|
import androidx.tv.material3.lightColorScheme
|
||||||
|
import com.github.damontecres.dolphin.ui.theme.ThemeColors
|
||||||
|
|
||||||
|
val OrangeThemeColors =
|
||||||
|
object : ThemeColors {
|
||||||
|
val primaryLight = Color(0xFF735C0C)
|
||||||
|
val onPrimaryLight = Color(0xFFFFFFFF)
|
||||||
|
val primaryContainerLight = Color(0xFFFFE08A)
|
||||||
|
val onPrimaryContainerLight = Color(0xFF574400)
|
||||||
|
val secondaryLight = Color(0xFF695D3F)
|
||||||
|
val onSecondaryLight = Color(0xFFFFFFFF)
|
||||||
|
val secondaryContainerLight = Color(0xFFF1E1BB)
|
||||||
|
val onSecondaryContainerLight = Color(0xFF50462A)
|
||||||
|
val tertiaryLight = Color(0xFF735C0C)
|
||||||
|
val onTertiaryLight = Color(0xFFFFFFFF)
|
||||||
|
val tertiaryContainerLight = Color(0xFFFFE08A)
|
||||||
|
val onTertiaryContainerLight = Color(0xFF574400)
|
||||||
|
val errorLight = Color(0xFFBA1A1A)
|
||||||
|
val onErrorLight = Color(0xFFFFFFFF)
|
||||||
|
val errorContainerLight = Color(0xFFFFDAD6)
|
||||||
|
val onErrorContainerLight = Color(0xFF93000A)
|
||||||
|
val backgroundLight = Color(0xFFFFF8F0)
|
||||||
|
val onBackgroundLight = Color(0xFF1F1B13)
|
||||||
|
val surfaceLight = Color(0xFFFFF8F0)
|
||||||
|
val onSurfaceLight = Color(0xFF1F1B13)
|
||||||
|
val surfaceVariantLight = Color(0xFFEBE1CF)
|
||||||
|
val onSurfaceVariantLight = Color(0xFF4C4639)
|
||||||
|
val outlineLight = Color(0xFF7D7667)
|
||||||
|
val outlineVariantLight = Color(0xFFCFC6B4)
|
||||||
|
val scrimLight = Color(0xFF000000)
|
||||||
|
val inverseSurfaceLight = Color(0xFF343027)
|
||||||
|
val inverseOnSurfaceLight = Color(0xFFF8F0E2)
|
||||||
|
val inversePrimaryLight = Color(0xFFE2C46D)
|
||||||
|
val surfaceDimLight = Color(0xFFE1D9CC)
|
||||||
|
val surfaceBrightLight = Color(0xFFFFF8F0)
|
||||||
|
val surfaceContainerLowestLight = Color(0xFFFFFFFF)
|
||||||
|
val surfaceContainerLowLight = Color(0xFFFBF3E5)
|
||||||
|
val surfaceContainerLight = Color(0xFFF5EDDF)
|
||||||
|
val surfaceContainerHighLight = Color(0xFFF0E7D9)
|
||||||
|
val surfaceContainerHighestLight = Color(0xFFEAE1D4)
|
||||||
|
|
||||||
|
val primaryDark = Color(0xFFE2C46D)
|
||||||
|
val onPrimaryDark = Color(0xFF3D2F00)
|
||||||
|
val primaryContainerDark = Color(0xFF574400)
|
||||||
|
val onPrimaryContainerDark = Color(0xFFFFE08A)
|
||||||
|
val secondaryDark = Color(0xFFD5C5A1)
|
||||||
|
val onSecondaryDark = Color(0xFF393015)
|
||||||
|
val secondaryContainerDark = Color(0xFF50462A)
|
||||||
|
val onSecondaryContainerDark = Color(0xFFF1E1BB)
|
||||||
|
val tertiaryDark = Color(0xFFE2C46D)
|
||||||
|
val onTertiaryDark = Color(0xFF3D2F00)
|
||||||
|
val tertiaryContainerDark = Color(0xFF574400)
|
||||||
|
val onTertiaryContainerDark = Color(0xFFFFE08A)
|
||||||
|
val errorDark = Color(0xFFFFB4AB)
|
||||||
|
val onErrorDark = Color(0xFF690005)
|
||||||
|
val errorContainerDark = Color(0xFF93000A)
|
||||||
|
val onErrorContainerDark = Color(0xFFFFDAD6)
|
||||||
|
val backgroundDark = Color(0xFF16130B)
|
||||||
|
val onBackgroundDark = Color(0xFFEAE1D4)
|
||||||
|
val surfaceDark = Color(0xFF16130B)
|
||||||
|
val onSurfaceDark = Color(0xFFEAE1D4)
|
||||||
|
val surfaceVariantDark = Color(0xFF4C4639)
|
||||||
|
val onSurfaceVariantDark = Color(0xFFCFC6B4)
|
||||||
|
val outlineDark = Color(0xFF989080)
|
||||||
|
val outlineVariantDark = Color(0xFF4C4639)
|
||||||
|
val scrimDark = Color(0xFF000000)
|
||||||
|
val inverseSurfaceDark = Color(0xFFEAE1D4)
|
||||||
|
val inverseOnSurfaceDark = Color(0xFF343027)
|
||||||
|
val inversePrimaryDark = Color(0xFF735C0C)
|
||||||
|
val surfaceDimDark = Color(0xFF16130B)
|
||||||
|
val surfaceBrightDark = Color(0xFF3D392F)
|
||||||
|
val surfaceContainerLowestDark = Color(0xFF110E07)
|
||||||
|
val surfaceContainerLowDark = Color(0xFF1F1B13)
|
||||||
|
val surfaceContainerDark = Color(0xFF231F17)
|
||||||
|
val surfaceContainerHighDark = Color(0xFF2D2A21)
|
||||||
|
val surfaceContainerHighestDark = Color(0xFF38342B)
|
||||||
|
|
||||||
|
override val lightSchemeMaterial: ColorScheme =
|
||||||
|
androidx.compose.material3.lightColorScheme(
|
||||||
|
primary = primaryLight,
|
||||||
|
onPrimary = onPrimaryLight,
|
||||||
|
primaryContainer = primaryContainerLight,
|
||||||
|
onPrimaryContainer = onPrimaryContainerLight,
|
||||||
|
secondary = secondaryLight,
|
||||||
|
onSecondary = onSecondaryLight,
|
||||||
|
secondaryContainer = secondaryContainerLight,
|
||||||
|
onSecondaryContainer = onSecondaryContainerLight,
|
||||||
|
tertiary = tertiaryLight,
|
||||||
|
onTertiary = onTertiaryLight,
|
||||||
|
tertiaryContainer = tertiaryContainerLight,
|
||||||
|
onTertiaryContainer = onTertiaryContainerLight,
|
||||||
|
error = errorLight,
|
||||||
|
onError = onErrorLight,
|
||||||
|
errorContainer = errorContainerLight,
|
||||||
|
onErrorContainer = onErrorContainerLight,
|
||||||
|
background = backgroundLight,
|
||||||
|
onBackground = onBackgroundLight,
|
||||||
|
surface = surfaceLight,
|
||||||
|
onSurface = onSurfaceLight,
|
||||||
|
surfaceVariant = surfaceVariantLight,
|
||||||
|
onSurfaceVariant = onSurfaceVariantLight,
|
||||||
|
scrim = scrimLight,
|
||||||
|
inverseSurface = inverseSurfaceLight,
|
||||||
|
inverseOnSurface = inverseOnSurfaceLight,
|
||||||
|
inversePrimary = inversePrimaryLight,
|
||||||
|
)
|
||||||
|
|
||||||
|
override val lightScheme =
|
||||||
|
lightColorScheme(
|
||||||
|
primary = primaryLight,
|
||||||
|
onPrimary = onPrimaryLight,
|
||||||
|
primaryContainer = primaryContainerLight,
|
||||||
|
onPrimaryContainer = onPrimaryContainerLight,
|
||||||
|
secondary = secondaryLight,
|
||||||
|
onSecondary = onSecondaryLight,
|
||||||
|
secondaryContainer = secondaryContainerLight,
|
||||||
|
onSecondaryContainer = onSecondaryContainerLight,
|
||||||
|
tertiary = tertiaryLight,
|
||||||
|
onTertiary = onTertiaryLight,
|
||||||
|
tertiaryContainer = tertiaryContainerLight,
|
||||||
|
onTertiaryContainer = onTertiaryContainerLight,
|
||||||
|
error = errorLight,
|
||||||
|
onError = onErrorLight,
|
||||||
|
errorContainer = errorContainerLight,
|
||||||
|
onErrorContainer = onErrorContainerLight,
|
||||||
|
background = backgroundLight,
|
||||||
|
onBackground = onBackgroundLight,
|
||||||
|
surface = surfaceLight,
|
||||||
|
onSurface = onSurfaceLight,
|
||||||
|
surfaceVariant = surfaceVariantLight,
|
||||||
|
onSurfaceVariant = onSurfaceVariantLight,
|
||||||
|
scrim = scrimLight,
|
||||||
|
inverseSurface = inverseSurfaceLight,
|
||||||
|
inverseOnSurface = inverseOnSurfaceLight,
|
||||||
|
inversePrimary = inversePrimaryLight,
|
||||||
|
border = inversePrimaryLight,
|
||||||
|
)
|
||||||
|
|
||||||
|
override val darkSchemeMaterial =
|
||||||
|
androidx.compose.material3.darkColorScheme(
|
||||||
|
primary = primaryDark,
|
||||||
|
onPrimary = onPrimaryDark,
|
||||||
|
primaryContainer = primaryContainerDark,
|
||||||
|
onPrimaryContainer = onPrimaryContainerDark,
|
||||||
|
secondary = secondaryDark,
|
||||||
|
onSecondary = onSecondaryDark,
|
||||||
|
secondaryContainer = secondaryContainerDark,
|
||||||
|
onSecondaryContainer = onSecondaryContainerDark,
|
||||||
|
tertiary = tertiaryDark,
|
||||||
|
onTertiary = onTertiaryDark,
|
||||||
|
tertiaryContainer = tertiaryContainerDark,
|
||||||
|
onTertiaryContainer = onTertiaryContainerDark,
|
||||||
|
error = errorDark,
|
||||||
|
onError = onErrorDark,
|
||||||
|
errorContainer = errorContainerDark,
|
||||||
|
onErrorContainer = onErrorContainerDark,
|
||||||
|
background = backgroundDark,
|
||||||
|
onBackground = onBackgroundDark,
|
||||||
|
surface = surfaceDark,
|
||||||
|
onSurface = onSurfaceDark,
|
||||||
|
surfaceVariant = surfaceVariantDark,
|
||||||
|
onSurfaceVariant = onSurfaceVariantDark,
|
||||||
|
scrim = scrimDark,
|
||||||
|
inverseSurface = inverseSurfaceDark,
|
||||||
|
inverseOnSurface = inverseOnSurfaceDark,
|
||||||
|
inversePrimary = inversePrimaryDark,
|
||||||
|
)
|
||||||
|
|
||||||
|
override val darkScheme =
|
||||||
|
darkColorScheme(
|
||||||
|
primary = primaryDark,
|
||||||
|
onPrimary = onPrimaryDark,
|
||||||
|
primaryContainer = primaryContainerDark,
|
||||||
|
onPrimaryContainer = onPrimaryContainerDark,
|
||||||
|
secondary = secondaryDark,
|
||||||
|
onSecondary = onSecondaryDark,
|
||||||
|
secondaryContainer = secondaryContainerDark,
|
||||||
|
onSecondaryContainer = onSecondaryContainerDark,
|
||||||
|
tertiary = tertiaryDark,
|
||||||
|
onTertiary = onTertiaryDark,
|
||||||
|
tertiaryContainer = tertiaryContainerDark,
|
||||||
|
onTertiaryContainer = onTertiaryContainerDark,
|
||||||
|
error = errorDark,
|
||||||
|
onError = onErrorDark,
|
||||||
|
errorContainer = errorContainerDark,
|
||||||
|
onErrorContainer = onErrorContainerDark,
|
||||||
|
background = backgroundDark,
|
||||||
|
onBackground = onBackgroundDark,
|
||||||
|
surface = surfaceDark,
|
||||||
|
onSurface = onSurfaceDark,
|
||||||
|
surfaceVariant = surfaceVariantDark,
|
||||||
|
onSurfaceVariant = onSurfaceVariantDark,
|
||||||
|
scrim = scrimDark,
|
||||||
|
inverseSurface = inverseSurfaceDark,
|
||||||
|
inverseOnSurface = inverseOnSurfaceDark,
|
||||||
|
inversePrimary = inversePrimaryDark,
|
||||||
|
border = inversePrimaryDark.copy(alpha = .75f),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,185 @@
|
||||||
|
package com.github.damontecres.dolphin.ui.theme.colors
|
||||||
|
|
||||||
|
import androidx.compose.ui.graphics.Color
|
||||||
|
import androidx.tv.material3.darkColorScheme
|
||||||
|
import androidx.tv.material3.lightColorScheme
|
||||||
|
import com.github.damontecres.dolphin.ui.theme.ThemeColors
|
||||||
|
|
||||||
|
val PurpleThemeColors =
|
||||||
|
object : ThemeColors {
|
||||||
|
val primaryLight = Color(0xFF5F00D6)
|
||||||
|
val onPrimaryLight = Color(0xFFFFFFFF)
|
||||||
|
val primaryContainerLight = Color(0xFF7A28FE)
|
||||||
|
val onPrimaryContainerLight = Color(0xFFEADCFF)
|
||||||
|
val secondaryLight = Color(0xFF6B4BAE)
|
||||||
|
val onSecondaryLight = Color(0xFFFFFFFF)
|
||||||
|
val secondaryContainerLight = Color(0xFFB594FD)
|
||||||
|
val onSecondaryContainerLight = Color(0xFF472489)
|
||||||
|
val tertiaryLight = Color(0xFF8F007E)
|
||||||
|
val onTertiaryLight = Color(0xFFFFFFFF)
|
||||||
|
val tertiaryContainerLight = Color(0xFFB800A3)
|
||||||
|
val onTertiaryContainerLight = Color(0xFFFFD7F0)
|
||||||
|
val errorLight = Color(0xFFBA1A1A)
|
||||||
|
val onErrorLight = Color(0xFFFFFFFF)
|
||||||
|
val errorContainerLight = Color(0xFFFFDAD6)
|
||||||
|
val onErrorContainerLight = Color(0xFF93000A)
|
||||||
|
val backgroundLight = Color(0xFFFEF7FF)
|
||||||
|
val onBackgroundLight = Color(0xFF1D1A25)
|
||||||
|
val surfaceLight = Color(0xFFFEF7FF)
|
||||||
|
val onSurfaceLight = Color(0xFF1D1A25)
|
||||||
|
val surfaceVariantLight = Color(0xFFE9DEF6)
|
||||||
|
val onSurfaceVariantLight = Color(0xFF4A4456)
|
||||||
|
val scrimLight = Color(0xFF000000)
|
||||||
|
val inverseSurfaceLight = Color(0xFF332E3A)
|
||||||
|
val inverseOnSurfaceLight = Color(0xFFF6EDFE)
|
||||||
|
val inversePrimaryLight = Color(0xFFD2BCFF)
|
||||||
|
|
||||||
|
val primaryDark = Color(0xFFD2BCFF)
|
||||||
|
val onPrimaryDark = Color(0xFF3D008F)
|
||||||
|
val primaryContainerDark = Color(0xFF7A28FE)
|
||||||
|
val onPrimaryContainerDark = Color(0xFFEADCFF)
|
||||||
|
val secondaryDark = Color(0xFFD2BCFF)
|
||||||
|
val onSecondaryDark = Color(0xFF3B167D)
|
||||||
|
val secondaryContainerDark = Color(0xFF533295)
|
||||||
|
val onSecondaryContainerDark = Color(0xFFC2A6FF)
|
||||||
|
val tertiaryDark = Color(0xFFFFACE7)
|
||||||
|
val onTertiaryDark = Color(0xFF5E0052)
|
||||||
|
val tertiaryContainerDark = Color(0xFFB800A3)
|
||||||
|
val onTertiaryContainerDark = Color(0xFFFFD7F0)
|
||||||
|
val errorDark = Color(0xFFFFB4AB)
|
||||||
|
val onErrorDark = Color(0xFF690005)
|
||||||
|
val errorContainerDark = Color(0xFF93000A)
|
||||||
|
val onErrorContainerDark = Color(0xFFFFDAD6)
|
||||||
|
val backgroundDark = Color(0xFF15121C)
|
||||||
|
val onBackgroundDark = Color(0xFFE8DFF0)
|
||||||
|
val surfaceDark = Color(0xFF15121C)
|
||||||
|
val onSurfaceDark = Color(0xFFE8DFF0)
|
||||||
|
val surfaceVariantDark = Color(0xFF4A4456)
|
||||||
|
val onSurfaceVariantDark = Color(0xFFCCC3D9)
|
||||||
|
val scrimDark = Color(0xFF000000)
|
||||||
|
val inverseSurfaceDark = Color(0xFFE8DFF0)
|
||||||
|
val inverseOnSurfaceDark = Color(0xFF332E3A)
|
||||||
|
val inversePrimaryDark = Color(0xFF741BF8)
|
||||||
|
|
||||||
|
override val lightSchemeMaterial: androidx.compose.material3.ColorScheme =
|
||||||
|
androidx.compose.material3.lightColorScheme(
|
||||||
|
primary = primaryLight,
|
||||||
|
onPrimary = onPrimaryLight,
|
||||||
|
primaryContainer = primaryContainerLight,
|
||||||
|
onPrimaryContainer = onPrimaryContainerLight,
|
||||||
|
secondary = secondaryLight,
|
||||||
|
onSecondary = onSecondaryLight,
|
||||||
|
secondaryContainer = secondaryContainerLight,
|
||||||
|
onSecondaryContainer = onSecondaryContainerLight,
|
||||||
|
tertiary = tertiaryLight,
|
||||||
|
onTertiary = onTertiaryLight,
|
||||||
|
tertiaryContainer = tertiaryContainerLight,
|
||||||
|
onTertiaryContainer = onTertiaryContainerLight,
|
||||||
|
error = errorLight,
|
||||||
|
onError = onErrorLight,
|
||||||
|
errorContainer = errorContainerLight,
|
||||||
|
onErrorContainer = onErrorContainerLight,
|
||||||
|
background = backgroundLight,
|
||||||
|
onBackground = onBackgroundLight,
|
||||||
|
surface = surfaceLight,
|
||||||
|
onSurface = onSurfaceLight,
|
||||||
|
surfaceVariant = surfaceVariantLight,
|
||||||
|
onSurfaceVariant = onSurfaceVariantLight,
|
||||||
|
scrim = scrimLight,
|
||||||
|
inverseSurface = inverseSurfaceLight,
|
||||||
|
inverseOnSurface = inverseOnSurfaceLight,
|
||||||
|
inversePrimary = inversePrimaryLight,
|
||||||
|
)
|
||||||
|
|
||||||
|
override val lightScheme =
|
||||||
|
lightColorScheme(
|
||||||
|
primary = primaryLight,
|
||||||
|
onPrimary = onPrimaryLight,
|
||||||
|
primaryContainer = primaryContainerLight,
|
||||||
|
onPrimaryContainer = onPrimaryContainerLight,
|
||||||
|
secondary = secondaryLight,
|
||||||
|
onSecondary = onSecondaryLight,
|
||||||
|
secondaryContainer = secondaryContainerLight,
|
||||||
|
onSecondaryContainer = onSecondaryContainerLight,
|
||||||
|
tertiary = tertiaryLight,
|
||||||
|
onTertiary = onTertiaryLight,
|
||||||
|
tertiaryContainer = tertiaryContainerLight,
|
||||||
|
onTertiaryContainer = onTertiaryContainerLight,
|
||||||
|
error = errorLight,
|
||||||
|
onError = onErrorLight,
|
||||||
|
errorContainer = errorContainerLight,
|
||||||
|
onErrorContainer = onErrorContainerLight,
|
||||||
|
background = backgroundLight,
|
||||||
|
onBackground = onBackgroundLight,
|
||||||
|
surface = surfaceLight,
|
||||||
|
onSurface = onSurfaceLight,
|
||||||
|
surfaceVariant = surfaceVariantLight,
|
||||||
|
onSurfaceVariant = onSurfaceVariantLight,
|
||||||
|
scrim = scrimLight,
|
||||||
|
inverseSurface = inverseSurfaceLight,
|
||||||
|
inverseOnSurface = inverseOnSurfaceLight,
|
||||||
|
inversePrimary = inversePrimaryLight,
|
||||||
|
border = inversePrimaryLight,
|
||||||
|
)
|
||||||
|
|
||||||
|
override val darkSchemeMaterial =
|
||||||
|
androidx.compose.material3.darkColorScheme(
|
||||||
|
primary = primaryDark,
|
||||||
|
onPrimary = onPrimaryDark,
|
||||||
|
primaryContainer = primaryContainerDark,
|
||||||
|
onPrimaryContainer = onPrimaryContainerDark,
|
||||||
|
secondary = secondaryDark,
|
||||||
|
onSecondary = onSecondaryDark,
|
||||||
|
secondaryContainer = secondaryContainerDark,
|
||||||
|
onSecondaryContainer = onSecondaryContainerDark,
|
||||||
|
tertiary = tertiaryDark,
|
||||||
|
onTertiary = onTertiaryDark,
|
||||||
|
tertiaryContainer = tertiaryContainerDark,
|
||||||
|
onTertiaryContainer = onTertiaryContainerDark,
|
||||||
|
error = errorDark,
|
||||||
|
onError = onErrorDark,
|
||||||
|
errorContainer = errorContainerDark,
|
||||||
|
onErrorContainer = onErrorContainerDark,
|
||||||
|
background = backgroundDark,
|
||||||
|
onBackground = onBackgroundDark,
|
||||||
|
surface = surfaceDark,
|
||||||
|
onSurface = onSurfaceDark,
|
||||||
|
surfaceVariant = surfaceVariantDark,
|
||||||
|
onSurfaceVariant = onSurfaceVariantDark,
|
||||||
|
scrim = scrimDark,
|
||||||
|
inverseSurface = inverseSurfaceDark,
|
||||||
|
inverseOnSurface = inverseOnSurfaceDark,
|
||||||
|
inversePrimary = inversePrimaryDark,
|
||||||
|
)
|
||||||
|
|
||||||
|
override val darkScheme =
|
||||||
|
darkColorScheme(
|
||||||
|
primary = primaryDark,
|
||||||
|
onPrimary = onPrimaryDark,
|
||||||
|
primaryContainer = primaryContainerDark,
|
||||||
|
onPrimaryContainer = onPrimaryContainerDark,
|
||||||
|
secondary = secondaryDark,
|
||||||
|
onSecondary = onSecondaryDark,
|
||||||
|
secondaryContainer = secondaryContainerDark,
|
||||||
|
onSecondaryContainer = onSecondaryContainerDark,
|
||||||
|
tertiary = tertiaryDark,
|
||||||
|
onTertiary = onTertiaryDark,
|
||||||
|
tertiaryContainer = tertiaryContainerDark,
|
||||||
|
onTertiaryContainer = onTertiaryContainerDark,
|
||||||
|
error = errorDark,
|
||||||
|
onError = onErrorDark,
|
||||||
|
errorContainer = errorContainerDark,
|
||||||
|
onErrorContainer = onErrorContainerDark,
|
||||||
|
background = backgroundDark,
|
||||||
|
onBackground = onBackgroundDark,
|
||||||
|
surface = surfaceDark,
|
||||||
|
onSurface = onSurfaceDark,
|
||||||
|
surfaceVariant = surfaceVariantDark,
|
||||||
|
onSurfaceVariant = onSurfaceVariantDark,
|
||||||
|
scrim = scrimDark,
|
||||||
|
inverseSurface = inverseSurfaceDark,
|
||||||
|
inverseOnSurface = inverseOnSurfaceDark,
|
||||||
|
inversePrimary = inversePrimaryDark,
|
||||||
|
border = inversePrimaryDark.copy(alpha = .75f),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
@ -29,10 +29,18 @@ enum ThemeSongVolume {
|
||||||
HIGHEST = 5;
|
HIGHEST = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum AppThemeColors {
|
||||||
|
PURPLE = 0;
|
||||||
|
BLUE = 1;
|
||||||
|
GREEN = 2;
|
||||||
|
ORANGE = 3;
|
||||||
|
}
|
||||||
|
|
||||||
message InterfacePreferences {
|
message InterfacePreferences {
|
||||||
ThemeSongVolume play_theme_songs = 1;
|
ThemeSongVolume play_theme_songs = 1;
|
||||||
bool remember_selected_tab = 2;
|
bool remember_selected_tab = 2;
|
||||||
map<string, int32> remembered_tabs = 3;
|
map<string, int32> remembered_tabs = 3;
|
||||||
|
AppThemeColors app_theme_colors = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
message AppPreferences {
|
message AppPreferences {
|
||||||
|
|
|
||||||
|
|
@ -9,4 +9,11 @@
|
||||||
<item>Full</item>
|
<item>Full</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
|
<string-array name="app_theme_colors">
|
||||||
|
<item>Purple</item>
|
||||||
|
<item>Blue</item>
|
||||||
|
<item>Green</item>
|
||||||
|
<item>Orange</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
||||||
|
|
@ -62,5 +62,6 @@
|
||||||
<string name="remember_selected_tab">Remember selected tabs</string>
|
<string name="remember_selected_tab">Remember selected tabs</string>
|
||||||
<string name="director">Director</string>
|
<string name="director">Director</string>
|
||||||
<string name="max_bitrate">Max bitrate</string>
|
<string name="max_bitrate">Max bitrate</string>
|
||||||
|
<string name="app_theme">Application Theme</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue