summaryrefslogtreecommitdiff
path: root/packages/client/src/instance.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/client/src/instance.ts')
-rw-r--r--packages/client/src/instance.ts9
1 files changed, 7 insertions, 2 deletions
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();