git.iko.soy/opencode-android
on b9f3596 help sign in
54 lines 1.7 kB history raw
1package soy.iko.opencode.ui.theme
3import android.os.Build
4import androidx.compose.foundation.isSystemInDarkTheme
5import androidx.compose.material3.MaterialTheme
6import androidx.compose.material3.darkColorScheme
7import androidx.compose.material3.dynamicDarkColorScheme
8import androidx.compose.material3.dynamicLightColorScheme
9import androidx.compose.material3.lightColorScheme
10import androidx.compose.runtime.Composable
11import androidx.compose.ui.graphics.Color
12import androidx.compose.ui.platform.LocalContext
14private val DarkColors = darkColorScheme(
15 primary = Emerald,
16 onPrimary = Color(0xFF0F1115),
17 secondary = EmeraldDark,
18 background = DarkBackground,
19 surface = DarkSurface,
20 surfaceVariant = DarkSurfaceVariant,
21 onSurface = DarkOnSurface,
22 outline = DarkOutline,
25private val LightColors = lightColorScheme(
26 primary = EmeraldDark,
27 secondary = Emerald,
28 background = LightBackground,
29 surface = LightSurface,
30 surfaceVariant = LightSurfaceVariant,
31 onSurface = LightOnSurface,
32 outline = LightOutline,
35@Composable
36fun OpencodeTheme(
37 darkTheme: Boolean = isSystemInDarkTheme(),
38 dynamicColor: Boolean = true,
39 content: @Composable () -> Unit,
40) {
41 val context = LocalContext.current
42 val colorScheme = when {
43 dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S ->
44 if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
45 darkTheme -> DarkColors
46 else -> LightColors
47 }
49 MaterialTheme(
50 colorScheme = colorScheme,
51 typography = AppTypography,
52 content = content,
53 )