summaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2020-03-22 18:39:37 +0900
committersyuilo <syuilotan@yahoo.co.jp>2020-03-22 18:39:37 +0900
commitb44e1820a2b9cca7ecac2a9604d8fdcb831f3b92 (patch)
tree7fa3978f2e7ba84898e6f6ebffad4d16341fd483 /src/client
parentMerge branch 'develop' of https://github.com/syuilo/misskey into develop (diff)
downloadsharkey-b44e1820a2b9cca7ecac2a9604d8fdcb831f3b92.tar.gz
sharkey-b44e1820a2b9cca7ecac2a9604d8fdcb831f3b92.tar.bz2
sharkey-b44e1820a2b9cca7ecac2a9604d8fdcb831f3b92.zip
ダークモードの同期を強化
Diffstat (limited to 'src/client')
-rw-r--r--src/client/app.vue5
-rw-r--r--src/client/init.ts6
-rw-r--r--src/client/scripts/is-device-darkmode.ts2
3 files changed, 7 insertions, 6 deletions
diff --git a/src/client/app.vue b/src/client/app.vue
index 5a38082262..b47c092ed2 100644
--- a/src/client/app.vue
+++ b/src/client/app.vue
@@ -163,7 +163,6 @@ import { v4 as uuid } from 'uuid';
import i18n from './i18n';
import { host, instanceName } from './config';
import { search } from './scripts/search';
-import { isDeviceDarkmode } from './scripts/is-device-darkmode';
import MkToast from './components/toast.vue';
const DESKTOP_THRESHOLD = 1100;
@@ -224,10 +223,6 @@ export default Vue.extend({
},
created() {
- if (this.$store.state.device.syncDeviceDarkMode) {
- this.$store.commit('device/set', { key: 'darkMode', value: isDeviceDarkmode() });
- }
-
if (this.$store.getters.isSignedIn) {
this.connection = this.$root.stream.useSharedConnection('main');
this.connection.on('notification', this.onNotification);
diff --git a/src/client/init.ts b/src/client/init.ts
index f1790ac4d9..d7b693e4c8 100644
--- a/src/client/init.ts
+++ b/src/client/init.ts
@@ -144,6 +144,12 @@ os.init(async () => {
}
}, false)
+ window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', mql => {
+ if (os.store.state.device.syncDeviceDarkMode) {
+ os.store.commit('device/set', { key: 'darkMode', value: mql.matches });
+ }
+ });
+
if ('Notification' in window && os.store.getters.isSignedIn) {
// 許可を得ていなかったらリクエスト
if (Notification.permission === 'default') {
diff --git a/src/client/scripts/is-device-darkmode.ts b/src/client/scripts/is-device-darkmode.ts
index 21c26823c7..854f38e517 100644
--- a/src/client/scripts/is-device-darkmode.ts
+++ b/src/client/scripts/is-device-darkmode.ts
@@ -1,3 +1,3 @@
export function isDeviceDarkmode() {
- return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
+ return window.matchMedia('(prefers-color-scheme: dark)').matches;
}