fix: 阅读界面亮暗色切换

This commit is contained in:
HapeLee
2026-06-14 00:21:28 +08:00
parent 9432ea29fd
commit ffad6a2d09
2 changed files with 3 additions and 13 deletions
@@ -3169,11 +3169,7 @@ class ReadBookViewModel(
} }
private fun toggleDayNight() { private fun toggleDayNight() {
val nextMode = when (ThemeConfig.themeMode) { val nextMode = if (ReadConfig.isNightTheme) "1" else "2"
"0" -> "1" // follow system → light
"1" -> "2" // light → dark
else -> "0" // dark → follow system
}
ThemeConfig.themeMode = nextMode ThemeConfig.themeMode = nextMode
_uiState.update { it.copy(styleConfig = buildStyleConfig()) } _uiState.update { it.copy(styleConfig = buildStyleConfig()) }
_effects.tryEmit(ReadBookEffect.UpdateReadViewConfig( _effects.tryEmit(ReadBookEffect.UpdateReadViewConfig(
@@ -21,7 +21,6 @@ import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Add import androidx.compose.material.icons.filled.Add
import androidx.compose.material.icons.filled.BrightnessAuto
import androidx.compose.material.icons.filled.Check import androidx.compose.material.icons.filled.Check
import androidx.compose.material.icons.filled.DarkMode import androidx.compose.material.icons.filled.DarkMode
import androidx.compose.material.icons.filled.GridView import androidx.compose.material.icons.filled.GridView
@@ -51,7 +50,6 @@ import io.legado.app.model.ReadBook
import io.legado.app.ui.book.read.ConfigUpdate import io.legado.app.ui.book.read.ConfigUpdate
import io.legado.app.ui.book.read.ReadBookIntent import io.legado.app.ui.book.read.ReadBookIntent
import io.legado.app.ui.book.read.ReadBookStyleConfig import io.legado.app.ui.book.read.ReadBookStyleConfig
import io.legado.app.ui.config.themeConfig.ThemeConfig
import io.legado.app.ui.theme.LegadoTheme import io.legado.app.ui.theme.LegadoTheme
import io.legado.app.ui.theme.fadingEdge import io.legado.app.ui.theme.fadingEdge
import io.legado.app.ui.widget.components.button.series.SmallTonalButton import io.legado.app.ui.widget.components.button.series.SmallTonalButton
@@ -155,14 +153,10 @@ fun GlobalThemePage(
color = LegadoTheme.colorScheme.onSurfaceVariant, color = LegadoTheme.colorScheme.onSurfaceVariant,
) )
} }
val themeMode = ThemeConfig.themeMode val isNightTheme = LegadoTheme.isDark
SmallTonalButton( SmallTonalButton(
onClick = onToggleDayNight, onClick = onToggleDayNight,
icon = when (themeMode) { icon = if (isNightTheme) Icons.Default.DarkMode else Icons.Default.LightMode,
"1" -> Icons.Default.LightMode
"2" -> Icons.Default.DarkMode
else -> Icons.Default.BrightnessAuto
},
contentColor = LegadoTheme.colorScheme.onSurfaceVariant, contentColor = LegadoTheme.colorScheme.onSurfaceVariant,
containerColor = LegadoTheme.colorScheme.surfaceContainerHigh, containerColor = LegadoTheme.colorScheme.surfaceContainerHigh,
selectedContainerColor = LegadoTheme.colorScheme.surfaceContainerHigh, selectedContainerColor = LegadoTheme.colorScheme.surfaceContainerHigh,