fix(settings): 在主题色板没用跟随用户设置切换深色模式
This commit is contained in:
parent
4e1ede0aae
commit
e44dcb8c5a
2 changed files with 10 additions and 1 deletions
|
|
@ -36,6 +36,7 @@ import cn.super12138.todo.utils.VibrationUtils
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun PaletteItem(
|
fun PaletteItem(
|
||||||
|
isDark: Boolean,
|
||||||
paletteStyle: PaletteStyle,
|
paletteStyle: PaletteStyle,
|
||||||
contrastLevel: ContrastLevel,
|
contrastLevel: ContrastLevel,
|
||||||
selected: Boolean,
|
selected: Boolean,
|
||||||
|
|
@ -63,7 +64,7 @@ fun PaletteItem(
|
||||||
} else {
|
} else {
|
||||||
Color(0xFF0061A4)
|
Color(0xFF0061A4)
|
||||||
},
|
},
|
||||||
isDark = isSystemInDarkTheme(),
|
isDark = isDark,
|
||||||
contrastLevel = contrastLevel.value.toDouble(),
|
contrastLevel = contrastLevel.value.toDouble(),
|
||||||
style = paletteStyle
|
style = paletteStyle
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package cn.super12138.todo.ui.pages.settings.components.palette
|
package cn.super12138.todo.ui.pages.settings.components.palette
|
||||||
|
|
||||||
|
import androidx.compose.foundation.isSystemInDarkTheme
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.lazy.items
|
import androidx.compose.foundation.lazy.items
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
|
@ -12,12 +13,14 @@ import androidx.compose.ui.unit.dp
|
||||||
import cn.super12138.todo.R
|
import cn.super12138.todo.R
|
||||||
import cn.super12138.todo.constants.Constants
|
import cn.super12138.todo.constants.Constants
|
||||||
import cn.super12138.todo.logic.model.ContrastLevel
|
import cn.super12138.todo.logic.model.ContrastLevel
|
||||||
|
import cn.super12138.todo.logic.model.DarkMode
|
||||||
import cn.super12138.todo.ui.pages.settings.components.RowSettingsItem
|
import cn.super12138.todo.ui.pages.settings.components.RowSettingsItem
|
||||||
import cn.super12138.todo.ui.pages.settings.state.rememberPrefIntState
|
import cn.super12138.todo.ui.pages.settings.state.rememberPrefIntState
|
||||||
import cn.super12138.todo.ui.theme.PaletteStyle
|
import cn.super12138.todo.ui.theme.PaletteStyle
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun PalettePicker(
|
fun PalettePicker(
|
||||||
|
isDarkMode: DarkMode,
|
||||||
contrastLevel: ContrastLevel,
|
contrastLevel: ContrastLevel,
|
||||||
onPaletteChange: (paletteStyle: PaletteStyle) -> Unit,
|
onPaletteChange: (paletteStyle: PaletteStyle) -> Unit,
|
||||||
modifier: Modifier = Modifier
|
modifier: Modifier = Modifier
|
||||||
|
|
@ -38,6 +41,11 @@ fun PalettePicker(
|
||||||
) {
|
) {
|
||||||
items(items = paletteOptions, key = { it.id }) { paletteStyle ->
|
items(items = paletteOptions, key = { it.id }) { paletteStyle ->
|
||||||
PaletteItem(
|
PaletteItem(
|
||||||
|
isDark = when (isDarkMode) {
|
||||||
|
DarkMode.FollowSystem -> isSystemInDarkTheme()
|
||||||
|
DarkMode.Light -> false
|
||||||
|
DarkMode.Dark -> true
|
||||||
|
},
|
||||||
paletteStyle = paletteStyle,
|
paletteStyle = paletteStyle,
|
||||||
selected = PaletteStyle.fromId(paletteState) == paletteStyle,
|
selected = PaletteStyle.fromId(paletteState) == paletteStyle,
|
||||||
contrastLevel = contrastLevel,
|
contrastLevel = contrastLevel,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue