From f2fea7f3cd5a131f994ad9bc1d2b4833865dd165 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 20 Apr 2018 03:41:24 +0900 Subject: [wip] darkmode --- src/client/app/desktop/script.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/client/app/desktop/script.ts') diff --git a/src/client/app/desktop/script.ts b/src/client/app/desktop/script.ts index b3152e708b..ba7a64ff22 100644 --- a/src/client/app/desktop/script.ts +++ b/src/client/app/desktop/script.ts @@ -2,6 +2,7 @@ * Desktop Client */ +import Vue from 'vue'; import VueRouter from 'vue-router'; // Style @@ -43,6 +44,30 @@ init(async (launch) => { require('./views/components'); require('./views/widgets'); + // Dark/Light + Vue.mixin({ + mounted() { + const set = () => { + if (!this.$el || !this.os || !this.os.i) return; + if (this.os.i.clientSettings.dark) { + document.documentElement.setAttribute('data-darkmode', 'true'); + this.$el.setAttribute('data-darkmode', 'true'); + } else { + document.documentElement.removeAttribute('data-darkmode'); + this.$el.removeAttribute('data-darkmode'); + } + }; + + set(); + + this.$watch('os.i.clientSettings', i => { + set(); + }, { + deep: true + }); + } + }); + // Init router const router = new VueRouter({ mode: 'history', -- cgit v1.2.3-freya