Update theme

This commit is contained in:
Damontecres 2025-09-23 01:30:12 -04:00
parent b69a48407b
commit 3be8706ce6
No known key found for this signature in database
3 changed files with 146 additions and 59 deletions

View file

@ -1,11 +1,56 @@
package com.github.damontecres.dolphin.ui.theme
import androidx.compose.ui.graphics.Color
val Purple80 = Color(0xFFD0BCFF)
val PurpleGrey80 = Color(0xFFCCC2DC)
val Pink80 = Color(0xFFEFB8C8)
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 Purple40 = Color(0xFF6650a4)
val PurpleGrey40 = Color(0xFF625b71)
val Pink40 = Color(0xFF7D5260)
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)

View file

@ -2,33 +2,106 @@ package com.github.damontecres.dolphin.ui.theme
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.runtime.Composable
import androidx.tv.material3.ExperimentalTvMaterial3Api
import androidx.compose.runtime.Immutable
import androidx.compose.ui.graphics.Color
import androidx.tv.material3.MaterialTheme
import androidx.tv.material3.darkColorScheme
import androidx.tv.material3.lightColorScheme
@OptIn(ExperimentalTvMaterial3Api::class)
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 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 = .5f),
)
@Immutable
data class ColorFamily(
val color: Color,
val onColor: Color,
val colorContainer: Color,
val onColorContainer: Color,
)
val unspecified_scheme =
ColorFamily(
Color.Unspecified,
Color.Unspecified,
Color.Unspecified,
Color.Unspecified,
)
@Composable
fun DolphinTheme(
isInDarkTheme: Boolean = isSystemInDarkTheme(),
content: @Composable () -> Unit,
darkTheme: Boolean = isSystemInDarkTheme(),
content:
@Composable()
() -> Unit,
) {
val colorScheme = if (isInDarkTheme) {
darkColorScheme(
primary = Purple80,
secondary = PurpleGrey80,
tertiary = Pink80
)
} else {
lightColorScheme(
primary = Purple40,
secondary = PurpleGrey40,
tertiary = Pink40
)
val colorScheme =
when {
darkTheme -> darkScheme
else -> lightScheme
}
MaterialTheme(
colorScheme = colorScheme,
typography = Typography,
content = content
typography = AppTypography,
content = content,
)
}

View file

@ -1,36 +1,5 @@
package com.github.damontecres.dolphin.ui.theme
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.sp
import androidx.tv.material3.ExperimentalTvMaterial3Api
import androidx.tv.material3.Typography
// Set of Material typography styles to start with
@OptIn(ExperimentalTvMaterial3Api::class)
val Typography = Typography(
bodyLarge = TextStyle(
fontFamily = FontFamily.Default,
fontWeight = FontWeight.Normal,
fontSize = 16.sp,
lineHeight = 24.sp,
letterSpacing = 0.5.sp
)
/* Other default text styles to override
titleLarge = TextStyle(
fontFamily = FontFamily.Default,
fontWeight = FontWeight.Normal,
fontSize = 22.sp,
lineHeight = 28.sp,
letterSpacing = 0.sp
),
labelSmall = TextStyle(
fontFamily = FontFamily.Default,
fontWeight = FontWeight.Medium,
fontSize = 11.sp,
lineHeight = 16.sp,
letterSpacing = 0.5.sp
)
*/
)
val AppTypography = Typography()