forked from
jollywhoppers.com/witchsky.app
Bluesky app fork with some witchin' additions 馃挮
1import React from 'react'
2import {init} from 'emoji-mart'
3
4/**
5 * Only load the emoji picker data once per page load.
6 */
7let loadRequested = false
8
9/**
10 * Preload the emoji picker data to prevent flash.
11 * {@link https://github.com/missive/emoji-mart/blob/16978d04a766eec6455e2e8bb21cd8dc0b3c7436/README.md?plain=1#L194}
12 */
13export function useWebPreloadEmoji({immediate}: {immediate?: boolean} = {}) {
14 const preload = React.useCallback(async () => {
15 if (loadRequested) return
16 loadRequested = true
17 try {
18 const data = (await import('./EmojiPickerData.json')).default
19 init({data})
20 } catch (e) {}
21 }, [])
22 if (immediate) preload()
23 return preload
24}