package soy.iko.opencode.ui.theme import android.app.Activity 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.runtime.SideEffect import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.platform.LocalView import androidx.core.view.WindowCompat private val DarkColors = darkColorScheme( primary = Color(0xFF7AA2F7), secondary = Color(0xFF9ECE6A), tertiary = Color(0xFFBB9AF7), background = Color(0xFF1A1B26), surface = Color(0xFF1F2335), ) private val LightColors = lightColorScheme( primary = Color(0xFF34548A), secondary = Color(0xFF485E30), tertiary = Color(0xFF5A4A78), ) @Composable fun OpencodeTheme( darkTheme: Boolean = isSystemInDarkTheme(), content: @Composable () -> Unit, ) { val colorScheme = if (darkTheme) DarkColors else LightColors val view = LocalView.current if (!view.isInEditMode) { SideEffect { val window = (view.context as Activity).window window.statusBarColor = colorScheme.background.toArgb() WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = !darkTheme } } MaterialTheme( colorScheme = colorScheme, content = content, ) }