diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-03-01 23:58:01 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2022-03-01 23:58:01 +0900 |
| commit | ba4ef23d6b426f5e54d48d9519d597ca4e8b020f (patch) | |
| tree | 9a4aee1b1e3809709165edae79e81565259d1f9f /packages/client/src/init.ts | |
| parent | :art: (diff) | |
| download | sharkey-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.ts | 13 |
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': () => { |