fix: theme mode follow the system only auto (#5923)

* 修复主题在未设置为auto时,仍然会跟随系统主题变化的问题。
This commit is contained in:
Netfan
2025-04-12 01:16:57 +08:00
parent a87fa3ffbe
commit a6b480fb8f
2 changed files with 16 additions and 9 deletions

View File

@@ -198,9 +198,16 @@ class PreferenceManager {
window
.matchMedia('(prefers-color-scheme: dark)')
.addEventListener('change', ({ matches: isDark }) => {
this.updatePreferences({
theme: { mode: isDark ? 'dark' : 'light' },
});
// 如果偏好设置中主题模式为auto则跟随系统更新
if (this.state.theme.mode === 'auto') {
this.updatePreferences({
theme: { mode: isDark ? 'dark' : 'light' },
});
// 恢复为auto模式
this.updatePreferences({
theme: { mode: 'auto' },
});
}
});
}