{"version":3,"sources":["../ui/src/components/player-components/gif/gif.tsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\r\nimport { useAppSelector } from \"redux-share/hooks\";\r\nimport { conditions, responseValidator } from \"helpers\";\r\nimport { ConditionName } from \"interfaces\";\r\nimport { API, apiCaller } from \"../../../../../services\";\r\nimport { shallowEqual } from 'react-redux'\r\n\r\nconst Gif = (props: { gif: string }) => {\r\n\r\n    const { manualQuality, autoQuality, qualityLevels, } = useAppSelector(({ controller: { manualQuality, autoQuality, qualityLevels } }) => ({ manualQuality, autoQuality, qualityLevels }), shallowEqual);\r\n\r\n    const [gifLink, setGifLink] = useState<string>(\"\");\r\n    const [gifId, setGifId] = useState<any>(0);\r\n\r\n    const handleFilterGif = (links: any[]) => {\r\n        if (conditions(ConditionName.filterLastGif) || conditions(ConditionName.isIOS)) return links[links.length - 1].src;\r\n        else {\r\n            const filteredLinks = links.filter((link: any) => +link.quality <= +qualityLevels[conditions(ConditionName.isAutoQuality) ? (autoQuality ?? manualQuality!) : manualQuality!])\r\n            return filteredLinks[filteredLinks.length - 1].src\r\n        }\r\n    }\r\n\r\n    const getGifLinks = async () => {\r\n        const { data, status } = await apiCaller({ url: API().live.gifLinks });\r\n        if (responseValidator(status)) {\r\n            const links = data.gifs.find((gif: any) => gif.id === props.gif).links;\r\n            setGifLink(handleFilterGif(links))\r\n            setGifId(props.gif)\r\n        }\r\n    }\r\n\r\n    useEffect(() => {\r\n        if (props.gif && gifId !== props.gif) getGifLinks();\r\n    }, [props.gif, manualQuality])\r\n\r\n    return (\r\n        <div\r\n            id=\"player-gif\"\r\n            className=\"pl-absolute pl-top-0 pl-left-0 pl-w-full pl-h-full pl-flex pl-justify-center pl-items-center\"\r\n        >\r\n            <img src={gifLink} />\r\n        </div>\r\n    )\r\n}\r\n\r\nexport default Gif;"],"mappings":"6KAAAA,IAAA,OAAS,aAAAC,EAAW,YAAAC,MAAgB,QAKpC,OAAS,gBAAAC,MAAoB,cAmCjB,cAAAC,MAAA,oBAjCZ,IAAMC,EAAOC,GAA2B,CAEpC,GAAM,CAAE,cAAAC,EAAe,YAAAC,EAAa,cAAAC,CAAe,EAAIC,EAAe,CAAC,CAAE,WAAY,CAAE,cAAAH,EAAe,YAAAC,EAAa,cAAAC,CAAc,CAAE,KAAO,CAAE,cAAAF,EAAe,YAAAC,EAAa,cAAAC,CAAc,GAAIN,CAAY,EAEhM,CAACQ,EAASC,CAAU,EAAIC,EAAiB,EAAE,EAC3C,CAACC,EAAOC,CAAQ,EAAIF,EAAc,CAAC,EAEnCG,EAAmBC,GAAiB,CACtC,GAAIC,iBAAsC,GAAKA,SAA8B,EAAG,OAAOD,EAAMA,EAAM,OAAS,CAAC,EAAE,IAC1G,CACD,IAAME,EAAgBF,EAAM,OAAQG,GAAc,CAACA,EAAK,SAAW,CAACX,EAAcS,iBAAsC,EAAKV,GAAeD,EAAkBA,CAAc,CAAC,EAC7K,OAAOY,EAAcA,EAAc,OAAS,CAAC,EAAE,GACnD,CACJ,EAEME,EAAc,SAAY,CAC5B,GAAM,CAAE,KAAAC,EAAM,OAAAC,CAAO,EAAI,MAAMC,EAAU,CAAE,IAAKC,EAAI,EAAE,KAAK,QAAS,CAAC,EACrE,GAAIC,EAAkBH,CAAM,EAAG,CAC3B,IAAMN,EAAQK,EAAK,KAAK,KAAMK,GAAaA,EAAI,KAAOrB,EAAM,GAAG,EAAE,MACjEM,EAAWI,EAAgBC,CAAK,CAAC,EACjCF,EAAST,EAAM,GAAG,CACtB,CACJ,EAEA,OAAAsB,EAAU,IAAM,CACRtB,EAAM,KAAOQ,IAAUR,EAAM,KAAKe,EAAY,CACtD,EAAG,CAACf,EAAM,IAAKC,CAAa,CAAC,EAGzBH,EAAC,OACG,GAAG,aACH,UAAU,+FAEV,SAAAA,EAAC,OAAI,IAAKO,EAAS,EACvB,CAER,EAEOkB,EAAQxB","names":["init_esm_shims","useEffect","useState","shallowEqual","jsx","Gif","props","manualQuality","autoQuality","qualityLevels","useAppSelector","gifLink","setGifLink","useState","gifId","setGifId","handleFilterGif","links","conditions","filteredLinks","link","getGifLinks","data","status","apiCaller","API","responseValidator","gif","useEffect","gif_default"]}