{"version":3,"sources":["../ui/src/components/player-components/InstagramEmoji/spray/SprayEmoji.tsx"],"sourcesContent":["import {useEffect, useState} from \"react\";\r\nimport { useAppSelector } from \"redux-share/hooks\";\r\nimport { ISprayEmojiProps } from \"interfaces\";\r\nimport { shallowEqual } from 'react-redux';\r\nimport dynamic from \"next/dynamic\";\r\n\r\nconst AnimatedEmoji = dynamic(() => import(\"./animatedEmoji/AnimatedEmoji\"));\r\n\r\nconst SprayEmoji = ({ codes, direction }: ISprayEmojiProps) => {\r\n\r\n    const [emojiBucket, setEmojiBucket] = useState<string[]>([]);\r\n    const [shuffledEmojiBucket, setShuffledEmojiBucket] = useState<string[]>([]);\r\n    const [timeoutIds, setTimeoutIds] = useState<any[]>([]);\r\n\r\n    const { config } = useAppSelector(({ videoData: { config } }) => ({ config }), shallowEqual);\r\n\r\n    const RetrievalAndShuffle = () => {\r\n        let ShuffleEmoji = (codes.map((a) => ({\r\n            sort: Math.random(),\r\n            value: a\r\n        })).sort((a, b) => a.sort - b.sort).map((a) => a.value));\r\n        setShuffledEmojiBucket(ShuffleEmoji);\r\n    }\r\n\r\n    useEffect(() => {\r\n        setShuffledEmojiBucket([]);\r\n        setEmojiBucket([]);\r\n        RetrievalAndShuffle();\r\n    }, [codes]);\r\n\r\n    useEffect(() => {\r\n        let timeOutId1:any;\r\n        let timeOutId2:any;\r\n        let timeOutId3:any;\r\n        let timeOutId4:any;\r\n        if (shuffledEmojiBucket.length > 0) {\r\n            for (let i = 0; i < shuffledEmojiBucket.length; i++) {\r\n                timeOutId1 = setTimeout(() => {\r\n                    setEmojiBucket((prev) => [...prev, shuffledEmojiBucket[i]]);\r\n                    timeOutId2 = setTimeout(() => {\r\n                        setEmojiBucket((prev) => [...prev, shuffledEmojiBucket[i]]);\r\n                        timeOutId3 = setTimeout(() => {\r\n                            setEmojiBucket((prev) => [...prev, shuffledEmojiBucket[i]]);\r\n                            timeOutId4 = setTimeout(() => {\r\n                                setEmojiBucket((prev) => [...prev, shuffledEmojiBucket[i]]);\r\n                            }, 170);\r\n                        }, 170);\r\n                    }, 170);\r\n                }, (config.get_interval / shuffledEmojiBucket.length) * 1000 * i);\r\n                setTimeoutIds((prev) => [...prev, timeOutId1 , timeOutId2 , timeOutId3 , timeOutId4]);\r\n            }\r\n        }\r\n        return ()=> {\r\n            if (timeoutIds.length > 0) {\r\n                timeoutIds.forEach((id) => clearTimeout(id));\r\n                setTimeoutIds([]);\r\n            }\r\n        }\r\n    }, [shuffledEmojiBucket]);\r\n    return (\r\n        <div>\r\n            {\r\n                emojiBucket.length > 0 ? emojiBucket.map((item, index) => {\r\n                        return (\r\n                            <div key={index}>\r\n                                <AnimatedEmoji direction={direction} emojiCode={item}/>\r\n                            </div>\r\n                        )\r\n                    }) :\r\n                    <></>\r\n            }\r\n        </div>\r\n    )\r\n}\r\n\r\nexport default SprayEmoji;"],"mappings":"kFAAAA,IAAA,OAAQ,aAAAC,EAAW,YAAAC,MAAe,QAGlC,OAAS,gBAAAC,MAAoB,cAC7B,OAAOC,MAAa,eA6DY,OAIZ,YAAAC,EAJY,OAAAC,MAAA,oBA3DhC,IAAMC,EAAgBH,EAAQ,IAAM,OAAO,8BAA+B,CAAC,EAErEI,EAAa,CAAC,CAAE,MAAAC,EAAO,UAAAC,CAAU,IAAwB,CAE3D,GAAM,CAACC,EAAaC,CAAc,EAAIC,EAAmB,CAAC,CAAC,EACrD,CAACC,EAAqBC,CAAsB,EAAIF,EAAmB,CAAC,CAAC,EACrE,CAACG,EAAYC,CAAa,EAAIJ,EAAgB,CAAC,CAAC,EAEhD,CAAE,OAAAK,CAAO,EAAIC,EAAe,CAAC,CAAE,UAAW,CAAE,OAAAD,CAAO,CAAE,KAAO,CAAE,OAAAA,CAAO,GAAIf,CAAY,EAErFiB,EAAsB,IAAM,CAC9B,IAAIC,EAAgBZ,EAAM,IAAKa,IAAO,CAClC,KAAM,KAAK,OAAO,EAClB,MAAOA,CACX,EAAE,EAAE,KAAK,CAACA,EAAGC,IAAMD,EAAE,KAAOC,EAAE,IAAI,EAAE,IAAKD,GAAMA,EAAE,KAAK,EACtDP,EAAuBM,CAAY,CACvC,EAEA,OAAAG,EAAU,IAAM,CACZT,EAAuB,CAAC,CAAC,EACzBH,EAAe,CAAC,CAAC,EACjBQ,EAAoB,CACxB,EAAG,CAACX,CAAK,CAAC,EAEVe,EAAU,IAAM,CACZ,IAAIC,EACAC,EACAC,EACAC,EACJ,GAAId,EAAoB,OAAS,EAC7B,QAASe,EAAI,EAAGA,EAAIf,EAAoB,OAAQe,IAC5CJ,EAAa,WAAW,IAAM,CAC1Bb,EAAgBkB,GAAS,CAAC,GAAGA,EAAMhB,EAAoBe,CAAC,CAAC,CAAC,EAC1DH,EAAa,WAAW,IAAM,CAC1Bd,EAAgBkB,GAAS,CAAC,GAAGA,EAAMhB,EAAoBe,CAAC,CAAC,CAAC,EAC1DF,EAAa,WAAW,IAAM,CAC1Bf,EAAgBkB,GAAS,CAAC,GAAGA,EAAMhB,EAAoBe,CAAC,CAAC,CAAC,EAC1DD,EAAa,WAAW,IAAM,CAC1BhB,EAAgBkB,GAAS,CAAC,GAAGA,EAAMhB,EAAoBe,CAAC,CAAC,CAAC,CAC9D,EAAG,GAAG,CACV,EAAG,GAAG,CACV,EAAG,GAAG,CACV,EAAIX,EAAO,aAAeJ,EAAoB,OAAU,IAAOe,CAAC,EAChEZ,EAAea,GAAS,CAAC,GAAGA,EAAML,EAAaC,EAAaC,EAAaC,CAAU,CAAC,EAG5F,MAAO,IAAK,CACJZ,EAAW,OAAS,IACpBA,EAAW,QAASe,GAAO,aAAaA,CAAE,CAAC,EAC3Cd,EAAc,CAAC,CAAC,EAExB,CACJ,EAAG,CAACH,CAAmB,CAAC,EAEpBR,EAAC,OAEO,SAAAK,EAAY,OAAS,EAAIA,EAAY,IAAI,CAACqB,EAAMC,IAEpC3B,EAAC,OACG,SAAAA,EAACC,EAAA,CAAc,UAAWG,EAAW,UAAWsB,EAAK,GAD/CC,CAEV,CAEP,EACD3B,EAAAD,EAAA,EAAE,EAEd,CAER,EAEO6B,EAAQ1B","names":["init_esm_shims","useEffect","useState","shallowEqual","dynamic","Fragment","jsx","AnimatedEmoji","SprayEmoji","codes","direction","emojiBucket","setEmojiBucket","useState","shuffledEmojiBucket","setShuffledEmojiBucket","timeoutIds","setTimeoutIds","config","useAppSelector","RetrievalAndShuffle","ShuffleEmoji","a","b","useEffect","timeOutId1","timeOutId2","timeOutId3","timeOutId4","i","prev","id","item","index","SprayEmoji_default"]}