Fix dark mode sync

This commit is contained in:
syuilo 2020-03-22 20:23:35 +09:00
parent 9f49c663f8
commit 90ba51ee9c

View File

@ -19,6 +19,7 @@ import Dialog from './components/dialog.vue';
import Menu from './components/menu.vue'; import Menu from './components/menu.vue';
import { router } from './router'; import { router } from './router';
import { applyTheme, lightTheme, builtinThemes } from './theme'; import { applyTheme, lightTheme, builtinThemes } from './theme';
import { isDeviceDarkmode } from './scripts/is-device-darkmode';
Vue.use(Vuex); Vue.use(Vuex);
Vue.use(VueHotkey); Vue.use(VueHotkey);
@ -144,11 +145,17 @@ os.init(async () => {
} }
}, false) }, false)
//#region Sync dark mode
if (os.store.state.device.syncDeviceDarkMode) {
os.store.commit('device/set', { key: 'darkMode', value: isDeviceDarkmode() });
}
window.matchMedia('(prefers-color-scheme: dark)').addListener(mql => { window.matchMedia('(prefers-color-scheme: dark)').addListener(mql => {
if (os.store.state.device.syncDeviceDarkMode) { if (os.store.state.device.syncDeviceDarkMode) {
os.store.commit('device/set', { key: 'darkMode', value: mql.matches }); os.store.commit('device/set', { key: 'darkMode', value: mql.matches });
} }
}); });
//#endregion
if ('Notification' in window && os.store.getters.isSignedIn) { if ('Notification' in window && os.store.getters.isSignedIn) {
// 許可を得ていなかったらリクエスト // 許可を得ていなかったらリクエスト