theme/readme.md
2026-02-26 11:11:23 +00:00

144 lines
3.8 KiB
Markdown

Color:
package ru.myitschool.work.ui.theme
import androidx.compose.ui.graphics.Color
val PrimaryLight = Color(0xFF003E2F)
val SecondaryLight = Color(0xFF243B32)
val TertiaryLight = Color(0xFF143A4B)
val OnPrimaryLight = Color(0xFFFFFFFF)
val OnSecondaryLight = Color(0xFFFFFFFF)
val OnTertiaryLight = Color(0xFFFFFFFF)
val PrimaryContainerLight = Color(0xFF2B7A62)
val SecondaryContainerLight = Color(0xFF5A7268)
val TertiaryContainerLight = Color(0xFF4E7285)
val OnPrimaryContainerLight = Color(0xFFFFFFFF)
val OnSecondaryContainerLight = Color(0xFFFFFFFF)
val OnTertiaryContainerLight = Color(0xFFFFFFFF)
val SurfaceLight = Color(0xFFF5FBF6)
val OnSurfaceLight = Color(0xFF0C1210)
val ErrorLight = Color(0xFF740006)
val ErrorContainerLight = Color(0xFFCF2C27)
val PrimaryDark = Color(0xFF9EECCF)
val SecondaryDark = Color(0xFFC8E2D6)
val TertiaryDark = Color(0xFFBDE2F8)
val OnPrimaryDark = Color(0xFF002C20)
val OnSecondaryDark = Color(0xFF132A22)
val OnTertiaryDark = Color(0xFF002939)
val PrimaryContainerDark = Color(0xFF529F85)
val SecondaryContainerDark = Color(0xFF7D968B)
val TertiaryContainerDark = Color(0xFF7295AA)
val OnPrimaryContainerDark = Color(0xFF000000)
val OnSecondaryContainerDark = Color(0xFF000000)
val OnTertiaryContainerDark = Color(0xFF000000)
val SurfaceDark = Color(0xFF404643)
val OnSurfaceDark = Color(0xFFFFFFFF)
val ErrorDark = Color(0xFFFFD2CC)
val ErrorContainerDark = Color(0xFFFF5449)
Theme:
package ru.myitschool.work.ui.theme
import android.os.Build
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.darkColorScheme
import androidx.compose.material3.dynamicDarkColorScheme
import androidx.compose.material3.dynamicLightColorScheme
import androidx.compose.material3.lightColorScheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
private val DarkColorScheme = darkColorScheme(
primary = PrimaryDark,
secondary = SecondaryDark,
tertiary = TertiaryDark,
onPrimary = OnPrimaryDark,
onSecondary = OnSecondaryDark,
onTertiary = OnTertiaryDark,
error = ErrorDark,
errorContainer = ErrorContainerDark,
surface = SurfaceDark,
onSurface = OnSurfaceDark,
primaryContainer = PrimaryContainerDark,
secondaryContainer = SecondaryContainerDark,
tertiaryContainer = TertiaryContainerDark,
onPrimaryContainer = OnPrimaryContainerDark,
onSecondaryContainer = OnSecondaryContainerDark,
onTertiaryContainer = OnTertiaryContainerDark,
)
private val LightColorScheme = lightColorScheme(
primary = PrimaryLight,
secondary = SecondaryLight,
tertiary = TertiaryLight,
onPrimary = OnPrimaryLight,
onSecondary = OnSecondaryLight,
onTertiary = OnTertiaryLight,
error = ErrorLight,
errorContainer = ErrorContainerLight,
surface = SurfaceLight,
onSurface = OnSurfaceLight,
primaryContainer = PrimaryContainerLight,
secondaryContainer = SecondaryContainerLight,
tertiaryContainer = TertiaryContainerLight,
onPrimaryContainer = OnPrimaryContainerLight,
onSecondaryContainer = OnSecondaryContainerLight,
onTertiaryContainer = OnTertiaryContainerLight,
)
@Composable
fun WorkTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
// Dynamic color is available on Android 12+
dynamicColor: Boolean = true,
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)
}
darkTheme -> DarkColorScheme
else -> LightColorScheme
}
MaterialTheme(
colorScheme = colorScheme,
typography = Typography,
content = content
)
}