summaryrefslogtreecommitdiff
path: root/packages/client/src/init.ts
diff options
context:
space:
mode:
authortamaina <tamaina@hotmail.co.jp>2022-03-04 15:56:43 +0900
committertamaina <tamaina@hotmail.co.jp>2022-03-04 15:56:43 +0900
commita4de5aa94b9b318b1a286d36406e11e0e7f27590 (patch)
tree6c0cd908b7e8f68fc300b9cb102f69b8ec2f5adc /packages/client/src/init.ts
parentMerge branch 'develop' into pizzax-indexeddb (diff)
parentfix federation chart pubsub (diff)
downloadmisskey-a4de5aa94b9b318b1a286d36406e11e0e7f27590.tar.gz
misskey-a4de5aa94b9b318b1a286d36406e11e0e7f27590.tar.bz2
misskey-a4de5aa94b9b318b1a286d36406e11e0e7f27590.zip
Merge branch 'develop' into pizzax-indexeddb
Diffstat (limited to 'packages/client/src/init.ts')
-rw-r--r--packages/client/src/init.ts22
1 files changed, 16 insertions, 6 deletions
diff --git a/packages/client/src/init.ts b/packages/client/src/init.ts
index 9b670b4300..5809f25689 100644
--- a/packages/client/src/init.ts
+++ b/packages/client/src/init.ts
@@ -14,7 +14,8 @@ if (localStorage.getItem('accounts') != null) {
//#endregion
import { computed, createApp, watch, markRaw, version as vueVersion } from 'vue';
-import * as compareVersions from 'compare-versions';
+import compareVersions from 'compare-versions';
+import * as JSON5 from 'json5';
import widgets from '@/widgets';
import directives from '@/directives';
@@ -32,7 +33,7 @@ import { defaultStore, ColdDeviceStorage } from '@/store';
import { fetchInstance, instance } from '@/instance';
import { makeHotkey } from '@/scripts/hotkey';
import { search } from '@/scripts/search';
-import { isMobile } from '@/scripts/is-mobile';
+import { deviceKind } from '@/scripts/device-kind';
import { initializeSw } from '@/scripts/initialize-sw';
import { reloadChannel } from '@/scripts/unison-reload';
import { reactionPicker } from '@/scripts/reaction-picker';
@@ -95,11 +96,10 @@ window.addEventListener('resize', () => {
//#endregion
// If mobile, insert the viewport meta tag
-if (isMobile || window.innerWidth <= 1024) {
+if (['smartphone', 'tablet'].includes(deviceKind)) {
const viewport = document.getElementsByName('viewport').item(0);
viewport.setAttribute('content',
- `${viewport.getAttribute('content')},minimum-scale=1,maximum-scale=1,user-scalable=no`);
- document.head.appendChild(viewport);
+ `${viewport.getAttribute('content')}, minimum-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover`);
}
//#region Set lang attr
@@ -163,7 +163,9 @@ if ($i && $i.token) {
}
//#endregion
-fetchInstance().then(() => {
+const fetchInstanceMetaPromise = fetchInstance();
+
+fetchInstanceMetaPromise.then(() => {
localStorage.setItem('v', instance.version);
// Init service worker
@@ -274,6 +276,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': () => {