{"version":3,"sources":["../ui/src/components/player-components/download/download.tsx"],"sourcesContent":["import { useRef, useState } from \"react\";\r\nimport { useAppSelector } from \"redux-share/hooks\";\r\nimport useOnClickOutside from \"helpers/hooks/useOnClickOutside\";\r\nimport { conditions } from \"helpers\";\r\nimport { ConditionName, IDownloadLinks, zIndex } from \"interfaces\";\r\nimport { shallowEqual } from 'react-redux';\r\nimport dynamic from \"next/dynamic\";\r\n\r\nconst Popover = dynamic(() => import(\"../popover/popover\"));\r\nconst DownloadIcon = dynamic(() => import(\"../../icon-components/downloadIcon\"));\r\n\r\nconst Download = () => {\r\n\r\n    const [showDownloadPopover, setShowDownloadPopover] = useState<boolean>(false);\r\n\r\n    const { details } = useAppSelector(({ videoData: { details, isComplexPortrait, isComplexDesktop } }) => ({ details, isComplexPortrait, isComplexDesktop }), shallowEqual);\r\n\r\n    const downloadRef = useRef(null);\r\n\r\n    useOnClickOutside(downloadRef, () => {\r\n        if (showDownloadPopover) setShowDownloadPopover(false);\r\n    });\r\n\r\n    let downloadContent:any = null;\r\n    const downloadIcon = (\r\n        <div className=\"pl-flex pl-items-center pl-gap-[14px] pl-rounded-[20px] pl-text-secondary-700 dark:pl-text-secondary-50 pl-bg-gray-100 dark:pl-bg-dark-3 pl-px-4 pl-py-[7px] pl-cursor-pointer\" onClick={() => setShowDownloadPopover((prev: boolean) => !prev)}>\r\n            <DownloadIcon className={`pl-fill-z-gray-500 dark:pl-fill-dark-5 ${conditions(ConditionName.isComplexPortrait) ? \"pl-w-4 pl-h-4\" : \"pl-w-[22px] pl-h-[22px]\"}`}/>\r\n            <p className=\"pl-whitespace-nowrap\">دانلود</p>\r\n        </div>\r\n    )\r\n\r\n    if (conditions(ConditionName.isComplexDesktop)) {\r\n        downloadContent = (\r\n            <div className=\"pl-relative\" style={{zIndex: zIndex.download}} ref={downloadRef}>\r\n                {downloadIcon}\r\n                {showDownloadPopover && (\r\n                    <div\r\n                        className={`pl-flex pl-flex-col pl-gap-[6px] pl-pt-[8px] pl-pb-[11px] pl-absolute pl-top-[110%] pl-left-0 pl-bg-gray-highLight dark:pl-bg-dark-2 pl-w-max pl-rounded-[8px]`}\r\n                        style={{ boxShadow: \"2px 3px 3px rgba(74, 74, 74, 0.5)\" }}\r\n                    >\r\n                        {details.download_links.map((link: IDownloadLinks) => (\r\n                            <a key={link.quality} href={link.link} className=\"pl-relative pl-flex pl-items-center pl-gap-3 pl-w-full hover:pl-bg-dark-8 hover:dark:pl-bg-main pl-cursor-pointer pl-transition-colors pl-duration-300 pl-px-5 pl-py-[3px]\" onClick={() => setShowDownloadPopover(false)}>\r\n                                <span className=\"pl-text-secondary-700 dark:pl-text-secondary-50 pl-text-[12px] pl-font-normal\">{`با کیفیت ${link.quality}`}</span>\r\n                            </a>\r\n                        ))}\r\n                    </div>\r\n                )}\r\n            </div>\r\n        )\r\n    } else if (conditions(ConditionName.isComplexPortrait)) {\r\n        downloadContent = (\r\n            <>\r\n                {downloadIcon}\r\n                <Popover\r\n                    status={showDownloadPopover}\r\n                    isBlurBackground={true}\r\n                    ref={downloadRef}\r\n                    onClose={() => setShowDownloadPopover(false)}\r\n                    type=\"modal\"\r\n                >\r\n                    <div className=\"pl-py-4\">\r\n                        <p className=\"pl-text-[15px] pl-font-medium pl-mb-4 pl-pr-4\">انتخاب کیفیت دانلود</p>\r\n                        <div className=\"pl-flex pl-flex-col pl-gap-3\">\r\n                            {details.download_links.map((link: IDownloadLinks) => (\r\n                                <a key={link.quality} href={link.link} className=\"pl-w-full pl-py-[3px] pl-pr-4 active:pl-bg-main pl-transition-colors pl-duration-300\" onClick={() => setShowDownloadPopover(false)}>\r\n                                    <span className=\"pl-text-secondary-700 dark:pl-text-secondary-50 pl-text-[14px] pl-font-medium\">{`با کیفیت ${link.quality}`}</span>\r\n                                </a>\r\n                            ))}\r\n                        </div>\r\n                    </div>\r\n                </Popover>\r\n            </>\r\n        )\r\n    }\r\n\r\n    return <>{downloadContent}</>\r\n}\r\n\r\nexport default Download;"],"mappings":"gKAAAA,IAAA,OAAS,UAAAC,EAAQ,YAAAC,MAAgB,QAKjC,OAAS,gBAAAC,MAAoB,cAC7B,OAAOC,MAAa,eAmBZ,OA0BI,YAAAC,EAzBA,OAAAC,EADJ,QAAAC,MAAA,oBAjBR,IAAMC,EAAUJ,EAAQ,IAAM,OAAO,wBAAoB,CAAC,EACpDK,EAAeL,EAAQ,IAAM,OAAO,6BAAoC,CAAC,EAEzEM,EAAW,IAAM,CAEnB,GAAM,CAACC,EAAqBC,CAAsB,EAAIC,EAAkB,EAAK,EAEvE,CAAE,QAAAC,CAAQ,EAAIC,EAAe,CAAC,CAAE,UAAW,CAAE,QAAAD,EAAS,kBAAAE,EAAmB,iBAAAC,CAAiB,CAAE,KAAO,CAAE,QAAAH,EAAS,kBAAAE,EAAmB,iBAAAC,CAAiB,GAAId,CAAY,EAElKe,EAAcC,EAAO,IAAI,EAE/BC,EAAkBF,EAAa,IAAM,CAC7BP,GAAqBC,EAAuB,EAAK,CACzD,CAAC,EAED,IAAIS,EAAsB,KACpBC,EACFf,EAAC,OAAI,UAAU,iLAAiL,QAAS,IAAMK,EAAwBW,GAAkB,CAACA,CAAI,EAC1P,UAAAjB,EAACG,EAAA,CAAa,UAAW,0CAA0Ce,qBAA0C,EAAI,gBAAkB,yBAAyB,GAAG,EAC/JlB,EAAC,KAAE,UAAU,uBAAuB,gDAAM,GAC9C,EAGJ,OAAIkB,oBAAyC,EACzCH,EACId,EAAC,OAAI,UAAU,cAAc,MAAO,CAAC,SAAuB,EAAG,IAAKW,EAC/D,UAAAI,EACAX,GACGL,EAAC,OACG,UAAW,iKACX,MAAO,CAAE,UAAW,mCAAoC,EAEvD,SAAAQ,EAAQ,eAAe,IAAKW,GACzBnB,EAAC,KAAqB,KAAMmB,EAAK,KAAM,UAAU,6KAA6K,QAAS,IAAMb,EAAuB,EAAK,EACrQ,SAAAN,EAAC,QAAK,UAAU,gFAAiF,wDAAYmB,EAAK,OAAO,GAAG,GADxHA,EAAK,OAEb,CACH,EACL,GAER,EAEGD,qBAA0C,IACjDH,EACId,EAAAF,EAAA,CACK,UAAAiB,EACDhB,EAACE,EAAA,CACG,OAAQG,EACR,iBAAkB,GAClB,IAAKO,EACL,QAAS,IAAMN,EAAuB,EAAK,EAC3C,KAAK,QAEL,SAAAL,EAAC,OAAI,UAAU,UACX,UAAAD,EAAC,KAAE,UAAU,gDAAgD,oHAAmB,EAChFA,EAAC,OAAI,UAAU,+BACV,SAAAQ,EAAQ,eAAe,IAAKW,GACzBnB,EAAC,KAAqB,KAAMmB,EAAK,KAAM,UAAU,uFAAuF,QAAS,IAAMb,EAAuB,EAAK,EAC/K,SAAAN,EAAC,QAAK,UAAU,gFAAiF,wDAAYmB,EAAK,OAAO,GAAG,GADxHA,EAAK,OAEb,CACH,EACL,GACJ,EACJ,GACJ,GAIDnB,EAAAD,EAAA,CAAG,SAAAgB,EAAgB,CAC9B,EAEOK,EAAQhB","names":["init_esm_shims","useRef","useState","shallowEqual","dynamic","Fragment","jsx","jsxs","Popover","DownloadIcon","Download","showDownloadPopover","setShowDownloadPopover","useState","details","useAppSelector","isComplexPortrait","isComplexDesktop","downloadRef","useRef","useOnClickOutside_default","downloadContent","downloadIcon","prev","conditions","link","download_default"]}