summaryrefslogtreecommitdiff
path: root/packages/client/src/init.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-03-01 23:58:01 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2022-03-01 23:58:01 +0900
commitba4ef23d6b426f5e54d48d9519d597ca4e8b020f (patch)
tree9a4aee1b1e3809709165edae79e81565259d1f9f /packages/client/src/init.ts
parent:art: (diff)
downloadsharkey-ba4ef23d6b426f5e54d48d9519d597ca4e8b020f.tar.gz
sharkey-ba4ef23d6b426f5e54d48d9519d597ca4e8b020f.tar.bz2
sharkey-ba4ef23d6b426f5e54d48d9519d597ca4e8b020f.zip
feat: instance default theme
Diffstat (limited to 'packages/client/src/init.ts')
-rw-r--r--packages/client/src/init.ts13
1 files changed, 12 insertions, 1 deletions
diff --git a/packages/client/src/init.ts b/packages/client/src/init.ts
index 113324d494..ab3299d22b 100644
--- a/packages/client/src/init.ts
+++ b/packages/client/src/init.ts
@@ -15,6 +15,7 @@ if (localStorage.getItem('accounts') != null) {
import { computed, createApp, watch, markRaw, version as vueVersion } from 'vue';
import compareVersions from 'compare-versions';
+import * as JSON5 from 'json5';
import widgets from '@/widgets';
import directives from '@/directives';
@@ -159,7 +160,9 @@ if ($i && $i.token) {
}
//#endregion
-fetchInstance().then(() => {
+const fetchInstanceMetaPromise = fetchInstance();
+
+fetchInstanceMetaPromise.then(() => {
localStorage.setItem('v', instance.version);
// Init service worker
@@ -267,6 +270,14 @@ window.matchMedia('(prefers-color-scheme: dark)').addListener(mql => {
});
//#endregion
+fetchInstanceMetaPromise.then(() => {
+ if (defaultStore.state.themeInitial) {
+ if (instance.defaultLightTheme != null) ColdDeviceStorage.set('lightTheme', JSON5.parse(instance.defaultLightTheme));
+ if (instance.defaultDarkTheme != null) ColdDeviceStorage.set('darkTheme', JSON5.parse(instance.defaultDarkTheme));
+ defaultStore.set('themeInitial', false);
+ }
+});
+
// shortcut
document.addEventListener('keydown', makeHotkey({
'd': () => {