diff options
Diffstat (limited to 'packages/client/src/instance.ts')
| -rw-r--r-- | packages/client/src/instance.ts | 9 |
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(); |