Просмотр исходного кода

fix: 阅读界面亮暗色切换

HapeLee 4 месяцев назад
Родитель
Сommit
ffad6a2d09

+ 1 - 5
app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt

@@ -3169,11 +3169,7 @@ class ReadBookViewModel(
     }
     }
 
 
     private fun toggleDayNight() {
     private fun toggleDayNight() {
-        val nextMode = when (ThemeConfig.themeMode) {
-            "0" -> "1"  // follow system → light
-            "1" -> "2"  // light → dark
-            else -> "0" // dark → follow system
-        }
+        val nextMode = if (ReadConfig.isNightTheme) "1" else "2"
         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(

+ 2 - 8
app/src/main/java/io/legado/app/ui/book/read/sheet/GlobalThemePage.kt

@@ -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) {
-                        "1" -> Icons.Default.LightMode
-                        "2" -> Icons.Default.DarkMode
-                        else -> Icons.Default.BrightnessAuto
-                    },
+                    icon = if (isNightTheme) Icons.Default.DarkMode else Icons.Default.LightMode,
                     contentColor = LegadoTheme.colorScheme.onSurfaceVariant,
                     contentColor = LegadoTheme.colorScheme.onSurfaceVariant,
                     containerColor = LegadoTheme.colorScheme.surfaceContainerHigh,
                     containerColor = LegadoTheme.colorScheme.surfaceContainerHigh,
                     selectedContainerColor = LegadoTheme.colorScheme.surfaceContainerHigh,
                     selectedContainerColor = LegadoTheme.colorScheme.surfaceContainerHigh,