Apply theme preference to compose screens
This commit is contained in:
parent
9fe2f0f347
commit
a2cf713b56
@ -4,14 +4,22 @@ import androidx.compose.foundation.isSystemInDarkTheme
|
|||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.material.*
|
import androidx.compose.material.*
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.collectAsState
|
||||||
|
import androidx.compose.runtime.getValue
|
||||||
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.text.TextStyle
|
import androidx.compose.ui.text.TextStyle
|
||||||
import androidx.compose.ui.text.font.Font
|
import androidx.compose.ui.text.font.Font
|
||||||
import androidx.compose.ui.text.font.FontFamily
|
import androidx.compose.ui.text.font.FontFamily
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
|
import de.mm20.launcher2.preferences.Settings
|
||||||
|
import de.mm20.launcher2.preferences.Settings.AppearanceSettings.Theme
|
||||||
|
import de.mm20.launcher2.preferences.dataStore
|
||||||
import de.mm20.launcher2.ui.locals.LocalColorScheme
|
import de.mm20.launcher2.ui.locals.LocalColorScheme
|
||||||
|
import kotlinx.coroutines.flow.map
|
||||||
|
|
||||||
val lightPalette = lightColors(
|
val lightPalette = lightColors(
|
||||||
primary = Color(0, 114, 255)
|
primary = Color(0, 114, 255)
|
||||||
@ -225,9 +233,17 @@ val Colors.weatherFog: Color
|
|||||||
@Composable
|
@Composable
|
||||||
fun LauncherTheme(content: @Composable () -> Unit) {
|
fun LauncherTheme(content: @Composable () -> Unit) {
|
||||||
|
|
||||||
|
val dataStore = LocalContext.current.dataStore
|
||||||
|
|
||||||
|
val theme by remember {
|
||||||
|
dataStore.data.map { it.appearance.theme }
|
||||||
|
}.collectAsState(initial = Theme.System)
|
||||||
|
|
||||||
|
val darkTheme = theme == Theme.Dark || theme == Theme.System && isSystemInDarkTheme()
|
||||||
|
|
||||||
val colorScheme = LocalColorScheme.current
|
val colorScheme = LocalColorScheme.current
|
||||||
|
|
||||||
val colors = if (isSystemInDarkTheme()) {
|
val colors = if (darkTheme) {
|
||||||
darkColors(
|
darkColors(
|
||||||
onSurface = colorScheme.neutral2.shade10,
|
onSurface = colorScheme.neutral2.shade10,
|
||||||
surface = colorScheme.neutral2.shade800,
|
surface = colorScheme.neutral2.shade800,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user