diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-02-28 22:42:32 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2022-02-28 22:42:32 +0900 |
| commit | 94d4f8271e3406ff549a8f18831fb74adcd0d1ab (patch) | |
| tree | c797bde2136e749743056b8700d11e27f8e396d5 /packages/client/src/instance.ts | |
| parent | fix esm (diff) | |
| download | sharkey-94d4f8271e3406ff549a8f18831fb74adcd0d1ab.tar.gz sharkey-94d4f8271e3406ff549a8f18831fb74adcd0d1ab.tar.bz2 sharkey-94d4f8271e3406ff549a8f18831fb74adcd0d1ab.zip | |
refactor
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(); |