Bluesky app fork with some witchin' additions 💫

Simplify loading emoji data (#1790)

authored by danabra.mov and committed by

GitHub f9944b55 9fb20517

+3 -22
bskyweb/static/emojis.2023.json src/view/com/composer/text-input/web/EmojiPickerData.json
-9
src/platform/polyfills.web.ts
··· 6 6 7 7 // @ts-ignore whatever typescript wants to complain about here, I dont care about -prf 8 8 window.setImmediate = (cb: () => void) => setTimeout(cb, 0) 9 - 10 - // @ts-ignore not on the TS signature due to bad support -prf 11 - if (!globalThis.Intl?.Segmenter) { 12 - // loading emoji mart data 13 - // TODO: This condition doesn't make sense; emojimart has nothing to do with Intl. 14 - const emojiMartScript = document.createElement('script') 15 - emojiMartScript.setAttribute('src', '/static/js/emoji-mart-data.js') 16 - document.head.appendChild(emojiMartScript) 17 - }
+3 -2
src/view/com/composer/text-input/web/EmojiPicker.web.tsx
··· 72 72 }, 73 73 ]}> 74 74 <Picker 75 - // @ts-ignore we set emojiMartData in `emoji-mart-data.js` file 76 - data={window.emojiMartData} 75 + data={async () => { 76 + return (await import('./EmojiPickerData.json')).default 77 + }} 77 78 onEmojiSelect={onInsert} 78 79 autoFocus={false} 79 80 />
-11
web/static/js/emoji-mart-data.js
··· 1 - async function grabEmojiData() { 2 - try { 3 - const response = await fetch('/static/emojis.2023.json') 4 - const emojiMartData = await response.json() 5 - window.emojiMartData = emojiMartData 6 - } catch (error) { 7 - console.warn(`Failed to load emojis`) 8 - } 9 - } 10 - 11 - grabEmojiData()