Bluesky app fork with some witchin' additions 馃挮
at main 24 lines 680 B view raw
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}