summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-02-28 22:42:32 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2022-02-28 22:42:32 +0900
commit94d4f8271e3406ff549a8f18831fb74adcd0d1ab (patch)
treec797bde2136e749743056b8700d11e27f8e396d5
parentfix esm (diff)
downloadmisskey-94d4f8271e3406ff549a8f18831fb74adcd0d1ab.tar.gz
misskey-94d4f8271e3406ff549a8f18831fb74adcd0d1ab.tar.bz2
misskey-94d4f8271e3406ff549a8f18831fb74adcd0d1ab.zip
refactor
-rw-r--r--packages/client/src/init.ts4
-rw-r--r--packages/client/src/instance.ts9
-rw-r--r--packages/client/src/pages/admin/bot-protection.vue4
-rw-r--r--packages/client/src/pages/admin/email-settings.vue4
-rw-r--r--packages/client/src/pages/admin/instance-block.vue4
-rw-r--r--packages/client/src/pages/admin/integrations.discord.vue4
-rw-r--r--packages/client/src/pages/admin/integrations.github.vue4
-rw-r--r--packages/client/src/pages/admin/integrations.twitter.vue4
-rw-r--r--packages/client/src/pages/admin/integrations.vue2
-rw-r--r--packages/client/src/pages/admin/object-storage.vue4
-rw-r--r--packages/client/src/pages/admin/other-settings.vue4
-rw-r--r--packages/client/src/pages/admin/proxy-account.vue4
-rw-r--r--packages/client/src/pages/admin/security.vue4
-rw-r--r--packages/client/src/pages/admin/settings.vue4
-rw-r--r--packages/client/src/pages/settings/theme.vue4
15 files changed, 34 insertions, 29 deletions
diff --git a/packages/client/src/init.ts b/packages/client/src/init.ts
index 113324d494..b15291174b 100644
--- a/packages/client/src/init.ts
+++ b/packages/client/src/init.ts
@@ -29,7 +29,7 @@ import { stream } from '@/stream';
import * as sound from '@/scripts/sound';
import { $i, refreshAccount, login, updateAccount, signout } from '@/account';
import { defaultStore, ColdDeviceStorage } from '@/store';
-import { fetchInstance, instance } from '@/instance';
+import { instance, instanceMetaReady } from '@/instance';
import { makeHotkey } from '@/scripts/hotkey';
import { search } from '@/scripts/search';
import { deviceKind } from '@/scripts/device-kind';
@@ -159,7 +159,7 @@ if ($i && $i.token) {
}
//#endregion
-fetchInstance().then(() => {
+instanceMetaReady.then(() => {
localStorage.setItem('v', instance.version);
// Init service worker
diff --git a/packages/client/src/instance.ts b/packages/client/src/instance.ts
index 6e912aa2e5..85ad84b43c 100644
--- a/packages/client/src/instance.ts
+++ b/packages/client/src/instance.ts
@@ -8,11 +8,11 @@ const data = localStorage.getItem('instance');
// TODO: instanceをリアクティブにするかは再考の余地あり
-export const instance: Misskey.entities.InstanceMetadata = reactive(data ? JSON.parse(data) : {
+export const instance: Misskey.entities.InstanceMetadata = reactive(data != null ? JSON.parse(data) : {
// TODO: set default values
});
-export async function fetchInstance() {
+async function fetchInstance() {
const meta = await api('meta', {
detail: false
});
@@ -24,6 +24,11 @@ export async function fetchInstance() {
localStorage.setItem('instance', JSON.stringify(instance));
}
+const initialFetchPromise = fetchInstance();
+export const instanceMetaReady = data != null ? Promise.resolve() : initialFetchPromise;
+
+export const refetchInstanceMeta = fetchInstance;
+
export const emojiCategories = computed(() => {
if (instance.emojis == null) return [];
const categories = new Set();
diff --git a/packages/client/src/pages/admin/bot-protection.vue b/packages/client/src/pages/admin/bot-protection.vue
index 82ab155317..797080c1d2 100644
--- a/packages/client/src/pages/admin/bot-protection.vue
+++ b/packages/client/src/pages/admin/bot-protection.vue
@@ -52,7 +52,7 @@ import FormSuspense from '@/components/form/suspense.vue';
import FormSlot from '@/components/form/slot.vue';
import * as os from '@/os';
import * as symbols from '@/symbols';
-import { fetchInstance } from '@/instance';
+import { refetchInstanceMeta } from '@/instance';
export default defineComponent({
components: {
@@ -109,7 +109,7 @@ export default defineComponent({
recaptchaSiteKey: this.recaptchaSiteKey,
recaptchaSecretKey: this.recaptchaSecretKey,
}).then(() => {
- fetchInstance();
+ refetchInstanceMeta();
});
}
}
diff --git a/packages/client/src/pages/admin/email-settings.vue b/packages/client/src/pages/admin/email-settings.vue
index 6491a453ab..c8135e6baf 100644
--- a/packages/client/src/pages/admin/email-settings.vue
+++ b/packages/client/src/pages/admin/email-settings.vue
@@ -52,7 +52,7 @@ import FormSplit from '@/components/form/split.vue';
import FormSection from '@/components/form/section.vue';
import * as os from '@/os';
import * as symbols from '@/symbols';
-import { fetchInstance } from '@/instance';
+import { refetchInstanceMeta } from '@/instance';
export default defineComponent({
components: {
@@ -129,7 +129,7 @@ export default defineComponent({
smtpUser: this.smtpUser,
smtpPass: this.smtpPass,
}).then(() => {
- fetchInstance();
+ refetchInstanceMeta();
});
}
}
diff --git a/packages/client/src/pages/admin/instance-block.vue b/packages/client/src/pages/admin/instance-block.vue
index 6cadc7df39..97b2887d44 100644
--- a/packages/client/src/pages/admin/instance-block.vue
+++ b/packages/client/src/pages/admin/instance-block.vue
@@ -18,7 +18,7 @@ import FormTextarea from '@/components/form/textarea.vue';
import FormSuspense from '@/components/form/suspense.vue';
import * as os from '@/os';
import * as symbols from '@/symbols';
-import { fetchInstance } from '@/instance';
+import { refetchInstanceMeta } from '@/instance';
export default defineComponent({
components: {
@@ -50,7 +50,7 @@ export default defineComponent({
os.apiWithDialog('admin/update-meta', {
blockedHosts: this.blockedHosts.split('\n') || [],
}).then(() => {
- fetchInstance();
+ refetchInstanceMeta();
});
}
}
diff --git a/packages/client/src/pages/admin/integrations.discord.vue b/packages/client/src/pages/admin/integrations.discord.vue
index 8fc340150a..87ea65e26e 100644
--- a/packages/client/src/pages/admin/integrations.discord.vue
+++ b/packages/client/src/pages/admin/integrations.discord.vue
@@ -33,7 +33,7 @@ import FormInfo from '@/components/ui/info.vue';
import FormSuspense from '@/components/form/suspense.vue';
import * as os from '@/os';
import * as symbols from '@/symbols';
-import { fetchInstance } from '@/instance';
+import { refetchInstanceMeta } from '@/instance';
export default defineComponent({
components: {
@@ -72,7 +72,7 @@ export default defineComponent({
discordClientId: this.discordClientId,
discordClientSecret: this.discordClientSecret,
}).then(() => {
- fetchInstance();
+ refetchInstanceMeta();
});
}
}
diff --git a/packages/client/src/pages/admin/integrations.github.vue b/packages/client/src/pages/admin/integrations.github.vue
index d9db9c00f1..6990fa6f47 100644
--- a/packages/client/src/pages/admin/integrations.github.vue
+++ b/packages/client/src/pages/admin/integrations.github.vue
@@ -33,7 +33,7 @@ import FormInfo from '@/components/ui/info.vue';
import FormSuspense from '@/components/form/suspense.vue';
import * as os from '@/os';
import * as symbols from '@/symbols';
-import { fetchInstance } from '@/instance';
+import { refetchInstanceMeta } from '@/instance';
export default defineComponent({
components: {
@@ -72,7 +72,7 @@ export default defineComponent({
githubClientId: this.githubClientId,
githubClientSecret: this.githubClientSecret,
}).then(() => {
- fetchInstance();
+ refetchInstanceMeta();
});
}
}
diff --git a/packages/client/src/pages/admin/integrations.twitter.vue b/packages/client/src/pages/admin/integrations.twitter.vue
index 1f8074535a..3337b5e0ed 100644
--- a/packages/client/src/pages/admin/integrations.twitter.vue
+++ b/packages/client/src/pages/admin/integrations.twitter.vue
@@ -33,7 +33,7 @@ import FormInfo from '@/components/ui/info.vue';
import FormSuspense from '@/components/form/suspense.vue';
import * as os from '@/os';
import * as symbols from '@/symbols';
-import { fetchInstance } from '@/instance';
+import { refetchInstanceMeta } from '@/instance';
export default defineComponent({
components: {
@@ -72,7 +72,7 @@ export default defineComponent({
twitterConsumerKey: this.twitterConsumerKey,
twitterConsumerSecret: this.twitterConsumerSecret,
}).then(() => {
- fetchInstance();
+ refetchInstanceMeta();
});
}
}
diff --git a/packages/client/src/pages/admin/integrations.vue b/packages/client/src/pages/admin/integrations.vue
index 91d03fef31..23ae5d1b76 100644
--- a/packages/client/src/pages/admin/integrations.vue
+++ b/packages/client/src/pages/admin/integrations.vue
@@ -33,7 +33,7 @@ import XGithub from './integrations.github.vue';
import XDiscord from './integrations.discord.vue';
import * as os from '@/os';
import * as symbols from '@/symbols';
-import { fetchInstance } from '@/instance';
+import { refetchInstanceMeta } from '@/instance';
export default defineComponent({
components: {
diff --git a/packages/client/src/pages/admin/object-storage.vue b/packages/client/src/pages/admin/object-storage.vue
index 6c5be220f8..64c08e30ab 100644
--- a/packages/client/src/pages/admin/object-storage.vue
+++ b/packages/client/src/pages/admin/object-storage.vue
@@ -75,7 +75,7 @@ import FormSplit from '@/components/form/split.vue';
import FormSection from '@/components/form/section.vue';
import * as os from '@/os';
import * as symbols from '@/symbols';
-import { fetchInstance } from '@/instance';
+import { refetchInstanceMeta } from '@/instance';
export default defineComponent({
components: {
@@ -151,7 +151,7 @@ export default defineComponent({
objectStorageSetPublicRead: this.objectStorageSetPublicRead,
objectStorageS3ForcePathStyle: this.objectStorageS3ForcePathStyle,
}).then(() => {
- fetchInstance();
+ refetchInstanceMeta();
});
}
}
diff --git a/packages/client/src/pages/admin/other-settings.vue b/packages/client/src/pages/admin/other-settings.vue
index 6b588e88aa..abf420b156 100644
--- a/packages/client/src/pages/admin/other-settings.vue
+++ b/packages/client/src/pages/admin/other-settings.vue
@@ -14,7 +14,7 @@ import FormSection from '@/components/form/section.vue';
import FormSuspense from '@/components/form/suspense.vue';
import * as os from '@/os';
import * as symbols from '@/symbols';
-import { fetchInstance } from '@/instance';
+import { refetchInstanceMeta } from '@/instance';
export default defineComponent({
components: {
@@ -49,7 +49,7 @@ export default defineComponent({
save() {
os.apiWithDialog('admin/update-meta', {
}).then(() => {
- fetchInstance();
+ refetchInstanceMeta();
});
}
}
diff --git a/packages/client/src/pages/admin/proxy-account.vue b/packages/client/src/pages/admin/proxy-account.vue
index 5c4fbffa0c..4a2b22d2a6 100644
--- a/packages/client/src/pages/admin/proxy-account.vue
+++ b/packages/client/src/pages/admin/proxy-account.vue
@@ -20,7 +20,7 @@ import MkInfo from '@/components/ui/info.vue';
import FormSuspense from '@/components/form/suspense.vue';
import * as os from '@/os';
import * as symbols from '@/symbols';
-import { fetchInstance } from '@/instance';
+import { refetchInstanceMeta } from '@/instance';
export default defineComponent({
components: {
@@ -65,7 +65,7 @@ export default defineComponent({
os.apiWithDialog('admin/update-meta', {
proxyAccountId: this.proxyAccountId,
}).then(() => {
- fetchInstance();
+ refetchInstanceMeta();
});
}
}
diff --git a/packages/client/src/pages/admin/security.vue b/packages/client/src/pages/admin/security.vue
index d069891647..af5f458654 100644
--- a/packages/client/src/pages/admin/security.vue
+++ b/packages/client/src/pages/admin/security.vue
@@ -41,7 +41,7 @@ import FormButton from '@/components/ui/button.vue';
import XBotProtection from './bot-protection.vue';
import * as os from '@/os';
import * as symbols from '@/symbols';
-import { fetchInstance } from '@/instance';
+import { refetchInstanceMeta } from '@/instance';
export default defineComponent({
components: {
@@ -82,7 +82,7 @@ export default defineComponent({
os.apiWithDialog('admin/update-meta', {
summalyProxy: this.summalyProxy,
}).then(() => {
- fetchInstance();
+ refetchInstanceMeta();
});
}
}
diff --git a/packages/client/src/pages/admin/settings.vue b/packages/client/src/pages/admin/settings.vue
index 5cf4d6c882..84462c7e84 100644
--- a/packages/client/src/pages/admin/settings.vue
+++ b/packages/client/src/pages/admin/settings.vue
@@ -139,7 +139,7 @@ import FormSplit from '@/components/form/split.vue';
import FormSuspense from '@/components/form/suspense.vue';
import * as os from '@/os';
import * as symbols from '@/symbols';
-import { fetchInstance } from '@/instance';
+import { refetchInstanceMeta } from '@/instance';
export default defineComponent({
components: {
@@ -244,7 +244,7 @@ export default defineComponent({
deeplAuthKey: this.deeplAuthKey,
deeplIsPro: this.deeplIsPro,
}).then(() => {
- fetchInstance();
+ refetchInstanceMeta();
});
}
}
diff --git a/packages/client/src/pages/settings/theme.vue b/packages/client/src/pages/settings/theme.vue
index 3e4ec1b2af..72b7e69174 100644
--- a/packages/client/src/pages/settings/theme.vue
+++ b/packages/client/src/pages/settings/theme.vue
@@ -123,8 +123,8 @@ export default defineComponent({
const installedThemes = ref(getThemes());
const themes = computed(() => builtinThemes.concat(installedThemes.value));
- const darkThemes = computed(() => themes.value.filter(t => t.base == 'dark' || t.kind == 'dark'));
- const lightThemes = computed(() => themes.value.filter(t => t.base == 'light' || t.kind == 'light'));
+ const darkThemes = computed(() => themes.value.filter(t => t.base === 'dark' || t.kind === 'dark'));
+ const lightThemes = computed(() => themes.value.filter(t => t.base === 'light' || t.kind === 'light'));
const darkTheme = ColdDeviceStorage.ref('darkTheme');
const darkThemeId = computed({
get() {