feat: Generated MUI3 Color scheme

This commit is contained in:
2026-02-19 10:56:37 +01:00
parent ed7d0f23d6
commit 7d564c2470
5 changed files with 475 additions and 127 deletions

View File

@@ -40,7 +40,7 @@ import hu.bbara.purefin.navigation.NavigationCommand
import hu.bbara.purefin.navigation.NavigationManager
import hu.bbara.purefin.navigation.Route
import hu.bbara.purefin.session.UserSessionRepository
import hu.bbara.purefin.ui.theme.PurefinTheme
import hu.bbara.purefin.ui.theme.AppTheme
import kotlinx.coroutines.launch
import okhttp3.OkHttpClient
import okio.Path.Companion.toPath
@@ -75,7 +75,7 @@ class PurefinActivity : ComponentActivity() {
configureImageLoader()
enableEdgeToEdge()
setContent {
PurefinTheme() {
AppTheme() {
MainApp(
userSessionRepository = userSessionRepository,
entryBuilders = entryBuilders,

View File

@@ -13,7 +13,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import dagger.hilt.android.AndroidEntryPoint
import hu.bbara.purefin.player.ui.PlayerScreen
import hu.bbara.purefin.player.viewmodel.PlayerViewModel
import hu.bbara.purefin.ui.theme.PurefinTheme
import hu.bbara.purefin.ui.theme.AppTheme
@AndroidEntryPoint
class PlayerActivity : ComponentActivity() {
@@ -23,7 +23,7 @@ class PlayerActivity : ComponentActivity() {
enterImmersiveMode()
setContent {
PurefinTheme(darkTheme = true) {
AppTheme(darkTheme = true) {
val viewModel = hiltViewModel<PlayerViewModel>()
val uiState = viewModel.uiState.collectAsStateWithLifecycle()

View File

@@ -1,53 +1,225 @@
package hu.bbara.purefin.ui.theme
import androidx.compose.ui.graphics.Color
import androidx.core.graphics.ColorUtils
/**
* HSL Color Palette
* Primary: Purple (270°)
* Secondary: Teal (180°)
* Tertiary: Orange (30°)
*/
val primaryLight = Color(0xFF8A5021)
val onPrimaryLight = Color(0xFFFFFFFF)
val primaryContainerLight = Color(0xFFFFDCC5)
val onPrimaryContainerLight = Color(0xFF6D390B)
val secondaryLight = Color(0xFF755945)
val onSecondaryLight = Color(0xFFFFFFFF)
val secondaryContainerLight = Color(0xFFFFDCC5)
val onSecondaryContainerLight = Color(0xFF5B412F)
val tertiaryLight = Color(0xFF5E6135)
val onTertiaryLight = Color(0xFFFFFFFF)
val tertiaryContainerLight = Color(0xFFE4E6AE)
val onTertiaryContainerLight = Color(0xFF464920)
val errorLight = Color(0xFFBA1A1A)
val onErrorLight = Color(0xFFFFFFFF)
val errorContainerLight = Color(0xFFFFDAD6)
val onErrorContainerLight = Color(0xFF93000A)
val backgroundLight = Color(0xFFFFF8F5)
val onBackgroundLight = Color(0xFF221A15)
val surfaceLight = Color(0xFFFFF8F5)
val onSurfaceLight = Color(0xFF221A15)
val surfaceVariantLight = Color(0xFFF3DFD2)
val onSurfaceVariantLight = Color(0xFF52443B)
val outlineLight = Color(0xFF84746A)
val outlineVariantLight = Color(0xFFD6C3B7)
val scrimLight = Color(0xFF000000)
val inverseSurfaceLight = Color(0xFF382F29)
val inverseOnSurfaceLight = Color(0xFFFEEEE4)
val inversePrimaryLight = Color(0xFFFFB783)
val surfaceDimLight = Color(0xFFE7D7CE)
val surfaceBrightLight = Color(0xFFFFF8F5)
val surfaceContainerLowestLight = Color(0xFFFFFFFF)
val surfaceContainerLowLight = Color(0xFFFFF1E9)
val surfaceContainerLight = Color(0xFFFBEBE1)
val surfaceContainerHighLight = Color(0xFFF5E5DC)
val surfaceContainerHighestLight = Color(0xFFF0DFD6)
// Light Mode Palette
val LightPrimary = Color(ColorUtils.HSLToColor(floatArrayOf(270f, 0.65f, 0.45f)))
val LightOnPrimary = Color(ColorUtils.HSLToColor(floatArrayOf(0f, 0f, 1f)))
val LightPrimaryContainer = Color(ColorUtils.HSLToColor(floatArrayOf(270f, 0.60f, 0.90f)))
val LightOnPrimaryContainer = Color(ColorUtils.HSLToColor(floatArrayOf(270f, 0.70f, 0.15f)))
val primaryLightMediumContrast = Color(0xFF572A00)
val onPrimaryLightMediumContrast = Color(0xFFFFFFFF)
val primaryContainerLightMediumContrast = Color(0xFF9B5E2E)
val onPrimaryContainerLightMediumContrast = Color(0xFFFFFFFF)
val secondaryLightMediumContrast = Color(0xFF493120)
val onSecondaryLightMediumContrast = Color(0xFFFFFFFF)
val secondaryContainerLightMediumContrast = Color(0xFF856753)
val onSecondaryContainerLightMediumContrast = Color(0xFFFFFFFF)
val tertiaryLightMediumContrast = Color(0xFF363911)
val onTertiaryLightMediumContrast = Color(0xFFFFFFFF)
val tertiaryContainerLightMediumContrast = Color(0xFF6D7042)
val onTertiaryContainerLightMediumContrast = Color(0xFFFFFFFF)
val errorLightMediumContrast = Color(0xFF740006)
val onErrorLightMediumContrast = Color(0xFFFFFFFF)
val errorContainerLightMediumContrast = Color(0xFFCF2C27)
val onErrorContainerLightMediumContrast = Color(0xFFFFFFFF)
val backgroundLightMediumContrast = Color(0xFFFFF8F5)
val onBackgroundLightMediumContrast = Color(0xFF221A15)
val surfaceLightMediumContrast = Color(0xFFFFF8F5)
val onSurfaceLightMediumContrast = Color(0xFF17100B)
val surfaceVariantLightMediumContrast = Color(0xFFF3DFD2)
val onSurfaceVariantLightMediumContrast = Color(0xFF40342B)
val outlineLightMediumContrast = Color(0xFF5E5046)
val outlineVariantLightMediumContrast = Color(0xFF7A6A60)
val scrimLightMediumContrast = Color(0xFF000000)
val inverseSurfaceLightMediumContrast = Color(0xFF382F29)
val inverseOnSurfaceLightMediumContrast = Color(0xFFFEEEE4)
val inversePrimaryLightMediumContrast = Color(0xFFFFB783)
val surfaceDimLightMediumContrast = Color(0xFFD3C4BB)
val surfaceBrightLightMediumContrast = Color(0xFFFFF8F5)
val surfaceContainerLowestLightMediumContrast = Color(0xFFFFFFFF)
val surfaceContainerLowLightMediumContrast = Color(0xFFFFF1E9)
val surfaceContainerLightMediumContrast = Color(0xFFF5E5DC)
val surfaceContainerHighLightMediumContrast = Color(0xFFEADAD1)
val surfaceContainerHighestLightMediumContrast = Color(0xFFDECFC6)
val primaryLightHighContrast = Color(0xFF492200)
val onPrimaryLightHighContrast = Color(0xFFFFFFFF)
val primaryContainerLightHighContrast = Color(0xFF703C0D)
val onPrimaryContainerLightHighContrast = Color(0xFFFFFFFF)
val secondaryLightHighContrast = Color(0xFF3D2717)
val onSecondaryLightHighContrast = Color(0xFFFFFFFF)
val secondaryContainerLightHighContrast = Color(0xFF5D4431)
val onSecondaryContainerLightHighContrast = Color(0xFFFFFFFF)
val tertiaryLightHighContrast = Color(0xFF2C2E07)
val onTertiaryLightHighContrast = Color(0xFFFFFFFF)
val tertiaryContainerLightHighContrast = Color(0xFF494C22)
val onTertiaryContainerLightHighContrast = Color(0xFFFFFFFF)
val errorLightHighContrast = Color(0xFF600004)
val onErrorLightHighContrast = Color(0xFFFFFFFF)
val errorContainerLightHighContrast = Color(0xFF98000A)
val onErrorContainerLightHighContrast = Color(0xFFFFFFFF)
val backgroundLightHighContrast = Color(0xFFFFF8F5)
val onBackgroundLightHighContrast = Color(0xFF221A15)
val surfaceLightHighContrast = Color(0xFFFFF8F5)
val onSurfaceLightHighContrast = Color(0xFF000000)
val surfaceVariantLightHighContrast = Color(0xFFF3DFD2)
val onSurfaceVariantLightHighContrast = Color(0xFF000000)
val outlineLightHighContrast = Color(0xFF362A22)
val outlineVariantLightHighContrast = Color(0xFF54463E)
val scrimLightHighContrast = Color(0xFF000000)
val inverseSurfaceLightHighContrast = Color(0xFF382F29)
val inverseOnSurfaceLightHighContrast = Color(0xFFFFFFFF)
val inversePrimaryLightHighContrast = Color(0xFFFFB783)
val surfaceDimLightHighContrast = Color(0xFFC5B6AD)
val surfaceBrightLightHighContrast = Color(0xFFFFF8F5)
val surfaceContainerLowestLightHighContrast = Color(0xFFFFFFFF)
val surfaceContainerLowLightHighContrast = Color(0xFFFEEEE4)
val surfaceContainerLightHighContrast = Color(0xFFF0DFD6)
val surfaceContainerHighLightHighContrast = Color(0xFFE1D1C8)
val surfaceContainerHighestLightHighContrast = Color(0xFFD3C4BB)
val primaryDark = Color(0xFFFFB783)
val onPrimaryDark = Color(0xFF4F2500)
val primaryContainerDark = Color(0xFF6D390B)
val onPrimaryContainerDark = Color(0xFFFFDCC5)
val secondaryDark = Color(0xFFE4BFA7)
val onSecondaryDark = Color(0xFF422B1B)
val secondaryContainerDark = Color(0xFF5B412F)
val onSecondaryContainerDark = Color(0xFFFFDCC5)
val tertiaryDark = Color(0xFFC7CA94)
val onTertiaryDark = Color(0xFF30330B)
val tertiaryContainerDark = Color(0xFF464920)
val onTertiaryContainerDark = Color(0xFFE4E6AE)
val errorDark = Color(0xFFFFB4AB)
val onErrorDark = Color(0xFF690005)
val errorContainerDark = Color(0xFF93000A)
val onErrorContainerDark = Color(0xFFFFDAD6)
val backgroundDark = Color(0xFF19120D)
val onBackgroundDark = Color(0xFFF0DFD6)
val surfaceDark = Color(0xFF19120D)
val onSurfaceDark = Color(0xFFF0DFD6)
val surfaceVariantDark = Color(0xFF52443B)
val onSurfaceVariantDark = Color(0xFFD6C3B7)
val outlineDark = Color(0xFF9F8D83)
val outlineVariantDark = Color(0xFF52443B)
val scrimDark = Color(0xFF000000)
val inverseSurfaceDark = Color(0xFFF0DFD6)
val inverseOnSurfaceDark = Color(0xFF382F29)
val inversePrimaryDark = Color(0xFF8A5021)
val surfaceDimDark = Color(0xFF19120D)
val surfaceBrightDark = Color(0xFF413731)
val surfaceContainerLowestDark = Color(0xFF140D08)
val surfaceContainerLowDark = Color(0xFF221A15)
val surfaceContainerDark = Color(0xFF261E18)
val surfaceContainerHighDark = Color(0xFF312822)
val surfaceContainerHighestDark = Color(0xFF3C332D)
val primaryDarkMediumContrast = Color(0xFFFFD4B7)
val onPrimaryDarkMediumContrast = Color(0xFF3F1C00)
val primaryContainerDarkMediumContrast = Color(0xFFC5814E)
val onPrimaryContainerDarkMediumContrast = Color(0xFF000000)
val secondaryDarkMediumContrast = Color(0xFFFBD5BC)
val onSecondaryDarkMediumContrast = Color(0xFF362111)
val secondaryContainerDarkMediumContrast = Color(0xFFAB8A74)
val onSecondaryContainerDarkMediumContrast = Color(0xFF000000)
val tertiaryDarkMediumContrast = Color(0xFFDDE0A9)
val onTertiaryDarkMediumContrast = Color(0xFF252803)
val tertiaryContainerDarkMediumContrast = Color(0xFF919463)
val onTertiaryContainerDarkMediumContrast = Color(0xFF000000)
val errorDarkMediumContrast = Color(0xFFFFD2CC)
val onErrorDarkMediumContrast = Color(0xFF540003)
val errorContainerDarkMediumContrast = Color(0xFFFF5449)
val onErrorContainerDarkMediumContrast = Color(0xFF000000)
val backgroundDarkMediumContrast = Color(0xFF19120D)
val onBackgroundDarkMediumContrast = Color(0xFFF0DFD6)
val surfaceDarkMediumContrast = Color(0xFF19120D)
val onSurfaceDarkMediumContrast = Color(0xFFFFFFFF)
val surfaceVariantDarkMediumContrast = Color(0xFF52443B)
val onSurfaceVariantDarkMediumContrast = Color(0xFFEDD8CC)
val outlineDarkMediumContrast = Color(0xFFC1AEA3)
val outlineVariantDarkMediumContrast = Color(0xFF9E8D82)
val scrimDarkMediumContrast = Color(0xFF000000)
val inverseSurfaceDarkMediumContrast = Color(0xFFF0DFD6)
val inverseOnSurfaceDarkMediumContrast = Color(0xFF312822)
val inversePrimaryDarkMediumContrast = Color(0xFF6F3A0C)
val surfaceDimDarkMediumContrast = Color(0xFF19120D)
val surfaceBrightDarkMediumContrast = Color(0xFF4D423C)
val surfaceContainerLowestDarkMediumContrast = Color(0xFF0C0603)
val surfaceContainerLowDarkMediumContrast = Color(0xFF241C16)
val surfaceContainerDarkMediumContrast = Color(0xFF2F2620)
val surfaceContainerHighDarkMediumContrast = Color(0xFF3A312B)
val surfaceContainerHighestDarkMediumContrast = Color(0xFF463C35)
val primaryDarkHighContrast = Color(0xFFFFECE2)
val onPrimaryDarkHighContrast = Color(0xFF000000)
val primaryContainerDarkHighContrast = Color(0xFFFEB27A)
val onPrimaryContainerDarkHighContrast = Color(0xFF170700)
val secondaryDarkHighContrast = Color(0xFFFFECE2)
val onSecondaryDarkHighContrast = Color(0xFF000000)
val secondaryContainerDarkHighContrast = Color(0xFFE0BBA3)
val onSecondaryContainerDarkHighContrast = Color(0xFF170700)
val tertiaryDarkHighContrast = Color(0xFFF1F4BB)
val onTertiaryDarkHighContrast = Color(0xFF000000)
val tertiaryContainerDarkHighContrast = Color(0xFFC3C691)
val onTertiaryContainerDarkHighContrast = Color(0xFF0B0C00)
val errorDarkHighContrast = Color(0xFFFFECE9)
val onErrorDarkHighContrast = Color(0xFF000000)
val errorContainerDarkHighContrast = Color(0xFFFFAEA4)
val onErrorContainerDarkHighContrast = Color(0xFF220001)
val backgroundDarkHighContrast = Color(0xFF19120D)
val onBackgroundDarkHighContrast = Color(0xFFF0DFD6)
val surfaceDarkHighContrast = Color(0xFF19120D)
val onSurfaceDarkHighContrast = Color(0xFFFFFFFF)
val surfaceVariantDarkHighContrast = Color(0xFF52443B)
val onSurfaceVariantDarkHighContrast = Color(0xFFFFFFFF)
val outlineDarkHighContrast = Color(0xFFFFECE2)
val outlineVariantDarkHighContrast = Color(0xFFD2BFB3)
val scrimDarkHighContrast = Color(0xFF000000)
val inverseSurfaceDarkHighContrast = Color(0xFFF0DFD6)
val inverseOnSurfaceDarkHighContrast = Color(0xFF000000)
val inversePrimaryDarkHighContrast = Color(0xFF6F3A0C)
val surfaceDimDarkHighContrast = Color(0xFF19120D)
val surfaceBrightDarkHighContrast = Color(0xFF594E47)
val surfaceContainerLowestDarkHighContrast = Color(0xFF000000)
val surfaceContainerLowDarkHighContrast = Color(0xFF261E18)
val surfaceContainerDarkHighContrast = Color(0xFF382F29)
val surfaceContainerHighDarkHighContrast = Color(0xFF433933)
val surfaceContainerHighestDarkHighContrast = Color(0xFF4F453E)
val LightSecondary = Color(ColorUtils.HSLToColor(floatArrayOf(180f, 0.55f, 0.40f)))
val LightOnSecondary = Color(ColorUtils.HSLToColor(floatArrayOf(0f, 0f, 1f)))
val LightSecondaryContainer = Color(ColorUtils.HSLToColor(floatArrayOf(180f, 0.50f, 0.88f)))
val LightOnSecondaryContainer = Color(ColorUtils.HSLToColor(floatArrayOf(180f, 0.65f, 0.15f)))
val LightTertiary = Color(ColorUtils.HSLToColor(floatArrayOf(30f, 0.75f, 0.50f)))
val LightOnTertiary = Color(ColorUtils.HSLToColor(floatArrayOf(0f, 0f, 1f)))
val LightTertiaryContainer = Color(ColorUtils.HSLToColor(floatArrayOf(30f, 0.70f, 0.92f)))
val LightOnTertiaryContainer = Color(ColorUtils.HSLToColor(floatArrayOf(30f, 0.80f, 0.18f)))
val LightBackground = Color(ColorUtils.HSLToColor(floatArrayOf(270f, 0.15f, 0.98f)))
val LightOnBackground = Color(ColorUtils.HSLToColor(floatArrayOf(270f, 0.20f, 0.12f)))
val LightSurface = Color(ColorUtils.HSLToColor(floatArrayOf(270f, 0.15f, 0.98f)))
val LightOnSurface = Color(ColorUtils.HSLToColor(floatArrayOf(270f, 0.20f, 0.12f)))
// Dark Mode Palette
val DarkPrimary = Color(ColorUtils.HSLToColor(floatArrayOf(270f, 0.60f, 0.75f)))
val DarkOnPrimary = Color(ColorUtils.HSLToColor(floatArrayOf(270f, 0.70f, 0.20f)))
val DarkPrimaryContainer = Color(ColorUtils.HSLToColor(floatArrayOf(270f, 0.55f, 0.30f)))
val DarkOnPrimaryContainer = Color(ColorUtils.HSLToColor(floatArrayOf(270f, 0.50f, 0.92f)))
val DarkSecondary = Color(ColorUtils.HSLToColor(floatArrayOf(180f, 0.50f, 0.70f)))
val DarkOnSecondary = Color(ColorUtils.HSLToColor(floatArrayOf(180f, 0.65f, 0.18f)))
val DarkSecondaryContainer = Color(ColorUtils.HSLToColor(floatArrayOf(180f, 0.50f, 0.28f)))
val DarkOnSecondaryContainer = Color(ColorUtils.HSLToColor(floatArrayOf(180f, 0.45f, 0.90f)))
val DarkTertiary = Color(ColorUtils.HSLToColor(floatArrayOf(30f, 0.70f, 0.72f)))
val DarkOnTertiary = Color(ColorUtils.HSLToColor(floatArrayOf(30f, 0.80f, 0.22f)))
val DarkTertiaryContainer = Color(ColorUtils.HSLToColor(floatArrayOf(30f, 0.65f, 0.32f)))
val DarkOnTertiaryContainer = Color(ColorUtils.HSLToColor(floatArrayOf(30f, 0.65f, 0.93f)))
val DarkBackground = Color(ColorUtils.HSLToColor(floatArrayOf(270f, 0.18f, 0.08f)))
val DarkOnBackground = Color(ColorUtils.HSLToColor(floatArrayOf(270f, 0.10f, 0.92f)))
val DarkSurface = Color(ColorUtils.HSLToColor(floatArrayOf(270f, 0.18f, 0.14f)))
val DarkOnSurface = Color(ColorUtils.HSLToColor(floatArrayOf(270f, 0.10f, 0.86f)))

View File

@@ -1,5 +1,4 @@
package hu.bbara.purefin.ui.theme
import android.os.Build
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.MaterialTheme
@@ -8,65 +7,271 @@ import androidx.compose.material3.dynamicDarkColorScheme
import androidx.compose.material3.dynamicLightColorScheme
import androidx.compose.material3.lightColorScheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Immutable
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext
private val LightColorScheme = lightColorScheme(
primary = LightPrimary,
onPrimary = LightOnPrimary,
primaryContainer = LightPrimaryContainer,
onPrimaryContainer = LightOnPrimaryContainer,
secondary = LightSecondary,
onSecondary = LightOnSecondary,
secondaryContainer = LightSecondaryContainer,
onSecondaryContainer = LightOnSecondaryContainer,
tertiary = LightTertiary,
onTertiary = LightOnTertiary,
tertiaryContainer = LightTertiaryContainer,
onTertiaryContainer = LightOnTertiaryContainer,
background = LightBackground,
onBackground = LightOnBackground,
surface = LightSurface,
onSurface = LightOnSurface,
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,
outline = outlineLight,
outlineVariant = outlineVariantLight,
scrim = scrimLight,
inverseSurface = inverseSurfaceLight,
inverseOnSurface = inverseOnSurfaceLight,
inversePrimary = inversePrimaryLight,
surfaceDim = surfaceDimLight,
surfaceBright = surfaceBrightLight,
surfaceContainerLowest = surfaceContainerLowestLight,
surfaceContainerLow = surfaceContainerLowLight,
surfaceContainer = surfaceContainerLight,
surfaceContainerHigh = surfaceContainerHighLight,
surfaceContainerHighest = surfaceContainerHighestLight,
)
private val DarkColorScheme = darkColorScheme(
primary = DarkPrimary,
onPrimary = DarkOnPrimary,
primaryContainer = DarkPrimaryContainer,
onPrimaryContainer = DarkOnPrimaryContainer,
secondary = DarkSecondary,
onSecondary = DarkOnSecondary,
secondaryContainer = DarkSecondaryContainer,
onSecondaryContainer = DarkOnSecondaryContainer,
tertiary = DarkTertiary,
onTertiary = DarkOnTertiary,
tertiaryContainer = DarkTertiaryContainer,
onTertiaryContainer = DarkOnTertiaryContainer,
background = DarkBackground,
onBackground = DarkOnBackground,
surface = DarkSurface,
onSurface = DarkOnSurface,
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,
outline = outlineDark,
outlineVariant = outlineVariantDark,
scrim = scrimDark,
inverseSurface = inverseSurfaceDark,
inverseOnSurface = inverseOnSurfaceDark,
inversePrimary = inversePrimaryDark,
surfaceDim = surfaceDimDark,
surfaceBright = surfaceBrightDark,
surfaceContainerLowest = surfaceContainerLowestDark,
surfaceContainerLow = surfaceContainerLowDark,
surfaceContainer = surfaceContainerDark,
surfaceContainerHigh = surfaceContainerHighDark,
surfaceContainerHighest = surfaceContainerHighestDark,
)
private val mediumContrastLightColorScheme = lightColorScheme(
primary = primaryLightMediumContrast,
onPrimary = onPrimaryLightMediumContrast,
primaryContainer = primaryContainerLightMediumContrast,
onPrimaryContainer = onPrimaryContainerLightMediumContrast,
secondary = secondaryLightMediumContrast,
onSecondary = onSecondaryLightMediumContrast,
secondaryContainer = secondaryContainerLightMediumContrast,
onSecondaryContainer = onSecondaryContainerLightMediumContrast,
tertiary = tertiaryLightMediumContrast,
onTertiary = onTertiaryLightMediumContrast,
tertiaryContainer = tertiaryContainerLightMediumContrast,
onTertiaryContainer = onTertiaryContainerLightMediumContrast,
error = errorLightMediumContrast,
onError = onErrorLightMediumContrast,
errorContainer = errorContainerLightMediumContrast,
onErrorContainer = onErrorContainerLightMediumContrast,
background = backgroundLightMediumContrast,
onBackground = onBackgroundLightMediumContrast,
surface = surfaceLightMediumContrast,
onSurface = onSurfaceLightMediumContrast,
surfaceVariant = surfaceVariantLightMediumContrast,
onSurfaceVariant = onSurfaceVariantLightMediumContrast,
outline = outlineLightMediumContrast,
outlineVariant = outlineVariantLightMediumContrast,
scrim = scrimLightMediumContrast,
inverseSurface = inverseSurfaceLightMediumContrast,
inverseOnSurface = inverseOnSurfaceLightMediumContrast,
inversePrimary = inversePrimaryLightMediumContrast,
surfaceDim = surfaceDimLightMediumContrast,
surfaceBright = surfaceBrightLightMediumContrast,
surfaceContainerLowest = surfaceContainerLowestLightMediumContrast,
surfaceContainerLow = surfaceContainerLowLightMediumContrast,
surfaceContainer = surfaceContainerLightMediumContrast,
surfaceContainerHigh = surfaceContainerHighLightMediumContrast,
surfaceContainerHighest = surfaceContainerHighestLightMediumContrast,
)
private val highContrastLightColorScheme = lightColorScheme(
primary = primaryLightHighContrast,
onPrimary = onPrimaryLightHighContrast,
primaryContainer = primaryContainerLightHighContrast,
onPrimaryContainer = onPrimaryContainerLightHighContrast,
secondary = secondaryLightHighContrast,
onSecondary = onSecondaryLightHighContrast,
secondaryContainer = secondaryContainerLightHighContrast,
onSecondaryContainer = onSecondaryContainerLightHighContrast,
tertiary = tertiaryLightHighContrast,
onTertiary = onTertiaryLightHighContrast,
tertiaryContainer = tertiaryContainerLightHighContrast,
onTertiaryContainer = onTertiaryContainerLightHighContrast,
error = errorLightHighContrast,
onError = onErrorLightHighContrast,
errorContainer = errorContainerLightHighContrast,
onErrorContainer = onErrorContainerLightHighContrast,
background = backgroundLightHighContrast,
onBackground = onBackgroundLightHighContrast,
surface = surfaceLightHighContrast,
onSurface = onSurfaceLightHighContrast,
surfaceVariant = surfaceVariantLightHighContrast,
onSurfaceVariant = onSurfaceVariantLightHighContrast,
outline = outlineLightHighContrast,
outlineVariant = outlineVariantLightHighContrast,
scrim = scrimLightHighContrast,
inverseSurface = inverseSurfaceLightHighContrast,
inverseOnSurface = inverseOnSurfaceLightHighContrast,
inversePrimary = inversePrimaryLightHighContrast,
surfaceDim = surfaceDimLightHighContrast,
surfaceBright = surfaceBrightLightHighContrast,
surfaceContainerLowest = surfaceContainerLowestLightHighContrast,
surfaceContainerLow = surfaceContainerLowLightHighContrast,
surfaceContainer = surfaceContainerLightHighContrast,
surfaceContainerHigh = surfaceContainerHighLightHighContrast,
surfaceContainerHighest = surfaceContainerHighestLightHighContrast,
)
private val mediumContrastDarkColorScheme = darkColorScheme(
primary = primaryDarkMediumContrast,
onPrimary = onPrimaryDarkMediumContrast,
primaryContainer = primaryContainerDarkMediumContrast,
onPrimaryContainer = onPrimaryContainerDarkMediumContrast,
secondary = secondaryDarkMediumContrast,
onSecondary = onSecondaryDarkMediumContrast,
secondaryContainer = secondaryContainerDarkMediumContrast,
onSecondaryContainer = onSecondaryContainerDarkMediumContrast,
tertiary = tertiaryDarkMediumContrast,
onTertiary = onTertiaryDarkMediumContrast,
tertiaryContainer = tertiaryContainerDarkMediumContrast,
onTertiaryContainer = onTertiaryContainerDarkMediumContrast,
error = errorDarkMediumContrast,
onError = onErrorDarkMediumContrast,
errorContainer = errorContainerDarkMediumContrast,
onErrorContainer = onErrorContainerDarkMediumContrast,
background = backgroundDarkMediumContrast,
onBackground = onBackgroundDarkMediumContrast,
surface = surfaceDarkMediumContrast,
onSurface = onSurfaceDarkMediumContrast,
surfaceVariant = surfaceVariantDarkMediumContrast,
onSurfaceVariant = onSurfaceVariantDarkMediumContrast,
outline = outlineDarkMediumContrast,
outlineVariant = outlineVariantDarkMediumContrast,
scrim = scrimDarkMediumContrast,
inverseSurface = inverseSurfaceDarkMediumContrast,
inverseOnSurface = inverseOnSurfaceDarkMediumContrast,
inversePrimary = inversePrimaryDarkMediumContrast,
surfaceDim = surfaceDimDarkMediumContrast,
surfaceBright = surfaceBrightDarkMediumContrast,
surfaceContainerLowest = surfaceContainerLowestDarkMediumContrast,
surfaceContainerLow = surfaceContainerLowDarkMediumContrast,
surfaceContainer = surfaceContainerDarkMediumContrast,
surfaceContainerHigh = surfaceContainerHighDarkMediumContrast,
surfaceContainerHighest = surfaceContainerHighestDarkMediumContrast,
)
private val highContrastDarkColorScheme = darkColorScheme(
primary = primaryDarkHighContrast,
onPrimary = onPrimaryDarkHighContrast,
primaryContainer = primaryContainerDarkHighContrast,
onPrimaryContainer = onPrimaryContainerDarkHighContrast,
secondary = secondaryDarkHighContrast,
onSecondary = onSecondaryDarkHighContrast,
secondaryContainer = secondaryContainerDarkHighContrast,
onSecondaryContainer = onSecondaryContainerDarkHighContrast,
tertiary = tertiaryDarkHighContrast,
onTertiary = onTertiaryDarkHighContrast,
tertiaryContainer = tertiaryContainerDarkHighContrast,
onTertiaryContainer = onTertiaryContainerDarkHighContrast,
error = errorDarkHighContrast,
onError = onErrorDarkHighContrast,
errorContainer = errorContainerDarkHighContrast,
onErrorContainer = onErrorContainerDarkHighContrast,
background = backgroundDarkHighContrast,
onBackground = onBackgroundDarkHighContrast,
surface = surfaceDarkHighContrast,
onSurface = onSurfaceDarkHighContrast,
surfaceVariant = surfaceVariantDarkHighContrast,
onSurfaceVariant = onSurfaceVariantDarkHighContrast,
outline = outlineDarkHighContrast,
outlineVariant = outlineVariantDarkHighContrast,
scrim = scrimDarkHighContrast,
inverseSurface = inverseSurfaceDarkHighContrast,
inverseOnSurface = inverseOnSurfaceDarkHighContrast,
inversePrimary = inversePrimaryDarkHighContrast,
surfaceDim = surfaceDimDarkHighContrast,
surfaceBright = surfaceBrightDarkHighContrast,
surfaceContainerLowest = surfaceContainerLowestDarkHighContrast,
surfaceContainerLow = surfaceContainerLowDarkHighContrast,
surfaceContainer = surfaceContainerDarkHighContrast,
surfaceContainerHigh = surfaceContainerHighDarkHighContrast,
surfaceContainerHighest = surfaceContainerHighestDarkHighContrast,
)
@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 PurefinTheme(
fun AppTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
// Dynamic color is available on Android 12+
dynamicColor: Boolean = false,
content: @Composable () -> Unit
content: @Composable() () -> Unit
) {
val colorScheme = when {
dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
val context = LocalContext.current
if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
}
val colorScheme = when {
dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
val context = LocalContext.current
if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
}
darkTheme -> darkScheme
else -> lightScheme
}
darkTheme -> DarkColorScheme
else -> LightColorScheme
}
MaterialTheme(
colorScheme = colorScheme,
typography = Typography,
content = content
)
MaterialTheme(
colorScheme = colorScheme,
typography = AppTypography,
content = content
)
}

View File

@@ -1,34 +1,5 @@
package hu.bbara.purefin.ui.theme
import androidx.compose.material3.Typography
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
// Set of Material typography styles to start with
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()