Fix dark mode sync bug

This commit is contained in:
syuilo 2020-03-25 22:49:42 +09:00
parent 3725b5bc34
commit 8e9bd0bbd5

View file

@ -145,6 +145,12 @@ os.init(async () => {
} }
}, false) }, false)
os.store.watch(state => state.device.darkMode, darkMode => {
// TODO: このファイルでbuiltinThemesを参照するとcode splittingが効かず、初回読み込み時に全てのテーマコードを読み込むことになってしまい無駄なので何とかする
const themes = builtinThemes.concat(os.store.state.device.themes);
applyTheme(themes.find(x => x.id === (darkMode ? os.store.state.device.darkTheme : os.store.state.device.lightTheme)));
});
//#region Sync dark mode //#region Sync dark mode
if (os.store.state.device.syncDeviceDarkMode) { if (os.store.state.device.syncDeviceDarkMode) {
os.store.commit('device/set', { key: 'darkMode', value: isDeviceDarkmode() }); os.store.commit('device/set', { key: 'darkMode', value: isDeviceDarkmode() });
@ -176,13 +182,6 @@ os.init(async () => {
isMobile: isMobile isMobile: isMobile
}; };
}, },
watch: {
'$store.state.device.darkMode'() {
// TODO: このファイルでbuiltinThemesを参照するとcode splittingが効かず、初回読み込み時に全てのテーマコードを読み込むことになってしまい無駄なので何とかする
const themes = builtinThemes.concat(this.$store.state.device.themes);
applyTheme(themes.find(x => x.id === (this.$store.state.device.darkMode ? this.$store.state.device.darkTheme : this.$store.state.device.lightTheme)));
}
},
methods: { methods: {
api: os.api, api: os.api,
signout: os.signout, signout: os.signout,