package com.taskttl.ui.theme import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.material3.MaterialTheme import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color /** 浅色方案 */ private val LightColorScheme = lightColorScheme( primary = Color(0xFF667EEA), onPrimary = Color(0xFFFFFFFF), primaryContainer = Color(0xFFEADDFF), onPrimaryContainer = Color(0xFF21005D), secondary = Color(0xFF764BA2), onSecondary = Color(0xFFFFFFFF), secondaryContainer = Color(0xFFE8DEF8), onSecondaryContainer = Color(0xFF1D192B), tertiary = Color(0xFF7D5260), onTertiary = Color(0xFFFFFFFF), tertiaryContainer = Color(0xFFFFD8E4), onTertiaryContainer = Color(0xFF31111D), error = Color(0xFFBA1A1A), onError = Color(0xFFFFFFFF), errorContainer = Color(0xFFFFDAD6), onErrorContainer = Color(0xFF410002), background = Color(0xFFF5F5F5), onBackground = Color(0xFF1C1B1F), surface = Color(0xFFFFFBFE), onSurface = Color(0xFF1C1B1F), surfaceVariant = Color(0xFFE7E0EC), onSurfaceVariant = Color(0xFF49454F), outline = Color(0xFF79747E), outlineVariant = Color(0xFFCAC4D0), scrim = Color(0xFF000000), inverseSurface = Color(0xFF313033), inverseOnSurface = Color(0xFFF4EFF4), inversePrimary = Color(0xFFD0BCFF), surfaceDim = Color(0xFFDDD8DD), surfaceBright = Color(0xFFFFFBFE), surfaceContainerLowest = Color(0xFFFFFFFF), surfaceContainerLow = Color(0xFFF7F2FA), surfaceContainer = Color(0xFFF1ECF4), surfaceContainerHigh = Color(0xFFECE6F0), surfaceContainerHighest = Color(0xFFE6E0E9) ) /** 深色配色方案 */ private val DarkColorScheme = darkColorScheme( primary = Color(0xFFD0BCFF), onPrimary = Color(0xFF381E72), primaryContainer = Color(0xFF4F378B), onPrimaryContainer = Color(0xFFEADDFF), secondary = Color(0xFFCCC2DC), onSecondary = Color(0xFF332D41), secondaryContainer = Color(0xFF4A4458), onSecondaryContainer = Color(0xFFE8DEF8), tertiary = Color(0xFFEFB8C8), onTertiary = Color(0xFF492532), tertiaryContainer = Color(0xFF633B48), onTertiaryContainer = Color(0xFFFFD8E4), error = Color(0xFFFFB4AB), onError = Color(0xFF690005), errorContainer = Color(0xFF93000A), onErrorContainer = Color(0xFFFFDAD6), background = Color(0xFF10131C), onBackground = Color(0xFFE6E0E9), surface = Color(0xFF10131C), onSurface = Color(0xFFE6E0E9), surfaceVariant = Color(0xFF49454F), onSurfaceVariant = Color(0xFFCAC4D0), outline = Color(0xFF938F99), outlineVariant = Color(0xFF49454F), scrim = Color(0xFF000000), inverseSurface = Color(0xFFE6E0E9), inverseOnSurface = Color(0xFF313033), inversePrimary = Color(0xFF6750A4), surfaceDim = Color(0xFF10131C), surfaceBright = Color(0xFF383B42), surfaceContainerLowest = Color(0xFF0B0E17), surfaceContainerLow = Color(0xFF191C24), surfaceContainer = Color(0xFF1D2028), surfaceContainerHigh = Color(0xFF282A32), surfaceContainerHighest = Color(0xFF33353D) ) /** * 应用主题 * @param [darkTheme] 黑暗主题 * @param [content] 内容 */ @Composable fun AppTheme( darkTheme: Boolean = isSystemInDarkTheme(), content: @Composable () -> Unit ) { val colorScheme = if (darkTheme) { DarkColorScheme } else { LightColorScheme } MaterialTheme( colorScheme = colorScheme, typography = mainTypography(), content = content ) }