diff options
| author | Henry Jameson <me@hjkos.com> | 2024-08-13 22:51:17 +0300 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2024-08-13 22:51:17 +0300 |
| commit | c4352a1936b2bcb3ea4bf5534646ce39eec7e3e7 (patch) | |
| tree | 0237d1ec466e68daa0e49f80a57457cd9ed17c8d /src | |
| parent | 6bc020c733047d7033e508a2b4dffc581d703170 (diff) | |
cache emoji groups etc
Diffstat (limited to 'src')
| -rw-r--r-- | src/modules/instance.js | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/src/modules/instance.js b/src/modules/instance.js index 99b8b5d5..2281141f 100644 --- a/src/modules/instance.js +++ b/src/modules/instance.js @@ -145,6 +145,10 @@ const defaultState = { quotingAvailable: false, groupActorAvailable: false, + // Emoji stuff + standardEmojiList: null, + standardEmojiGroupList: null, + // Html stuff instanceSpecificPanelContent: '', tos: '', @@ -246,15 +250,21 @@ const instance = { }, {}) }, standardEmojiList (state) { - return SORTED_EMOJI_GROUP_IDS - .map(groupId => (state.emoji[groupId] || []).map(k => injectAnnotations(k, state.unicodeEmojiAnnotations))) - .reduce((a, b) => a.concat(b), []) + if (!state.standardEmojiList) { + state.standardEmojiList = SORTED_EMOJI_GROUP_IDS + .map(groupId => (state.emoji[groupId] || []).map(k => injectAnnotations(k, state.unicodeEmojiAnnotations))) + .reduce((a, b) => a.concat(b), []) + } + return state.standardEmojiList }, standardEmojiGroupList (state) { - return SORTED_EMOJI_GROUP_IDS.map(groupId => ({ - id: groupId, - emojis: (state.emoji[groupId] || []).map(k => injectAnnotations(k, state.unicodeEmojiAnnotations)) - })) + if (!state.standardEmojiGroupList) { + state.standardEmojiGroupList = SORTED_EMOJI_GROUP_IDS.map(groupId => ({ + id: groupId, + emojis: (state.emoji[groupId] || []).map(k => injectAnnotations(k, state.unicodeEmojiAnnotations)) + })) + } + return state.standardEmojiGroupList }, instanceDomain (state) { return new URL(state.server).hostname |
