cafe-video-player 2.0.21 → 2.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/backwardForward-3HROPSFK.js +2 -0
  2. package/{backwardForward-FW25LAUC.js.map → backwardForward-3HROPSFK.js.map} +1 -1
  3. package/backwardForward-4K2JDYXO.mjs +2 -0
  4. package/{backwardForward-6U6VETTV.mjs.map → backwardForward-4K2JDYXO.mjs.map} +1 -1
  5. package/chunk-2UQZ2IND.js +2 -0
  6. package/{chunk-4AXKM55A.js.map → chunk-2UQZ2IND.js.map} +1 -1
  7. package/chunk-4WSW2YML.js +2 -0
  8. package/{chunk-AJG5T24R.js.map → chunk-4WSW2YML.js.map} +1 -1
  9. package/chunk-5OIS455P.mjs +3 -0
  10. package/chunk-5OIS455P.mjs.map +1 -0
  11. package/{chunk-3ZNIRSH3.mjs → chunk-6ZKKSIBV.mjs} +2 -2
  12. package/{chunk-3ZNIRSH3.mjs.map → chunk-6ZKKSIBV.mjs.map} +1 -1
  13. package/chunk-AOOXGUAJ.js +2 -0
  14. package/{chunk-J7CRSGHN.js.map → chunk-AOOXGUAJ.js.map} +1 -1
  15. package/{chunk-P6UV7U4E.mjs → chunk-AUZAI7ZJ.mjs} +2 -2
  16. package/{chunk-P6UV7U4E.mjs.map → chunk-AUZAI7ZJ.mjs.map} +1 -1
  17. package/{chunk-7CZEUDNW.mjs → chunk-BMC7X7BK.mjs} +3 -3
  18. package/{chunk-7CZEUDNW.mjs.map → chunk-BMC7X7BK.mjs.map} +1 -1
  19. package/chunk-DQ4YH4BY.mjs +9 -0
  20. package/chunk-DQ4YH4BY.mjs.map +1 -0
  21. package/{chunk-LAFBWF7M.js → chunk-G5R3U2OG.js} +2 -2
  22. package/{chunk-LAFBWF7M.js.map → chunk-G5R3U2OG.js.map} +1 -1
  23. package/{chunk-NFS5ZBFX.mjs → chunk-IOYUXRGD.mjs} +2 -2
  24. package/{chunk-NFS5ZBFX.mjs.map → chunk-IOYUXRGD.mjs.map} +1 -1
  25. package/{chunk-R65WA2TV.mjs → chunk-Q52RFNV3.mjs} +2 -2
  26. package/{chunk-R65WA2TV.mjs.map → chunk-Q52RFNV3.mjs.map} +1 -1
  27. package/{chunk-NTINJ2J6.js → chunk-QHLPSV6I.js} +2 -2
  28. package/{chunk-NTINJ2J6.js.map → chunk-QHLPSV6I.js.map} +1 -1
  29. package/{chunk-ELG5PCR2.mjs → chunk-TUYGEJVR.mjs} +2 -2
  30. package/{chunk-ELG5PCR2.mjs.map → chunk-TUYGEJVR.mjs.map} +1 -1
  31. package/chunk-WG7PYZXW.js +3 -0
  32. package/chunk-WG7PYZXW.js.map +1 -0
  33. package/chunk-ZK5BOK4Y.js +3 -0
  34. package/{chunk-S3ULKQPB.js.map → chunk-ZK5BOK4Y.js.map} +1 -1
  35. package/chunk-ZPH2HWHV.js +9 -0
  36. package/chunk-ZPH2HWHV.js.map +1 -0
  37. package/index.js +1 -1
  38. package/index.js.map +1 -1
  39. package/index.mjs +1 -1
  40. package/index.mjs.map +1 -1
  41. package/nonStaticVideoTag-I5AI5KU3.js +2 -0
  42. package/{nonStaticVideoTag-6IOIANAD.js.map → nonStaticVideoTag-I5AI5KU3.js.map} +1 -1
  43. package/{nonStaticVideoTag-JKZGTEQK.mjs → nonStaticVideoTag-URXCYYXT.mjs} +2 -2
  44. package/{nonStaticVideoTag-JKZGTEQK.mjs.map → nonStaticVideoTag-URXCYYXT.mjs.map} +1 -1
  45. package/package.json +1 -1
  46. package/staticPlayer-GU5RRZIR.js +2 -0
  47. package/{staticPlayer-L6ZHTYIE.js.map → staticPlayer-GU5RRZIR.js.map} +1 -1
  48. package/staticPlayer-YU2BZCDF.mjs +2 -0
  49. package/{staticPlayer-4IVOGXWC.mjs.map → staticPlayer-YU2BZCDF.mjs.map} +1 -1
  50. package/staticVideoTag-DYKLVJRS.js +2 -0
  51. package/{staticVideoTag-4I2J2KRA.js.map → staticVideoTag-DYKLVJRS.js.map} +1 -1
  52. package/{staticVideoTag-GJF26BZ3.mjs → staticVideoTag-ZNZBQ7WW.mjs} +2 -2
  53. package/{staticVideoTag-GJF26BZ3.mjs.map → staticVideoTag-ZNZBQ7WW.mjs.map} +1 -1
  54. package/{touchVolumeBrightness-77BH7B3T.js → touchVolumeBrightness-BHL4CXCQ.js} +3 -3
  55. package/{touchVolumeBrightness-77BH7B3T.js.map → touchVolumeBrightness-BHL4CXCQ.js.map} +1 -1
  56. package/{touchVolumeBrightness-VSJS4WWO.mjs → touchVolumeBrightness-THRKUQFI.mjs} +3 -3
  57. package/{touchVolumeBrightness-VSJS4WWO.mjs.map → touchVolumeBrightness-THRKUQFI.mjs.map} +1 -1
  58. package/videoArea-JBENXGDZ.mjs +2 -0
  59. package/{videoArea-E7A4UFKZ.mjs.map → videoArea-JBENXGDZ.mjs.map} +1 -1
  60. package/videoArea-ZU4LKPTL.js +2 -0
  61. package/{videoArea-AXJIXBW5.js.map → videoArea-ZU4LKPTL.js.map} +1 -1
  62. package/videoPlayerStyles.css +6 -3
  63. package/vodPlayer-62FEZN5H.js +2 -0
  64. package/{vodPlayer-YZ7XNHKT.js.map → vodPlayer-62FEZN5H.js.map} +1 -1
  65. package/{vodPlayer-LEY3FMUD.mjs → vodPlayer-SQSP4JD5.mjs} +2 -2
  66. package/{vodPlayer-LEY3FMUD.mjs.map → vodPlayer-SQSP4JD5.mjs.map} +1 -1
  67. package/backwardForward-6U6VETTV.mjs +0 -2
  68. package/backwardForward-FW25LAUC.js +0 -2
  69. package/chunk-4AXKM55A.js +0 -2
  70. package/chunk-AJG5T24R.js +0 -2
  71. package/chunk-J7CRSGHN.js +0 -2
  72. package/chunk-KODWZOFT.js +0 -3
  73. package/chunk-KODWZOFT.js.map +0 -1
  74. package/chunk-LHO7HY26.mjs +0 -3
  75. package/chunk-LHO7HY26.mjs.map +0 -1
  76. package/chunk-S3ULKQPB.js +0 -3
  77. package/chunk-UTQQHPIT.mjs +0 -9
  78. package/chunk-UTQQHPIT.mjs.map +0 -1
  79. package/chunk-Y3GDFXWU.js +0 -9
  80. package/chunk-Y3GDFXWU.js.map +0 -1
  81. package/nonStaticVideoTag-6IOIANAD.js +0 -2
  82. package/staticPlayer-4IVOGXWC.mjs +0 -2
  83. package/staticPlayer-L6ZHTYIE.js +0 -2
  84. package/staticVideoTag-4I2J2KRA.js +0 -2
  85. package/videoArea-AXJIXBW5.js +0 -2
  86. package/videoArea-E7A4UFKZ.mjs +0 -2
  87. package/vodPlayer-YZ7XNHKT.js +0 -2
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/videoPlayerLibrary/index.ts","../src/videoPlayerLibrary/videoPlayerLibrary.tsx","../src/videoPlayerLibrary/components/videoPlayer/videoPlayer.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleParams.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleKeyPress.tsx","../src/videoPlayerLibrary/helpers/hooks/useKeyPress.tsx","../src/videoPlayerLibrary/helpers/errorBoundary/errorBoundary.tsx","../src/videoPlayerLibrary/miniPlayerLibrary.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/miniPlayer.tsx","../src/videoPlayerLibrary/components/custom-components/playPause/miniPlayerPlayPause.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/videoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerNonStaticVideoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerStaticVideoTag.tsx"],"names":["init_cjs_shims","useHandleParams","query","dispatch","useAppDispatch","queryParams","handleSetParamsInRedux","setPlayerParams","setIsReady","handleAddUUID","handleVodParams","handleStaticParams","getUUID","handleParams","useEffect","useHandleParams_default","useKeyPress","key","cb","callbackRef","useRef","handleKeyPress","event","useKeyPress_default","useHandleKeyPress","conditions","handlePlayPause","handleBackwardForward","mainPlayerVideoTag","handleFullScreen","settings","store_default","handleChangeSoundVolume","handleSubtitle","useHandleKeyPress_default","StaticPlayer","dynamic","VodPlayer","VideoPlayer","props","params","useAppSelector","isReady","shallowEqual","clearRedux","isFullScreen","element","jsx","Fragment","videoPlayer_default","ErrorBoundary","React","error","errorInfo","errorLogProvider","errorBoundary_default","VideoPlayerLibrary","Provider","MiniPlayerPlayPause","play","Image","importImages_default","handlePlayerPauseMiniPlayer","miniPlayerPlayPause_default","MiniPlayerNonStaticVideoTag","details","state","hls","Hls","handleMiniPlayerHlsConfig","handleMiniPlayerMediaAttached","appendQueryParamsToChunksIOS","setClearMiniPlayerSlice","setPlayMiniPlayer","miniPlayerVideoTag","setPlay","handleVideoError","miniPlayerNonStaticVideoTag_default","MiniPlayerStaticVideoTag","miniPlayerStaticVideoTag_default","VideoTag","type","videoTag_default","MiniPlayer","miniPlayerParams","mainPlayerParams","setMiniPlayerInfo","handleGetDetail","getVodDetails","jsxs","setCurrentTime","MiniPlayerLibrary"],"mappings":"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","file":"index.js","sourcesContent":["export { VideoPlayerLibrary } from \"./videoPlayerLibrary\";\r\nexport { MiniPlayerLibrary } from \"./miniPlayerLibrary\";\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport VideoPlayer from \"./components/videoPlayer/videoPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const VideoPlayerLibrary = ({ params }: { params: IParams }) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <VideoPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport { conditions } from \"../../helpers/conditions/conditions\";\r\nimport useHandleParams from \"../../helpers/hooks/useHandleParams\";\r\nimport { ConditionName, PlayerTypes, zIndex } from \"../../helpers/interfaces/enums\";\r\nimport { IParams } from \"../../helpers/interfaces/interfaces\";\r\nimport { useAppSelector } from \"../../helpers/redux/hooks\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport dynamic from \"next/dynamic\";\r\nimport useHandleKeyPress from \"../../helpers/hooks/useHandleKeyPress\";\r\nimport { useEffect } from \"react\";\r\nimport { clearRedux } from \"../../helpers/helpers\";\r\nimport { mainPlayerVideoTag } from \"../../helpers/constants\";\r\n\r\nconst StaticPlayer = dynamic(() => import(\"./staticPlayer/staticPlayer\"));\r\nconst VodPlayer = dynamic(() => import(\"./vodPlayer/vodPlayer\"));\r\n\r\ninterface IProps {\r\n params: IParams;\r\n}\r\n\r\nconst VideoPlayer = (props: IProps) => {\r\n \r\n const {params} = useAppSelector(({ videoData: { isReady, params } }) => ({ isReady, params }), shallowEqual);\r\n useEffect(() => {\r\n if(params.id && props.params.id !== params.id) {\r\n if(params.type === PlayerTypes.static) {\r\n mainPlayerVideoTag().pause();\r\n mainPlayerVideoTag().removeAttribute(\"src\");\r\n mainPlayerVideoTag().load();\r\n }\r\n clearRedux();\r\n } \r\n return () => clearRedux();\r\n },[props.params.id])\r\n\r\n useHandleParams(props.params);\r\n useHandleKeyPress();\r\n useAppSelector(({ controller: { isFullScreen } }) => ({ isFullScreen }), shallowEqual);\r\n \r\n\r\n let element = <></>;\r\n if (conditions(ConditionName.isReady)) {\r\n element = (\r\n <div\r\n className={`${!conditions(ConditionName.isTouchScreen) && \"pl-rounded-[12px]\"} ${conditions(ConditionName.isFullScreen) && \"!pl-overflow-hidden pl-fixed pl-top-0 pl-right-0 pl-w-screen pl-h-screen\"}`}\r\n style={{ zIndex: zIndex.videoPlayerInFullScreen, touchAction: \"pan-y\" }}\r\n >\r\n {conditions(ConditionName.isStaticFormat) ? (\r\n <StaticPlayer />\r\n ) : (\r\n <VodPlayer />\r\n )}\r\n </div>\r\n );\r\n } else element = <div className=\"pl-w-full !pl-aspect-video pl-bg-white pl-overflow-hidden pl-max-h-screen pl-rounded-[12px]\" />;\r\n\r\n return (\r\n <div dir=\"rtl\" className=\"pl-rounded-[12px] pl-w-full pl-h-full\" id=\"parent-player\">{element}</div>\r\n )\r\n}\r\n\r\nexport default VideoPlayer;","\"use client\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { getUUID } from \"../helpers\";\r\nimport { useAppDispatch } from \"../redux/hooks\";\r\nimport { IParams } from \"../interfaces/interfaces\";\r\nimport { setIsReady, setPlayerParams } from \"../redux/slices/videoDataSlice\";\r\nimport { PlayerTypes } from \"../interfaces/enums\";\r\n\r\nconst useHandleParams = (query: any) => {\r\n const dispatch = useAppDispatch();\r\n\r\n let queryParams: IParams = {};\r\n\r\n const handleSetParamsInRedux = () => {\r\n dispatch(setPlayerParams(queryParams));\r\n dispatch(setIsReady(true));\r\n };\r\n\r\n const handleAddUUID = () => {\r\n if (!!query.uuid) {\r\n localStorage.setItem(\"hamrahiUUID\", query.uuid!);\r\n queryParams.uuid = query.uuid;\r\n }\r\n };\r\n\r\n const handleVodParams = () => {\r\n queryParams = {\r\n provider: \"cafevdo\",\r\n ...query,\r\n };\r\n };\r\n\r\n const handleStaticParams = () => {\r\n queryParams = {\r\n id: window.atob(query.id),\r\n type: query.type,\r\n fullscreen: query.fullscreen,\r\n autoplay: query.autoplay,\r\n banner:\r\n query.banner && query.banner !== \"undefined\" ? query.banner : undefined,\r\n uuid: getUUID(),\r\n bannerAlt: query.bannerAlt,\r\n provider: \"cafevdo\",\r\n onFinished: query.onFinished,\r\n onClickMiniPlayerIcon: query.onClickMiniPlayerIcon,\r\n currentTime: query.currentTime,\r\n subtitles: query.subtitles,\r\n daaniHashCode: query.daaniHashCode\r\n };\r\n };\r\n\r\n const handleParams = async () => {\r\n queryParams = {};\r\n if (Object.keys(query).includes(\"type\")) {\r\n if (String(query.type) === PlayerTypes.vod) handleVodParams();\r\n else if (String(query.type) === PlayerTypes.static) handleStaticParams();\r\n handleAddUUID();\r\n handleSetParamsInRedux();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n handleParams();\r\n }, [query]);\r\n};\r\n\r\nexport default useHandleParams;\r\n","import { conditions } from \"../conditions/conditions\";\r\nimport { mainPlayerVideoTag } from \"../constants\";\r\nimport { ConditionName } from \"../interfaces/enums\";\r\nimport { handleBackwardForward, handleChangeSoundVolume, handleFullScreen, handlePlayPause } from \"../redux/actions/controller.actions\";\r\nimport { handleSubtitle } from \"../redux/actions/videoData.actions\";\r\nimport store from \"../redux/store\";\r\nimport useKeyPress from \"./useKeyPress\";\r\n\r\nconst useHandleKeyPress = () => {\r\n useKeyPress(\"Space\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeySpace)) handlePlayPause(event);\r\n });\r\n useKeyPress(\"ArrowRight\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowRight)) handleBackwardForward(\"forward\", 15, event);\r\n });\r\n useKeyPress(\"ArrowLeft\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowLeft)) handleBackwardForward(\"backward\", 15, event);\r\n });\r\n useKeyPress(\"KeyI\", () => {\r\n if (conditions(ConditionName.isPressKeyI)) mainPlayerVideoTag().requestPictureInPicture();\r\n });\r\n useKeyPress(\"KeyF\", () => {\r\n if (conditions(ConditionName.isPressKeyF)) handleFullScreen();\r\n });\r\n useKeyPress(\"KeyM\", () => {\r\n if (conditions(ConditionName.isPressKeyM)) {\r\n const { settings } = store.getState().user;\r\n handleChangeSoundVolume(settings.volume ? 0 : 50);\r\n }\r\n });\r\n useKeyPress(\"KeyC\", () => {\r\n if (conditions(ConditionName.isPressKeyC)) handleSubtitle();\r\n });\r\n};\r\n\r\nexport default useHandleKeyPress;\r\n","import { useEffect, useRef } from \"react\";\r\n\r\nconst useKeyPress = (key: string, cb: any) => {\r\n const callbackRef = useRef(cb);\r\n\r\n useEffect(() => {\r\n callbackRef.current = cb;\r\n }, []);\r\n\r\n useEffect(() => {\r\n const handleKeyPress = (event: any) => {\r\n if (event.code === key && ![\"INPUT\", \"TEXTAREA\"].includes(event.target.nodeName) && !event.target.isContentEditable) callbackRef.current(event);\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleKeyPress);\r\n\r\n return () => document.removeEventListener(\"keydown\", handleKeyPress);\r\n }, [key]);\r\n};\r\nexport default useKeyPress;\r\n","import React from \"react\";\r\nimport { errorLogProvider } from \"./errorBoundaryFunctions\";\r\n\r\nclass ErrorBoundary extends React.Component {\r\n state = { hasError: false, error: null, errorInfo: null };\r\n\r\n static getDerivedStateFromError(error: any) {\r\n // Update state so the next render will show the fallback UI.\r\n return { hasError: true };\r\n }\r\n\r\n componentDidCatch(error: any, errorInfo: any) {\r\n // You can also log the error to an error reporting service\r\n this.setState({ error: error, errorInfo: errorInfo });\r\n errorLogProvider({ type: \"OTHER_ERROR\", message: error.message });\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n return <></>;\r\n }\r\n\r\n return (this.props as any).children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IMiniPlayerParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport { MiniPlayer } from \"./components/custom-components/miniPlayer/miniPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const MiniPlayerLibrary = ({\r\n params,\r\n}: {\r\n params: IMiniPlayerParams;\r\n}) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <MiniPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport Image from \"next/legacy/image\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { ConditionName, zIndex } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { useEffect } from \"react\";\r\nimport { IMiniPlayerParams } from \"../../../helpers/interfaces/interfaces\";\r\nimport { setMiniPlayerInfo } from \"../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport MiniPlayerPlayPause from \"../playPause/miniPlayerPlayPause\";\r\nimport VideoTag from \"./videoTag/videoTag\";\r\nimport { getVodDetails } from \"../../../helpers/redux/actions/videoData.actions\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../helpers/constants\";\r\nimport { setCurrentTime } from \"../../../helpers/redux/slices/controllerSlice\";\r\n\r\nexport const MiniPlayer = ({ params }: { params: IMiniPlayerParams }) => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector(state => state.miniPlayer.details);\r\n const miniPlayerParams = useAppSelector(state => state.miniPlayer.params);\r\n useAppSelector(state => state.miniPlayer.play);\r\n const mainPlayerParams = useAppSelector(state => state.videoData.params);\r\n \r\n useEffect(() => {\r\n dispatch(setMiniPlayerInfo(params));\r\n },[])\r\n\r\n const handleGetDetail = async () => await getVodDetails(params.id);\r\n\r\n useEffect(() => {\r\n if(params.id && params.type === \"vod\") handleGetDetail();\r\n },[params.id])\r\n\r\n return (\r\n <>\r\n {details.stream_link || (miniPlayerParams.type === \"static\" && !!miniPlayerParams.id) ? (\r\n <div id=\"miniPlayer-video-area\" style={{zIndex: zIndex.miniPlayer}} className=\"pl-relative pl-w-full pl-h-full\">\r\n <div \r\n className={`pl-absolute pl-z-[1000000] pl-top-3 pl-right-3 pl-cursor-pointer ${conditions(ConditionName.isActiveElements) ? \"animate__fadeIn pl-pointer-events-auto\" : \"animate__fadeOut pl-pointer-events-none\" }`} \r\n onClick={() => {\r\n if(mainPlayerParams.id === miniPlayerParams.id) {\r\n mainPlayerVideoTag().currentTime = miniPlayerVideoTag().currentTime;\r\n dispatch(setCurrentTime(miniPlayerVideoTag().currentTime));\r\n }\r\n localStorage.setItem(\"close-miniPlayer\", \"true\");\r\n params.onClose();\r\n }}\r\n > \r\n <Image\r\n className=\"pl-cursor-pointer\"\r\n src={IMAGES.closeSquare}\r\n alt=\"close-square\"\r\n width={16}\r\n height={16}\r\n />\r\n </div>\r\n <div className={`pl-w-full pl-absolute pl-bottom-0 animate__animated animate__faster pl-z-[1000000] ${conditions(ConditionName.isActiveElements) && !conditions(ConditionName.isLoading)\r\n ? \"animate__fadeIn pl-pointer-events-auto\"\r\n : \"animate__fadeOut pl-pointer-events-none\"\r\n }`}>\r\n <div className=\"pl-w-full pl-flex pl-justify-center\">\r\n <MiniPlayerPlayPause />\r\n </div>\r\n </div>\r\n <VideoTag />\r\n </div>\r\n ) : (\r\n <div className=\"pl-w-full pl-h-full pl-bg-white\" />\r\n )}\r\n\r\n </>\r\n )\r\n}","import { shallowEqual } from \"react-redux\";\r\nimport { useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { handlePlayerPauseMiniPlayer } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport Image from \"next/legacy/image\";\r\n\r\nconst MiniPlayerPlayPause = () => {\r\n useAppSelector(({ miniPlayer: { play } }) => ({ play }), shallowEqual);\r\n\r\n return (\r\n <div\r\n className={`${!conditions(ConditionName.isTouchScreen) && \"hover:pl-scale-125\"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`}\r\n onContextMenu={(event) => event.preventDefault()}\r\n >\r\n <Image\r\n alt=\"\"\r\n src={conditions(ConditionName.isPlayMiniPlayer) ? IMAGES.bigPause : IMAGES.bigPlay}\r\n width={20}\r\n height={20}\r\n onClick={(event: any) => handlePlayerPauseMiniPlayer(event)}\r\n onDoubleClick={(event: any) => event.stopPropagation()}\r\n className={`${conditions(ConditionName.isPlayMiniPlayer) ? \"pl-big-play-icon\" : \"pl-big-pause-icon\"}`}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default MiniPlayerPlayPause;\r\n","import { PlayerTypes } from \"../../../../helpers/interfaces/enums\";\r\nimport { useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport MiniPlayerNonStaticVideoTag from \"./miniPlayerNonStaticVideoTag\";\r\nimport MiniPlayerStaticVideoTag from \"./miniPlayerStaticVideoTag\";\r\n\r\nconst VideoTag = () => {\r\n \r\n const type = useAppSelector(state => state.miniPlayer.params.type);\r\n return (\r\n <>{type === PlayerTypes.static ? <MiniPlayerStaticVideoTag /> : <MiniPlayerNonStaticVideoTag />}</>\r\n )\r\n}\r\n\r\nexport default VideoTag;","import Hls from \"hls.js\";\r\nimport { useEffect } from \"react\";\r\nimport {\r\n appendQueryParamsToChunksIOS,\r\n handleMiniPlayerHlsConfig,\r\n handleMiniPlayerMediaAttached,\r\n handleVideoError,\r\n} from \"../../../../helpers/redux/actions/playerCore.actions\";\r\nimport {\r\n useAppDispatch,\r\n useAppSelector,\r\n} from \"../../../../helpers/redux/hooks\";\r\nimport {\r\n mainPlayerVideoTag,\r\n miniPlayerVideoTag,\r\n} from \"../../../../helpers/constants\";\r\nimport {\r\n setClearMiniPlayerSlice,\r\n setPlayMiniPlayer,\r\n} from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\n\r\nconst MiniPlayerNonStaticVideoTag = () => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector((state) => state.miniPlayer.details);\r\n const params = useAppSelector((state) => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n let hls = new Hls(handleMiniPlayerHlsConfig());\r\n if (Hls.isSupported()) {\r\n hls.attachMedia(\r\n document.getElementById(`mini-player-video-tag`) as HTMLMediaElement\r\n );\r\n hls.on(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n } else if (\r\n mainPlayerVideoTag().canPlayType(\"application/vnd.apple.mpegurl\")\r\n ) {\r\n mainPlayerVideoTag().src = details.stream_link!;\r\n\r\n // Append Query Parameter to .ts Chunks\r\n appendQueryParamsToChunksIOS();\r\n }\r\n return () => {\r\n dispatch(setClearMiniPlayerSlice());\r\n hls.detachMedia();\r\n hls.off(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag().pause();\r\n }\r\n }, [params.currentTime]);\r\n\r\n return (\r\n <>\r\n <video\r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n poster={params.banner ? params.banner : details.banner}\r\n id={`mini-player-video-tag`}\r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay={true}\r\n muted={true}\r\n />\r\n </>\r\n );\r\n};\r\n\r\nexport default MiniPlayerNonStaticVideoTag;\r\n","import { useEffect } from \"react\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../../helpers/constants\";\r\nimport { setPlayMiniPlayer } from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\nimport { handleVideoError } from \"../../../../helpers/redux/actions/playerCore.actions\";\r\n\r\nconst MiniPlayerStaticVideoTag = () => {\r\n\r\n const dispatch = useAppDispatch();\r\n const params = useAppSelector(state => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n if(params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag().pause();\r\n }\r\n },[params.currentTime])\r\n\r\n return (\r\n <video \r\n poster={params.banner} \r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n src={params.id} \r\n id={`mini-player-video-tag`} \r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay\r\n />\r\n )\r\n}\r\n\r\nexport default MiniPlayerStaticVideoTag;"]}
1
+ {"version":3,"sources":["../src/videoPlayerLibrary/index.ts","../src/videoPlayerLibrary/videoPlayerLibrary.tsx","../src/videoPlayerLibrary/components/videoPlayer/videoPlayer.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleParams.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleKeyPress.tsx","../src/videoPlayerLibrary/helpers/hooks/useKeyPress.tsx","../src/videoPlayerLibrary/helpers/errorBoundary/errorBoundary.tsx","../src/videoPlayerLibrary/miniPlayerLibrary.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/miniPlayer.tsx","../src/videoPlayerLibrary/components/custom-components/playPause/miniPlayerPlayPause.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/videoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerNonStaticVideoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerStaticVideoTag.tsx"],"names":["init_cjs_shims","useHandleParams","query","dispatch","useAppDispatch","queryParams","handleSetParamsInRedux","setPlayerParams","setIsReady","handleAddUUID","handleVodParams","handleStaticParams","getUUID","handleParams","useEffect","useHandleParams_default","useKeyPress","key","cb","callbackRef","useRef","handleKeyPress","event","useKeyPress_default","useHandleKeyPress","conditions","handlePlayPause","handleBackwardForward","mainPlayerVideoTag","handleFullScreen","settings","store_default","handleChangeSoundVolume","handleSubtitle","useHandleKeyPress_default","StaticPlayer","dynamic","VodPlayer","VideoPlayer","props","params","useAppSelector","isReady","shallowEqual","clearRedux","isFullScreen","element","jsx","Fragment","videoPlayer_default","ErrorBoundary","React","error","errorInfo","errorLogProvider","errorBoundary_default","VideoPlayerLibrary","Provider","MiniPlayerPlayPause","play","Image","importImages_default","handlePlayerPauseMiniPlayer","miniPlayerPlayPause_default","MiniPlayerNonStaticVideoTag","details","state","hls","Hls","handleMiniPlayerHlsConfig","handleMiniPlayerMediaAttached","appendQueryParamsToChunksIOS","setClearMiniPlayerSlice","setPlayMiniPlayer","miniPlayerVideoTag","setPlay","handleVideoError","miniPlayerNonStaticVideoTag_default","MiniPlayerStaticVideoTag","miniPlayerStaticVideoTag_default","VideoTag","type","videoTag_default","MiniPlayer","miniPlayerParams","mainPlayerParams","setMiniPlayerInfo","handleGetDetail","getVodDetails","jsxs","setCurrentTime","MiniPlayerLibrary"],"mappings":"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","file":"index.js","sourcesContent":["export { VideoPlayerLibrary } from \"./videoPlayerLibrary\";\r\nexport { MiniPlayerLibrary } from \"./miniPlayerLibrary\";\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport VideoPlayer from \"./components/videoPlayer/videoPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const VideoPlayerLibrary = ({ params }: { params: IParams }) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <VideoPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport { conditions } from \"../../helpers/conditions/conditions\";\r\nimport useHandleParams from \"../../helpers/hooks/useHandleParams\";\r\nimport { ConditionName, PlayerTypes, zIndex } from \"../../helpers/interfaces/enums\";\r\nimport { IParams } from \"../../helpers/interfaces/interfaces\";\r\nimport { useAppSelector } from \"../../helpers/redux/hooks\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport dynamic from \"next/dynamic\";\r\nimport useHandleKeyPress from \"../../helpers/hooks/useHandleKeyPress\";\r\nimport { useEffect } from \"react\";\r\nimport { clearRedux } from \"../../helpers/helpers\";\r\nimport { mainPlayerVideoTag } from \"../../helpers/constants\";\r\n\r\nconst StaticPlayer = dynamic(() => import(\"./staticPlayer/staticPlayer\"));\r\nconst VodPlayer = dynamic(() => import(\"./vodPlayer/vodPlayer\"));\r\n\r\ninterface IProps {\r\n params: IParams;\r\n}\r\n\r\nconst VideoPlayer = (props: IProps) => {\r\n \r\n const {params} = useAppSelector(({ videoData: { isReady, params } }) => ({ isReady, params }), shallowEqual);\r\n useEffect(() => {\r\n if(params.id && props.params.id !== params.id) {\r\n if(params.type === PlayerTypes.static) {\r\n mainPlayerVideoTag().pause();\r\n mainPlayerVideoTag().removeAttribute(\"src\");\r\n mainPlayerVideoTag().load();\r\n }\r\n clearRedux();\r\n } \r\n return () => clearRedux();\r\n },[props.params.id])\r\n\r\n useHandleParams(props.params);\r\n useHandleKeyPress();\r\n useAppSelector(({ controller: { isFullScreen } }) => ({ isFullScreen }), shallowEqual);\r\n \r\n\r\n let element = <></>;\r\n if (conditions(ConditionName.isReady)) {\r\n element = (\r\n <div\r\n className={`!pl-select-none ${!conditions(ConditionName.isTouchScreen) && \"pl-rounded-[12px]\"} ${conditions(ConditionName.isFullScreen) && \"!pl-overflow-hidden pl-fixed pl-top-0 pl-right-0 pl-w-screen pl-h-screen\"}`}\r\n style={{ zIndex: zIndex.videoPlayerInFullScreen, touchAction: \"pan-y\" }}\r\n >\r\n {conditions(ConditionName.isStaticFormat) ? (\r\n <StaticPlayer />\r\n ) : (\r\n <VodPlayer />\r\n )}\r\n </div>\r\n );\r\n } else element = <div className=\"pl-w-full !pl-aspect-video pl-bg-white pl-overflow-hidden pl-max-h-screen pl-rounded-[12px]\" />;\r\n\r\n return (\r\n <div dir=\"rtl\" className=\"pl-rounded-[12px] pl-w-full pl-h-full\" id=\"parent-player\">{element}</div>\r\n )\r\n}\r\n\r\nexport default VideoPlayer;","\"use client\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { getUUID } from \"../helpers\";\r\nimport { useAppDispatch } from \"../redux/hooks\";\r\nimport { IParams } from \"../interfaces/interfaces\";\r\nimport { setIsReady, setPlayerParams } from \"../redux/slices/videoDataSlice\";\r\nimport { PlayerTypes } from \"../interfaces/enums\";\r\n\r\nconst useHandleParams = (query: any) => {\r\n const dispatch = useAppDispatch();\r\n\r\n let queryParams: IParams = {};\r\n\r\n const handleSetParamsInRedux = () => {\r\n dispatch(setPlayerParams(queryParams));\r\n dispatch(setIsReady(true));\r\n };\r\n\r\n const handleAddUUID = () => {\r\n if (!!query.uuid) {\r\n localStorage.setItem(\"hamrahiUUID\", query.uuid!);\r\n queryParams.uuid = query.uuid;\r\n }\r\n };\r\n\r\n const handleVodParams = () => {\r\n queryParams = {\r\n provider: \"cafevdo\",\r\n ...query,\r\n };\r\n };\r\n\r\n const handleStaticParams = () => {\r\n queryParams = {\r\n id: window.atob(query.id),\r\n type: query.type,\r\n fullscreen: query.fullscreen,\r\n autoplay: query.autoplay,\r\n banner:\r\n query.banner && query.banner !== \"undefined\" ? query.banner : undefined,\r\n uuid: getUUID(),\r\n bannerAlt: query.bannerAlt,\r\n provider: \"cafevdo\",\r\n onFinished: query.onFinished,\r\n onClickMiniPlayerIcon: query.onClickMiniPlayerIcon,\r\n currentTime: query.currentTime,\r\n subtitles: query.subtitles,\r\n daaniHashCode: query.daaniHashCode\r\n };\r\n };\r\n\r\n const handleParams = async () => {\r\n queryParams = {};\r\n if (Object.keys(query).includes(\"type\")) {\r\n if (String(query.type) === PlayerTypes.vod) handleVodParams();\r\n else if (String(query.type) === PlayerTypes.static) handleStaticParams();\r\n handleAddUUID();\r\n handleSetParamsInRedux();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n handleParams();\r\n }, [query]);\r\n};\r\n\r\nexport default useHandleParams;\r\n","import { conditions } from \"../conditions/conditions\";\r\nimport { mainPlayerVideoTag } from \"../constants\";\r\nimport { ConditionName } from \"../interfaces/enums\";\r\nimport { handleBackwardForward, handleChangeSoundVolume, handleFullScreen, handlePlayPause } from \"../redux/actions/controller.actions\";\r\nimport { handleSubtitle } from \"../redux/actions/videoData.actions\";\r\nimport store from \"../redux/store\";\r\nimport useKeyPress from \"./useKeyPress\";\r\n\r\nconst useHandleKeyPress = () => {\r\n useKeyPress(\"Space\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeySpace)) handlePlayPause(event);\r\n });\r\n useKeyPress(\"ArrowRight\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowRight)) handleBackwardForward(\"forward\", 15, event);\r\n });\r\n useKeyPress(\"ArrowLeft\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowLeft)) handleBackwardForward(\"backward\", 15, event);\r\n });\r\n useKeyPress(\"KeyI\", () => {\r\n if (conditions(ConditionName.isPressKeyI)) mainPlayerVideoTag().requestPictureInPicture();\r\n });\r\n useKeyPress(\"KeyF\", () => {\r\n if (conditions(ConditionName.isPressKeyF)) handleFullScreen();\r\n });\r\n useKeyPress(\"KeyM\", () => {\r\n if (conditions(ConditionName.isPressKeyM)) {\r\n const { settings } = store.getState().user;\r\n handleChangeSoundVolume(settings.volume ? 0 : 50);\r\n }\r\n });\r\n useKeyPress(\"KeyC\", () => {\r\n if (conditions(ConditionName.isPressKeyC)) handleSubtitle();\r\n });\r\n};\r\n\r\nexport default useHandleKeyPress;\r\n","import { useEffect, useRef } from \"react\";\r\n\r\nconst useKeyPress = (key: string, cb: any) => {\r\n const callbackRef = useRef(cb);\r\n\r\n useEffect(() => {\r\n callbackRef.current = cb;\r\n }, []);\r\n\r\n useEffect(() => {\r\n const handleKeyPress = (event: any) => {\r\n if (event.code === key && ![\"INPUT\", \"TEXTAREA\"].includes(event.target.nodeName) && !event.target.isContentEditable) callbackRef.current(event);\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleKeyPress);\r\n\r\n return () => document.removeEventListener(\"keydown\", handleKeyPress);\r\n }, [key]);\r\n};\r\nexport default useKeyPress;\r\n","import React from \"react\";\r\nimport { errorLogProvider } from \"./errorBoundaryFunctions\";\r\n\r\nclass ErrorBoundary extends React.Component {\r\n state = { hasError: false, error: null, errorInfo: null };\r\n\r\n static getDerivedStateFromError(error: any) {\r\n // Update state so the next render will show the fallback UI.\r\n return { hasError: true };\r\n }\r\n\r\n componentDidCatch(error: any, errorInfo: any) {\r\n // You can also log the error to an error reporting service\r\n this.setState({ error: error, errorInfo: errorInfo });\r\n errorLogProvider({ type: \"OTHER_ERROR\", message: error.message });\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n return <></>;\r\n }\r\n\r\n return (this.props as any).children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IMiniPlayerParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport { MiniPlayer } from \"./components/custom-components/miniPlayer/miniPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const MiniPlayerLibrary = ({\r\n params,\r\n}: {\r\n params: IMiniPlayerParams;\r\n}) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <MiniPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport Image from \"next/legacy/image\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { ConditionName, zIndex } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { useEffect } from \"react\";\r\nimport { IMiniPlayerParams } from \"../../../helpers/interfaces/interfaces\";\r\nimport { setMiniPlayerInfo } from \"../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport MiniPlayerPlayPause from \"../playPause/miniPlayerPlayPause\";\r\nimport VideoTag from \"./videoTag/videoTag\";\r\nimport { getVodDetails } from \"../../../helpers/redux/actions/videoData.actions\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../helpers/constants\";\r\nimport { setCurrentTime } from \"../../../helpers/redux/slices/controllerSlice\";\r\n\r\nexport const MiniPlayer = ({ params }: { params: IMiniPlayerParams }) => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector(state => state.miniPlayer.details);\r\n const miniPlayerParams = useAppSelector(state => state.miniPlayer.params);\r\n useAppSelector(state => state.miniPlayer.play);\r\n const mainPlayerParams = useAppSelector(state => state.videoData.params);\r\n \r\n useEffect(() => {\r\n dispatch(setMiniPlayerInfo(params));\r\n },[])\r\n\r\n const handleGetDetail = async () => await getVodDetails(params.id);\r\n\r\n useEffect(() => {\r\n if(params.id && params.type === \"vod\") handleGetDetail();\r\n },[params.id])\r\n\r\n return (\r\n <>\r\n {details.stream_link || (miniPlayerParams.type === \"static\" && !!miniPlayerParams.id) ? (\r\n <div id=\"miniPlayer-video-area\" style={{zIndex: zIndex.miniPlayer}} className=\"pl-relative pl-w-full pl-h-full\">\r\n <div \r\n className={`pl-absolute pl-z-[1000000] pl-top-3 pl-right-3 pl-cursor-pointer ${conditions(ConditionName.isActiveElements) ? \"animate__fadeIn pl-pointer-events-auto\" : \"animate__fadeOut pl-pointer-events-none\" }`} \r\n onClick={() => {\r\n if(mainPlayerParams.id === miniPlayerParams.id) {\r\n mainPlayerVideoTag().currentTime = miniPlayerVideoTag().currentTime;\r\n dispatch(setCurrentTime(miniPlayerVideoTag().currentTime));\r\n }\r\n localStorage.setItem(\"close-miniPlayer\", \"true\");\r\n params.onClose();\r\n }}\r\n > \r\n <Image\r\n className=\"pl-cursor-pointer\"\r\n src={IMAGES.closeSquare}\r\n alt=\"close-square\"\r\n width={16}\r\n height={16}\r\n />\r\n </div>\r\n <div className={`pl-w-full pl-absolute pl-bottom-0 animate__animated animate__faster pl-z-[1000000] ${conditions(ConditionName.isActiveElements) && !conditions(ConditionName.isLoading)\r\n ? \"animate__fadeIn pl-pointer-events-auto\"\r\n : \"animate__fadeOut pl-pointer-events-none\"\r\n }`}>\r\n <div className=\"pl-w-full pl-flex pl-justify-center\">\r\n <MiniPlayerPlayPause />\r\n </div>\r\n </div>\r\n <VideoTag />\r\n </div>\r\n ) : (\r\n <div className=\"pl-w-full pl-h-full pl-bg-white\" />\r\n )}\r\n\r\n </>\r\n )\r\n}","import { shallowEqual } from \"react-redux\";\r\nimport { useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { handlePlayerPauseMiniPlayer } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport Image from \"next/legacy/image\";\r\n\r\nconst MiniPlayerPlayPause = () => {\r\n useAppSelector(({ miniPlayer: { play } }) => ({ play }), shallowEqual);\r\n\r\n return (\r\n <div\r\n className={`${!conditions(ConditionName.isTouchScreen) && \"hover:pl-scale-125\"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`}\r\n onContextMenu={(event) => event.preventDefault()}\r\n >\r\n <Image\r\n alt=\"\"\r\n src={conditions(ConditionName.isPlayMiniPlayer) ? IMAGES.bigPause : IMAGES.bigPlay}\r\n width={20}\r\n height={20}\r\n onClick={(event: any) => handlePlayerPauseMiniPlayer(event)}\r\n onDoubleClick={(event: any) => event.stopPropagation()}\r\n className={`${conditions(ConditionName.isPlayMiniPlayer) ? \"pl-big-play-icon\" : \"pl-big-pause-icon\"}`}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default MiniPlayerPlayPause;\r\n","import { PlayerTypes } from \"../../../../helpers/interfaces/enums\";\r\nimport { useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport MiniPlayerNonStaticVideoTag from \"./miniPlayerNonStaticVideoTag\";\r\nimport MiniPlayerStaticVideoTag from \"./miniPlayerStaticVideoTag\";\r\n\r\nconst VideoTag = () => {\r\n \r\n const type = useAppSelector(state => state.miniPlayer.params.type);\r\n return (\r\n <>{type === PlayerTypes.static ? <MiniPlayerStaticVideoTag /> : <MiniPlayerNonStaticVideoTag />}</>\r\n )\r\n}\r\n\r\nexport default VideoTag;","import Hls from \"hls.js\";\r\nimport { useEffect } from \"react\";\r\nimport {\r\n appendQueryParamsToChunksIOS,\r\n handleMiniPlayerHlsConfig,\r\n handleMiniPlayerMediaAttached,\r\n handleVideoError,\r\n} from \"../../../../helpers/redux/actions/playerCore.actions\";\r\nimport {\r\n useAppDispatch,\r\n useAppSelector,\r\n} from \"../../../../helpers/redux/hooks\";\r\nimport {\r\n mainPlayerVideoTag,\r\n miniPlayerVideoTag,\r\n} from \"../../../../helpers/constants\";\r\nimport {\r\n setClearMiniPlayerSlice,\r\n setPlayMiniPlayer,\r\n} from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\n\r\nconst MiniPlayerNonStaticVideoTag = () => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector((state) => state.miniPlayer.details);\r\n const params = useAppSelector((state) => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n let hls = new Hls(handleMiniPlayerHlsConfig());\r\n if (Hls.isSupported()) {\r\n hls.attachMedia(\r\n document.getElementById(`mini-player-video-tag`) as HTMLMediaElement\r\n );\r\n hls.on(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n } else if (\r\n mainPlayerVideoTag().canPlayType(\"application/vnd.apple.mpegurl\")\r\n ) {\r\n mainPlayerVideoTag().src = details.stream_link!;\r\n\r\n // Append Query Parameter to .ts Chunks\r\n appendQueryParamsToChunksIOS();\r\n }\r\n return () => {\r\n dispatch(setClearMiniPlayerSlice());\r\n hls.detachMedia();\r\n hls.off(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag().pause();\r\n }\r\n }, [params.currentTime]);\r\n\r\n return (\r\n <>\r\n <video\r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n poster={params.banner ? params.banner : details.banner}\r\n id={`mini-player-video-tag`}\r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay={true}\r\n muted={true}\r\n />\r\n </>\r\n );\r\n};\r\n\r\nexport default MiniPlayerNonStaticVideoTag;\r\n","import { useEffect } from \"react\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../../helpers/constants\";\r\nimport { setPlayMiniPlayer } from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\nimport { handleVideoError } from \"../../../../helpers/redux/actions/playerCore.actions\";\r\n\r\nconst MiniPlayerStaticVideoTag = () => {\r\n\r\n const dispatch = useAppDispatch();\r\n const params = useAppSelector(state => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n if(params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag().pause();\r\n }\r\n },[params.currentTime])\r\n\r\n return (\r\n <video \r\n poster={params.banner} \r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n src={params.id} \r\n id={`mini-player-video-tag`} \r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay\r\n />\r\n )\r\n}\r\n\r\nexport default MiniPlayerStaticVideoTag;"]}
package/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import {d,C,b as b$1,a as a$3}from'./chunk-R65WA2TV.mjs';import {a as a$1,b as b$2}from'./chunk-7CZEUDNW.mjs';import {c as c$1,a as a$4,e as e$1,f,d as d$1}from'./chunk-P6UV7U4E.mjs';import {Ca,M,da,ea,I,ca,fa,ga,c,V as V$1,L,K,a as a$2,s,x,N}from'./chunk-LHO7HY26.mjs';import {a}from'./chunk-6567FIPA.mjs';import {e}from'./chunk-DBPGS72Q.mjs';import {Provider,shallowEqual}from'react-redux';import Ee,{useEffect,useRef}from'react';import q from'next/dynamic';import {jsx,Fragment,jsxs}from'react/jsx-runtime';import Ce from'next/legacy/image';import b from'hls.js';e();e();e();e();var ce=e=>{let r=da(),a={},o=()=>{r(s(a)),r(x(!0));},p=()=>{e.uuid&&(localStorage.setItem("hamrahiUUID",e.uuid),a.uuid=e.uuid);},M=()=>{a={provider:"cafevdo",...e};},d=()=>{a={id:window.atob(e.id),type:e.type,fullscreen:e.fullscreen,autoplay:e.autoplay,banner:e.banner&&e.banner!=="undefined"?e.banner:void 0,uuid:N(),bannerAlt:e.bannerAlt,provider:"cafevdo",onFinished:e.onFinished,onClickMiniPlayerIcon:e.onClickMiniPlayerIcon,currentTime:e.currentTime,subtitles:e.subtitles,daaniHashCode:e.daaniHashCode};},pe=async()=>{a={},Object.keys(e).includes("type")&&(String(e.type)==="vod"?M():String(e.type)==="static"&&d(),p(),o());};useEffect(()=>{pe();},[e]);},W=ce;e();e();var ue=(e,r)=>{let a=useRef(r);useEffect(()=>{a.current=r;},[]),useEffect(()=>{let o=p=>{p.code===e&&!["INPUT","TEXTAREA"].includes(p.target.nodeName)&&!p.target.isContentEditable&&a.current(p);};return document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)},[e]);},u=ue;var ye=()=>{u("Space",e=>{ca("isPressKeySpace")&&a$4(e);}),u("ArrowRight",e=>{ca("isPressKeyArrowRight")&&e$1("forward",15,e);}),u("ArrowLeft",e=>{ca("isPressKeyArrowLeft")&&e$1("backward",15,e);}),u("KeyI",()=>{ca("isPressKeyI")&&fa().requestPictureInPicture();}),u("KeyF",()=>{ca("isPressKeyF")&&f();}),u("KeyM",()=>{if(ca("isPressKeyM")){let{settings:e}=M.getState().user;d$1(e.volume?0:50);}}),u("KeyC",()=>{ca("isPressKeyC")&&b$2();});},Z=ye;var ge=q(()=>import('./staticPlayer-4IVOGXWC.mjs')),ve=q(()=>import('./vodPlayer-LEY3FMUD.mjs')),Te=e=>{let{params:r}=ea(({videoData:{isReady:o,params:p}})=>({isReady:o,params:p}),shallowEqual);useEffect(()=>(r.id&&e.params.id!==r.id&&(r.type==="static"&&(fa().pause(),fa().removeAttribute("src"),fa().load()),V$1()),()=>V$1()),[e.params.id]),W(e.params),Z(),ea(({controller:{isFullScreen:o}})=>({isFullScreen:o}),shallowEqual);let a=jsx(Fragment,{});return ca("isReady")?a=jsx("div",{className:`${!ca("isTouchScreen")&&"pl-rounded-[12px]"} ${ca("isFullScreen")&&"!pl-overflow-hidden pl-fixed pl-top-0 pl-right-0 pl-w-screen pl-h-screen"}`,style:{zIndex:1e6,touchAction:"pan-y"},children:ca("isStaticFormat")?jsx(ge,{}):jsx(ve,{})}):a=jsx("div",{className:"pl-w-full !pl-aspect-video pl-bg-white pl-overflow-hidden pl-max-h-screen pl-rounded-[12px]"}),jsx("div",{dir:"rtl",className:"pl-rounded-[12px] pl-w-full pl-h-full",id:"parent-player",children:a})},ee=Te;e();var V=class extends Ee.Component{state={hasError:!1,error:null,errorInfo:null};static getDerivedStateFromError(r){return {hasError:!0}}componentDidCatch(r,a){this.setState({error:r,errorInfo:a}),Ca({type:"OTHER_ERROR",message:r.message});}render(){return this.state.hasError?jsx(Fragment,{}):this.props.children}},E=V;var Ae=({params:e})=>jsx(Provider,{store:M,children:jsx(E,{children:jsx(ee,{params:e})})});e();e();e();var Ve=()=>(ea(({miniPlayer:{play:e}})=>({play:e}),shallowEqual),jsx("div",{className:`${!ca("isTouchScreen")&&"hover:pl-scale-125"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`,onContextMenu:e=>e.preventDefault(),children:jsx(Ce,{alt:"",src:ca("isPlayMiniPlayer")?a.bigPause:a.bigPlay,width:20,height:20,onClick:e=>c$1(e),onDoubleClick:e=>e.stopPropagation(),className:`${ca("isPlayMiniPlayer")?"pl-big-play-icon":"pl-big-pause-icon"}`})})),ie=Ve;e();e();var Ne=()=>{let e=da(),r=ea(o=>o.miniPlayer.details),a=ea(o=>o.miniPlayer.params);return useEffect(()=>{let o=new b(d());return b.isSupported()?(o.attachMedia(document.getElementById("mini-player-video-tag")),o.on(b.Events.MEDIA_ATTACHED,()=>C(o))):fa().canPlayType("application/vnd.apple.mpegurl")&&(fa().src=r.stream_link,b$1()),()=>{e(L()),o.detachMedia(),o.off(b.Events.MEDIA_ATTACHED,()=>C(o));}},[]),useEffect(()=>{a.currentTime&&(e(K(!0)),ga().currentTime=a.currentTime,e(a$2(!1)),fa().pause());},[a.currentTime]),jsx(Fragment,{children:jsx("video",{onPlay:()=>e(K(!0)),onEnded:()=>e(K(!1)),onError:a$3,poster:a.banner?a.banner:r.banner,id:"mini-player-video-tag",className:"pl-absolute pl-bg-black pl-w-full pl-h-full",autoPlay:!0,muted:!0})})},te=Ne;e();var _e=()=>{let e=da(),r=ea(a=>a.miniPlayer.params);return useEffect(()=>{r.currentTime&&(e(K(!0)),ga().currentTime=r.currentTime,e(a$2(!1)),fa().pause());},[r.currentTime]),jsx("video",{poster:r.banner,onPlay:()=>e(K(!0)),onEnded:()=>e(K(!1)),onError:a$3,src:r.id,id:"mini-player-video-tag",className:"pl-absolute pl-bg-black pl-w-full pl-h-full",autoPlay:!0})},ne=_e;var ke=()=>{let e=ea(r=>r.miniPlayer.params.type);return jsx(Fragment,{children:e==="static"?jsx(ne,{}):jsx(te,{})})},le=ke;var me=({params:e})=>{let r=da(),a$2=ea(d=>d.miniPlayer.details),o=ea(d=>d.miniPlayer.params);ea(d=>d.miniPlayer.play);let p=ea(d=>d.videoData.params);useEffect(()=>{r(I(e));},[]);let M=async()=>await a$1(e.id);return useEffect(()=>{e.id&&e.type==="vod"&&M();},[e.id]),jsx(Fragment,{children:a$2.stream_link||o.type==="static"&&o.id?jsxs("div",{id:"miniPlayer-video-area",style:{zIndex:1000003},className:"pl-relative pl-w-full pl-h-full",children:[jsx("div",{className:`pl-absolute pl-z-[1000000] pl-top-3 pl-right-3 pl-cursor-pointer ${ca("isActiveElements")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,onClick:()=>{p.id===o.id&&(fa().currentTime=ga().currentTime,r(c(ga().currentTime))),localStorage.setItem("close-miniPlayer","true"),e.onClose();},children:jsx(Ce,{className:"pl-cursor-pointer",src:a.closeSquare,alt:"close-square",width:16,height:16})}),jsx("div",{className:`pl-w-full pl-absolute pl-bottom-0 animate__animated animate__faster pl-z-[1000000] ${ca("isActiveElements")&&!ca("isLoading")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,children:jsx("div",{className:"pl-w-full pl-flex pl-justify-center",children:jsx(ie,{})})}),jsx(le,{})]}):jsx("div",{className:"pl-w-full pl-h-full pl-bg-white"})})};var ze=({params:e})=>jsx(Provider,{store:M,children:jsx(E,{children:jsx(me,{params:e})})});export{ze as MiniPlayerLibrary,Ae as VideoPlayerLibrary};//# sourceMappingURL=index.mjs.map
1
+ import {d,C,b as b$1,a as a$3}from'./chunk-Q52RFNV3.mjs';import {a as a$1,b as b$2}from'./chunk-BMC7X7BK.mjs';import {c as c$1,a as a$4,e as e$1,f,d as d$1}from'./chunk-AUZAI7ZJ.mjs';import {Ca,M,da,ea,I,ca,fa,ga,c,V as V$1,L,K,a as a$2,s,x,N}from'./chunk-5OIS455P.mjs';import {a}from'./chunk-6567FIPA.mjs';import {e}from'./chunk-DBPGS72Q.mjs';import {Provider,shallowEqual}from'react-redux';import Ee,{useEffect,useRef}from'react';import q from'next/dynamic';import {jsx,Fragment,jsxs}from'react/jsx-runtime';import Ce from'next/legacy/image';import b from'hls.js';e();e();e();e();var ce=e=>{let r=da(),a={},o=()=>{r(s(a)),r(x(!0));},p=()=>{e.uuid&&(localStorage.setItem("hamrahiUUID",e.uuid),a.uuid=e.uuid);},M=()=>{a={provider:"cafevdo",...e};},d=()=>{a={id:window.atob(e.id),type:e.type,fullscreen:e.fullscreen,autoplay:e.autoplay,banner:e.banner&&e.banner!=="undefined"?e.banner:void 0,uuid:N(),bannerAlt:e.bannerAlt,provider:"cafevdo",onFinished:e.onFinished,onClickMiniPlayerIcon:e.onClickMiniPlayerIcon,currentTime:e.currentTime,subtitles:e.subtitles,daaniHashCode:e.daaniHashCode};},pe=async()=>{a={},Object.keys(e).includes("type")&&(String(e.type)==="vod"?M():String(e.type)==="static"&&d(),p(),o());};useEffect(()=>{pe();},[e]);},W=ce;e();e();var ue=(e,r)=>{let a=useRef(r);useEffect(()=>{a.current=r;},[]),useEffect(()=>{let o=p=>{p.code===e&&!["INPUT","TEXTAREA"].includes(p.target.nodeName)&&!p.target.isContentEditable&&a.current(p);};return document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)},[e]);},u=ue;var ye=()=>{u("Space",e=>{ca("isPressKeySpace")&&a$4(e);}),u("ArrowRight",e=>{ca("isPressKeyArrowRight")&&e$1("forward",15,e);}),u("ArrowLeft",e=>{ca("isPressKeyArrowLeft")&&e$1("backward",15,e);}),u("KeyI",()=>{ca("isPressKeyI")&&fa().requestPictureInPicture();}),u("KeyF",()=>{ca("isPressKeyF")&&f();}),u("KeyM",()=>{if(ca("isPressKeyM")){let{settings:e}=M.getState().user;d$1(e.volume?0:50);}}),u("KeyC",()=>{ca("isPressKeyC")&&b$2();});},Z=ye;var ge=q(()=>import('./staticPlayer-YU2BZCDF.mjs')),ve=q(()=>import('./vodPlayer-SQSP4JD5.mjs')),Te=e=>{let{params:r}=ea(({videoData:{isReady:o,params:p}})=>({isReady:o,params:p}),shallowEqual);useEffect(()=>(r.id&&e.params.id!==r.id&&(r.type==="static"&&(fa().pause(),fa().removeAttribute("src"),fa().load()),V$1()),()=>V$1()),[e.params.id]),W(e.params),Z(),ea(({controller:{isFullScreen:o}})=>({isFullScreen:o}),shallowEqual);let a=jsx(Fragment,{});return ca("isReady")?a=jsx("div",{className:`!pl-select-none ${!ca("isTouchScreen")&&"pl-rounded-[12px]"} ${ca("isFullScreen")&&"!pl-overflow-hidden pl-fixed pl-top-0 pl-right-0 pl-w-screen pl-h-screen"}`,style:{zIndex:1e6,touchAction:"pan-y"},children:ca("isStaticFormat")?jsx(ge,{}):jsx(ve,{})}):a=jsx("div",{className:"pl-w-full !pl-aspect-video pl-bg-white pl-overflow-hidden pl-max-h-screen pl-rounded-[12px]"}),jsx("div",{dir:"rtl",className:"pl-rounded-[12px] pl-w-full pl-h-full",id:"parent-player",children:a})},ee=Te;e();var V=class extends Ee.Component{state={hasError:!1,error:null,errorInfo:null};static getDerivedStateFromError(r){return {hasError:!0}}componentDidCatch(r,a){this.setState({error:r,errorInfo:a}),Ca({type:"OTHER_ERROR",message:r.message});}render(){return this.state.hasError?jsx(Fragment,{}):this.props.children}},E=V;var Ae=({params:e})=>jsx(Provider,{store:M,children:jsx(E,{children:jsx(ee,{params:e})})});e();e();e();var Ve=()=>(ea(({miniPlayer:{play:e}})=>({play:e}),shallowEqual),jsx("div",{className:`${!ca("isTouchScreen")&&"hover:pl-scale-125"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`,onContextMenu:e=>e.preventDefault(),children:jsx(Ce,{alt:"",src:ca("isPlayMiniPlayer")?a.bigPause:a.bigPlay,width:20,height:20,onClick:e=>c$1(e),onDoubleClick:e=>e.stopPropagation(),className:`${ca("isPlayMiniPlayer")?"pl-big-play-icon":"pl-big-pause-icon"}`})})),ie=Ve;e();e();var Ne=()=>{let e=da(),r=ea(o=>o.miniPlayer.details),a=ea(o=>o.miniPlayer.params);return useEffect(()=>{let o=new b(d());return b.isSupported()?(o.attachMedia(document.getElementById("mini-player-video-tag")),o.on(b.Events.MEDIA_ATTACHED,()=>C(o))):fa().canPlayType("application/vnd.apple.mpegurl")&&(fa().src=r.stream_link,b$1()),()=>{e(L()),o.detachMedia(),o.off(b.Events.MEDIA_ATTACHED,()=>C(o));}},[]),useEffect(()=>{a.currentTime&&(e(K(!0)),ga().currentTime=a.currentTime,e(a$2(!1)),fa().pause());},[a.currentTime]),jsx(Fragment,{children:jsx("video",{onPlay:()=>e(K(!0)),onEnded:()=>e(K(!1)),onError:a$3,poster:a.banner?a.banner:r.banner,id:"mini-player-video-tag",className:"pl-absolute pl-bg-black pl-w-full pl-h-full",autoPlay:!0,muted:!0})})},te=Ne;e();var _e=()=>{let e=da(),r=ea(a=>a.miniPlayer.params);return useEffect(()=>{r.currentTime&&(e(K(!0)),ga().currentTime=r.currentTime,e(a$2(!1)),fa().pause());},[r.currentTime]),jsx("video",{poster:r.banner,onPlay:()=>e(K(!0)),onEnded:()=>e(K(!1)),onError:a$3,src:r.id,id:"mini-player-video-tag",className:"pl-absolute pl-bg-black pl-w-full pl-h-full",autoPlay:!0})},ne=_e;var ke=()=>{let e=ea(r=>r.miniPlayer.params.type);return jsx(Fragment,{children:e==="static"?jsx(ne,{}):jsx(te,{})})},le=ke;var me=({params:e})=>{let r=da(),a$2=ea(d=>d.miniPlayer.details),o=ea(d=>d.miniPlayer.params);ea(d=>d.miniPlayer.play);let p=ea(d=>d.videoData.params);useEffect(()=>{r(I(e));},[]);let M=async()=>await a$1(e.id);return useEffect(()=>{e.id&&e.type==="vod"&&M();},[e.id]),jsx(Fragment,{children:a$2.stream_link||o.type==="static"&&o.id?jsxs("div",{id:"miniPlayer-video-area",style:{zIndex:1000003},className:"pl-relative pl-w-full pl-h-full",children:[jsx("div",{className:`pl-absolute pl-z-[1000000] pl-top-3 pl-right-3 pl-cursor-pointer ${ca("isActiveElements")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,onClick:()=>{p.id===o.id&&(fa().currentTime=ga().currentTime,r(c(ga().currentTime))),localStorage.setItem("close-miniPlayer","true"),e.onClose();},children:jsx(Ce,{className:"pl-cursor-pointer",src:a.closeSquare,alt:"close-square",width:16,height:16})}),jsx("div",{className:`pl-w-full pl-absolute pl-bottom-0 animate__animated animate__faster pl-z-[1000000] ${ca("isActiveElements")&&!ca("isLoading")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,children:jsx("div",{className:"pl-w-full pl-flex pl-justify-center",children:jsx(ie,{})})}),jsx(le,{})]}):jsx("div",{className:"pl-w-full pl-h-full pl-bg-white"})})};var ze=({params:e})=>jsx(Provider,{store:M,children:jsx(E,{children:jsx(me,{params:e})})});export{ze as MiniPlayerLibrary,Ae as VideoPlayerLibrary};//# sourceMappingURL=index.mjs.map
2
2
  //# sourceMappingURL=index.mjs.map
package/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/videoPlayerLibrary/index.ts","../src/videoPlayerLibrary/videoPlayerLibrary.tsx","../src/videoPlayerLibrary/components/videoPlayer/videoPlayer.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleParams.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleKeyPress.tsx","../src/videoPlayerLibrary/helpers/hooks/useKeyPress.tsx","../src/videoPlayerLibrary/helpers/errorBoundary/errorBoundary.tsx","../src/videoPlayerLibrary/miniPlayerLibrary.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/miniPlayer.tsx","../src/videoPlayerLibrary/components/custom-components/playPause/miniPlayerPlayPause.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/videoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerNonStaticVideoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerStaticVideoTag.tsx"],"names":["init_esm_shims","useHandleParams","query","dispatch","useAppDispatch","queryParams","handleSetParamsInRedux","setPlayerParams","setIsReady","handleAddUUID","handleVodParams","handleStaticParams","getUUID","handleParams","useEffect","useHandleParams_default","useKeyPress","key","cb","callbackRef","useRef","handleKeyPress","event","useKeyPress_default","useHandleKeyPress","conditions","handlePlayPause","handleBackwardForward","mainPlayerVideoTag","handleFullScreen","settings","store_default","handleChangeSoundVolume","handleSubtitle","useHandleKeyPress_default","StaticPlayer","dynamic","VodPlayer","VideoPlayer","props","params","useAppSelector","isReady","shallowEqual","clearRedux","isFullScreen","element","jsx","Fragment","videoPlayer_default","ErrorBoundary","React","error","errorInfo","errorLogProvider","errorBoundary_default","VideoPlayerLibrary","Provider","MiniPlayerPlayPause","play","Image","importImages_default","handlePlayerPauseMiniPlayer","miniPlayerPlayPause_default","MiniPlayerNonStaticVideoTag","details","state","hls","Hls","handleMiniPlayerHlsConfig","handleMiniPlayerMediaAttached","appendQueryParamsToChunksIOS","setClearMiniPlayerSlice","setPlayMiniPlayer","miniPlayerVideoTag","setPlay","handleVideoError","miniPlayerNonStaticVideoTag_default","MiniPlayerStaticVideoTag","miniPlayerStaticVideoTag_default","VideoTag","type","videoTag_default","MiniPlayer","miniPlayerParams","mainPlayerParams","setMiniPlayerInfo","handleGetDetail","getVodDetails","jsxs","setCurrentTime","MiniPlayerLibrary"],"mappings":"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","file":"index.mjs","sourcesContent":["export { VideoPlayerLibrary } from \"./videoPlayerLibrary\";\r\nexport { MiniPlayerLibrary } from \"./miniPlayerLibrary\";\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport VideoPlayer from \"./components/videoPlayer/videoPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const VideoPlayerLibrary = ({ params }: { params: IParams }) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <VideoPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport { conditions } from \"../../helpers/conditions/conditions\";\r\nimport useHandleParams from \"../../helpers/hooks/useHandleParams\";\r\nimport { ConditionName, PlayerTypes, zIndex } from \"../../helpers/interfaces/enums\";\r\nimport { IParams } from \"../../helpers/interfaces/interfaces\";\r\nimport { useAppSelector } from \"../../helpers/redux/hooks\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport dynamic from \"next/dynamic\";\r\nimport useHandleKeyPress from \"../../helpers/hooks/useHandleKeyPress\";\r\nimport { useEffect } from \"react\";\r\nimport { clearRedux } from \"../../helpers/helpers\";\r\nimport { mainPlayerVideoTag } from \"../../helpers/constants\";\r\n\r\nconst StaticPlayer = dynamic(() => import(\"./staticPlayer/staticPlayer\"));\r\nconst VodPlayer = dynamic(() => import(\"./vodPlayer/vodPlayer\"));\r\n\r\ninterface IProps {\r\n params: IParams;\r\n}\r\n\r\nconst VideoPlayer = (props: IProps) => {\r\n \r\n const {params} = useAppSelector(({ videoData: { isReady, params } }) => ({ isReady, params }), shallowEqual);\r\n useEffect(() => {\r\n if(params.id && props.params.id !== params.id) {\r\n if(params.type === PlayerTypes.static) {\r\n mainPlayerVideoTag().pause();\r\n mainPlayerVideoTag().removeAttribute(\"src\");\r\n mainPlayerVideoTag().load();\r\n }\r\n clearRedux();\r\n } \r\n return () => clearRedux();\r\n },[props.params.id])\r\n\r\n useHandleParams(props.params);\r\n useHandleKeyPress();\r\n useAppSelector(({ controller: { isFullScreen } }) => ({ isFullScreen }), shallowEqual);\r\n \r\n\r\n let element = <></>;\r\n if (conditions(ConditionName.isReady)) {\r\n element = (\r\n <div\r\n className={`${!conditions(ConditionName.isTouchScreen) && \"pl-rounded-[12px]\"} ${conditions(ConditionName.isFullScreen) && \"!pl-overflow-hidden pl-fixed pl-top-0 pl-right-0 pl-w-screen pl-h-screen\"}`}\r\n style={{ zIndex: zIndex.videoPlayerInFullScreen, touchAction: \"pan-y\" }}\r\n >\r\n {conditions(ConditionName.isStaticFormat) ? (\r\n <StaticPlayer />\r\n ) : (\r\n <VodPlayer />\r\n )}\r\n </div>\r\n );\r\n } else element = <div className=\"pl-w-full !pl-aspect-video pl-bg-white pl-overflow-hidden pl-max-h-screen pl-rounded-[12px]\" />;\r\n\r\n return (\r\n <div dir=\"rtl\" className=\"pl-rounded-[12px] pl-w-full pl-h-full\" id=\"parent-player\">{element}</div>\r\n )\r\n}\r\n\r\nexport default VideoPlayer;","\"use client\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { getUUID } from \"../helpers\";\r\nimport { useAppDispatch } from \"../redux/hooks\";\r\nimport { IParams } from \"../interfaces/interfaces\";\r\nimport { setIsReady, setPlayerParams } from \"../redux/slices/videoDataSlice\";\r\nimport { PlayerTypes } from \"../interfaces/enums\";\r\n\r\nconst useHandleParams = (query: any) => {\r\n const dispatch = useAppDispatch();\r\n\r\n let queryParams: IParams = {};\r\n\r\n const handleSetParamsInRedux = () => {\r\n dispatch(setPlayerParams(queryParams));\r\n dispatch(setIsReady(true));\r\n };\r\n\r\n const handleAddUUID = () => {\r\n if (!!query.uuid) {\r\n localStorage.setItem(\"hamrahiUUID\", query.uuid!);\r\n queryParams.uuid = query.uuid;\r\n }\r\n };\r\n\r\n const handleVodParams = () => {\r\n queryParams = {\r\n provider: \"cafevdo\",\r\n ...query,\r\n };\r\n };\r\n\r\n const handleStaticParams = () => {\r\n queryParams = {\r\n id: window.atob(query.id),\r\n type: query.type,\r\n fullscreen: query.fullscreen,\r\n autoplay: query.autoplay,\r\n banner:\r\n query.banner && query.banner !== \"undefined\" ? query.banner : undefined,\r\n uuid: getUUID(),\r\n bannerAlt: query.bannerAlt,\r\n provider: \"cafevdo\",\r\n onFinished: query.onFinished,\r\n onClickMiniPlayerIcon: query.onClickMiniPlayerIcon,\r\n currentTime: query.currentTime,\r\n subtitles: query.subtitles,\r\n daaniHashCode: query.daaniHashCode\r\n };\r\n };\r\n\r\n const handleParams = async () => {\r\n queryParams = {};\r\n if (Object.keys(query).includes(\"type\")) {\r\n if (String(query.type) === PlayerTypes.vod) handleVodParams();\r\n else if (String(query.type) === PlayerTypes.static) handleStaticParams();\r\n handleAddUUID();\r\n handleSetParamsInRedux();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n handleParams();\r\n }, [query]);\r\n};\r\n\r\nexport default useHandleParams;\r\n","import { conditions } from \"../conditions/conditions\";\r\nimport { mainPlayerVideoTag } from \"../constants\";\r\nimport { ConditionName } from \"../interfaces/enums\";\r\nimport { handleBackwardForward, handleChangeSoundVolume, handleFullScreen, handlePlayPause } from \"../redux/actions/controller.actions\";\r\nimport { handleSubtitle } from \"../redux/actions/videoData.actions\";\r\nimport store from \"../redux/store\";\r\nimport useKeyPress from \"./useKeyPress\";\r\n\r\nconst useHandleKeyPress = () => {\r\n useKeyPress(\"Space\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeySpace)) handlePlayPause(event);\r\n });\r\n useKeyPress(\"ArrowRight\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowRight)) handleBackwardForward(\"forward\", 15, event);\r\n });\r\n useKeyPress(\"ArrowLeft\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowLeft)) handleBackwardForward(\"backward\", 15, event);\r\n });\r\n useKeyPress(\"KeyI\", () => {\r\n if (conditions(ConditionName.isPressKeyI)) mainPlayerVideoTag().requestPictureInPicture();\r\n });\r\n useKeyPress(\"KeyF\", () => {\r\n if (conditions(ConditionName.isPressKeyF)) handleFullScreen();\r\n });\r\n useKeyPress(\"KeyM\", () => {\r\n if (conditions(ConditionName.isPressKeyM)) {\r\n const { settings } = store.getState().user;\r\n handleChangeSoundVolume(settings.volume ? 0 : 50);\r\n }\r\n });\r\n useKeyPress(\"KeyC\", () => {\r\n if (conditions(ConditionName.isPressKeyC)) handleSubtitle();\r\n });\r\n};\r\n\r\nexport default useHandleKeyPress;\r\n","import { useEffect, useRef } from \"react\";\r\n\r\nconst useKeyPress = (key: string, cb: any) => {\r\n const callbackRef = useRef(cb);\r\n\r\n useEffect(() => {\r\n callbackRef.current = cb;\r\n }, []);\r\n\r\n useEffect(() => {\r\n const handleKeyPress = (event: any) => {\r\n if (event.code === key && ![\"INPUT\", \"TEXTAREA\"].includes(event.target.nodeName) && !event.target.isContentEditable) callbackRef.current(event);\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleKeyPress);\r\n\r\n return () => document.removeEventListener(\"keydown\", handleKeyPress);\r\n }, [key]);\r\n};\r\nexport default useKeyPress;\r\n","import React from \"react\";\r\nimport { errorLogProvider } from \"./errorBoundaryFunctions\";\r\n\r\nclass ErrorBoundary extends React.Component {\r\n state = { hasError: false, error: null, errorInfo: null };\r\n\r\n static getDerivedStateFromError(error: any) {\r\n // Update state so the next render will show the fallback UI.\r\n return { hasError: true };\r\n }\r\n\r\n componentDidCatch(error: any, errorInfo: any) {\r\n // You can also log the error to an error reporting service\r\n this.setState({ error: error, errorInfo: errorInfo });\r\n errorLogProvider({ type: \"OTHER_ERROR\", message: error.message });\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n return <></>;\r\n }\r\n\r\n return (this.props as any).children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IMiniPlayerParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport { MiniPlayer } from \"./components/custom-components/miniPlayer/miniPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const MiniPlayerLibrary = ({\r\n params,\r\n}: {\r\n params: IMiniPlayerParams;\r\n}) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <MiniPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport Image from \"next/legacy/image\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { ConditionName, zIndex } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { useEffect } from \"react\";\r\nimport { IMiniPlayerParams } from \"../../../helpers/interfaces/interfaces\";\r\nimport { setMiniPlayerInfo } from \"../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport MiniPlayerPlayPause from \"../playPause/miniPlayerPlayPause\";\r\nimport VideoTag from \"./videoTag/videoTag\";\r\nimport { getVodDetails } from \"../../../helpers/redux/actions/videoData.actions\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../helpers/constants\";\r\nimport { setCurrentTime } from \"../../../helpers/redux/slices/controllerSlice\";\r\n\r\nexport const MiniPlayer = ({ params }: { params: IMiniPlayerParams }) => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector(state => state.miniPlayer.details);\r\n const miniPlayerParams = useAppSelector(state => state.miniPlayer.params);\r\n useAppSelector(state => state.miniPlayer.play);\r\n const mainPlayerParams = useAppSelector(state => state.videoData.params);\r\n \r\n useEffect(() => {\r\n dispatch(setMiniPlayerInfo(params));\r\n },[])\r\n\r\n const handleGetDetail = async () => await getVodDetails(params.id);\r\n\r\n useEffect(() => {\r\n if(params.id && params.type === \"vod\") handleGetDetail();\r\n },[params.id])\r\n\r\n return (\r\n <>\r\n {details.stream_link || (miniPlayerParams.type === \"static\" && !!miniPlayerParams.id) ? (\r\n <div id=\"miniPlayer-video-area\" style={{zIndex: zIndex.miniPlayer}} className=\"pl-relative pl-w-full pl-h-full\">\r\n <div \r\n className={`pl-absolute pl-z-[1000000] pl-top-3 pl-right-3 pl-cursor-pointer ${conditions(ConditionName.isActiveElements) ? \"animate__fadeIn pl-pointer-events-auto\" : \"animate__fadeOut pl-pointer-events-none\" }`} \r\n onClick={() => {\r\n if(mainPlayerParams.id === miniPlayerParams.id) {\r\n mainPlayerVideoTag().currentTime = miniPlayerVideoTag().currentTime;\r\n dispatch(setCurrentTime(miniPlayerVideoTag().currentTime));\r\n }\r\n localStorage.setItem(\"close-miniPlayer\", \"true\");\r\n params.onClose();\r\n }}\r\n > \r\n <Image\r\n className=\"pl-cursor-pointer\"\r\n src={IMAGES.closeSquare}\r\n alt=\"close-square\"\r\n width={16}\r\n height={16}\r\n />\r\n </div>\r\n <div className={`pl-w-full pl-absolute pl-bottom-0 animate__animated animate__faster pl-z-[1000000] ${conditions(ConditionName.isActiveElements) && !conditions(ConditionName.isLoading)\r\n ? \"animate__fadeIn pl-pointer-events-auto\"\r\n : \"animate__fadeOut pl-pointer-events-none\"\r\n }`}>\r\n <div className=\"pl-w-full pl-flex pl-justify-center\">\r\n <MiniPlayerPlayPause />\r\n </div>\r\n </div>\r\n <VideoTag />\r\n </div>\r\n ) : (\r\n <div className=\"pl-w-full pl-h-full pl-bg-white\" />\r\n )}\r\n\r\n </>\r\n )\r\n}","import { shallowEqual } from \"react-redux\";\r\nimport { useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { handlePlayerPauseMiniPlayer } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport Image from \"next/legacy/image\";\r\n\r\nconst MiniPlayerPlayPause = () => {\r\n useAppSelector(({ miniPlayer: { play } }) => ({ play }), shallowEqual);\r\n\r\n return (\r\n <div\r\n className={`${!conditions(ConditionName.isTouchScreen) && \"hover:pl-scale-125\"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`}\r\n onContextMenu={(event) => event.preventDefault()}\r\n >\r\n <Image\r\n alt=\"\"\r\n src={conditions(ConditionName.isPlayMiniPlayer) ? IMAGES.bigPause : IMAGES.bigPlay}\r\n width={20}\r\n height={20}\r\n onClick={(event: any) => handlePlayerPauseMiniPlayer(event)}\r\n onDoubleClick={(event: any) => event.stopPropagation()}\r\n className={`${conditions(ConditionName.isPlayMiniPlayer) ? \"pl-big-play-icon\" : \"pl-big-pause-icon\"}`}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default MiniPlayerPlayPause;\r\n","import { PlayerTypes } from \"../../../../helpers/interfaces/enums\";\r\nimport { useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport MiniPlayerNonStaticVideoTag from \"./miniPlayerNonStaticVideoTag\";\r\nimport MiniPlayerStaticVideoTag from \"./miniPlayerStaticVideoTag\";\r\n\r\nconst VideoTag = () => {\r\n \r\n const type = useAppSelector(state => state.miniPlayer.params.type);\r\n return (\r\n <>{type === PlayerTypes.static ? <MiniPlayerStaticVideoTag /> : <MiniPlayerNonStaticVideoTag />}</>\r\n )\r\n}\r\n\r\nexport default VideoTag;","import Hls from \"hls.js\";\r\nimport { useEffect } from \"react\";\r\nimport {\r\n appendQueryParamsToChunksIOS,\r\n handleMiniPlayerHlsConfig,\r\n handleMiniPlayerMediaAttached,\r\n handleVideoError,\r\n} from \"../../../../helpers/redux/actions/playerCore.actions\";\r\nimport {\r\n useAppDispatch,\r\n useAppSelector,\r\n} from \"../../../../helpers/redux/hooks\";\r\nimport {\r\n mainPlayerVideoTag,\r\n miniPlayerVideoTag,\r\n} from \"../../../../helpers/constants\";\r\nimport {\r\n setClearMiniPlayerSlice,\r\n setPlayMiniPlayer,\r\n} from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\n\r\nconst MiniPlayerNonStaticVideoTag = () => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector((state) => state.miniPlayer.details);\r\n const params = useAppSelector((state) => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n let hls = new Hls(handleMiniPlayerHlsConfig());\r\n if (Hls.isSupported()) {\r\n hls.attachMedia(\r\n document.getElementById(`mini-player-video-tag`) as HTMLMediaElement\r\n );\r\n hls.on(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n } else if (\r\n mainPlayerVideoTag().canPlayType(\"application/vnd.apple.mpegurl\")\r\n ) {\r\n mainPlayerVideoTag().src = details.stream_link!;\r\n\r\n // Append Query Parameter to .ts Chunks\r\n appendQueryParamsToChunksIOS();\r\n }\r\n return () => {\r\n dispatch(setClearMiniPlayerSlice());\r\n hls.detachMedia();\r\n hls.off(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag().pause();\r\n }\r\n }, [params.currentTime]);\r\n\r\n return (\r\n <>\r\n <video\r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n poster={params.banner ? params.banner : details.banner}\r\n id={`mini-player-video-tag`}\r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay={true}\r\n muted={true}\r\n />\r\n </>\r\n );\r\n};\r\n\r\nexport default MiniPlayerNonStaticVideoTag;\r\n","import { useEffect } from \"react\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../../helpers/constants\";\r\nimport { setPlayMiniPlayer } from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\nimport { handleVideoError } from \"../../../../helpers/redux/actions/playerCore.actions\";\r\n\r\nconst MiniPlayerStaticVideoTag = () => {\r\n\r\n const dispatch = useAppDispatch();\r\n const params = useAppSelector(state => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n if(params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag().pause();\r\n }\r\n },[params.currentTime])\r\n\r\n return (\r\n <video \r\n poster={params.banner} \r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n src={params.id} \r\n id={`mini-player-video-tag`} \r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay\r\n />\r\n )\r\n}\r\n\r\nexport default MiniPlayerStaticVideoTag;"]}
1
+ {"version":3,"sources":["../src/videoPlayerLibrary/index.ts","../src/videoPlayerLibrary/videoPlayerLibrary.tsx","../src/videoPlayerLibrary/components/videoPlayer/videoPlayer.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleParams.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleKeyPress.tsx","../src/videoPlayerLibrary/helpers/hooks/useKeyPress.tsx","../src/videoPlayerLibrary/helpers/errorBoundary/errorBoundary.tsx","../src/videoPlayerLibrary/miniPlayerLibrary.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/miniPlayer.tsx","../src/videoPlayerLibrary/components/custom-components/playPause/miniPlayerPlayPause.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/videoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerNonStaticVideoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerStaticVideoTag.tsx"],"names":["init_esm_shims","useHandleParams","query","dispatch","useAppDispatch","queryParams","handleSetParamsInRedux","setPlayerParams","setIsReady","handleAddUUID","handleVodParams","handleStaticParams","getUUID","handleParams","useEffect","useHandleParams_default","useKeyPress","key","cb","callbackRef","useRef","handleKeyPress","event","useKeyPress_default","useHandleKeyPress","conditions","handlePlayPause","handleBackwardForward","mainPlayerVideoTag","handleFullScreen","settings","store_default","handleChangeSoundVolume","handleSubtitle","useHandleKeyPress_default","StaticPlayer","dynamic","VodPlayer","VideoPlayer","props","params","useAppSelector","isReady","shallowEqual","clearRedux","isFullScreen","element","jsx","Fragment","videoPlayer_default","ErrorBoundary","React","error","errorInfo","errorLogProvider","errorBoundary_default","VideoPlayerLibrary","Provider","MiniPlayerPlayPause","play","Image","importImages_default","handlePlayerPauseMiniPlayer","miniPlayerPlayPause_default","MiniPlayerNonStaticVideoTag","details","state","hls","Hls","handleMiniPlayerHlsConfig","handleMiniPlayerMediaAttached","appendQueryParamsToChunksIOS","setClearMiniPlayerSlice","setPlayMiniPlayer","miniPlayerVideoTag","setPlay","handleVideoError","miniPlayerNonStaticVideoTag_default","MiniPlayerStaticVideoTag","miniPlayerStaticVideoTag_default","VideoTag","type","videoTag_default","MiniPlayer","miniPlayerParams","mainPlayerParams","setMiniPlayerInfo","handleGetDetail","getVodDetails","jsxs","setCurrentTime","MiniPlayerLibrary"],"mappings":"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","file":"index.mjs","sourcesContent":["export { VideoPlayerLibrary } from \"./videoPlayerLibrary\";\r\nexport { MiniPlayerLibrary } from \"./miniPlayerLibrary\";\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport VideoPlayer from \"./components/videoPlayer/videoPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const VideoPlayerLibrary = ({ params }: { params: IParams }) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <VideoPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport { conditions } from \"../../helpers/conditions/conditions\";\r\nimport useHandleParams from \"../../helpers/hooks/useHandleParams\";\r\nimport { ConditionName, PlayerTypes, zIndex } from \"../../helpers/interfaces/enums\";\r\nimport { IParams } from \"../../helpers/interfaces/interfaces\";\r\nimport { useAppSelector } from \"../../helpers/redux/hooks\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport dynamic from \"next/dynamic\";\r\nimport useHandleKeyPress from \"../../helpers/hooks/useHandleKeyPress\";\r\nimport { useEffect } from \"react\";\r\nimport { clearRedux } from \"../../helpers/helpers\";\r\nimport { mainPlayerVideoTag } from \"../../helpers/constants\";\r\n\r\nconst StaticPlayer = dynamic(() => import(\"./staticPlayer/staticPlayer\"));\r\nconst VodPlayer = dynamic(() => import(\"./vodPlayer/vodPlayer\"));\r\n\r\ninterface IProps {\r\n params: IParams;\r\n}\r\n\r\nconst VideoPlayer = (props: IProps) => {\r\n \r\n const {params} = useAppSelector(({ videoData: { isReady, params } }) => ({ isReady, params }), shallowEqual);\r\n useEffect(() => {\r\n if(params.id && props.params.id !== params.id) {\r\n if(params.type === PlayerTypes.static) {\r\n mainPlayerVideoTag().pause();\r\n mainPlayerVideoTag().removeAttribute(\"src\");\r\n mainPlayerVideoTag().load();\r\n }\r\n clearRedux();\r\n } \r\n return () => clearRedux();\r\n },[props.params.id])\r\n\r\n useHandleParams(props.params);\r\n useHandleKeyPress();\r\n useAppSelector(({ controller: { isFullScreen } }) => ({ isFullScreen }), shallowEqual);\r\n \r\n\r\n let element = <></>;\r\n if (conditions(ConditionName.isReady)) {\r\n element = (\r\n <div\r\n className={`!pl-select-none ${!conditions(ConditionName.isTouchScreen) && \"pl-rounded-[12px]\"} ${conditions(ConditionName.isFullScreen) && \"!pl-overflow-hidden pl-fixed pl-top-0 pl-right-0 pl-w-screen pl-h-screen\"}`}\r\n style={{ zIndex: zIndex.videoPlayerInFullScreen, touchAction: \"pan-y\" }}\r\n >\r\n {conditions(ConditionName.isStaticFormat) ? (\r\n <StaticPlayer />\r\n ) : (\r\n <VodPlayer />\r\n )}\r\n </div>\r\n );\r\n } else element = <div className=\"pl-w-full !pl-aspect-video pl-bg-white pl-overflow-hidden pl-max-h-screen pl-rounded-[12px]\" />;\r\n\r\n return (\r\n <div dir=\"rtl\" className=\"pl-rounded-[12px] pl-w-full pl-h-full\" id=\"parent-player\">{element}</div>\r\n )\r\n}\r\n\r\nexport default VideoPlayer;","\"use client\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { getUUID } from \"../helpers\";\r\nimport { useAppDispatch } from \"../redux/hooks\";\r\nimport { IParams } from \"../interfaces/interfaces\";\r\nimport { setIsReady, setPlayerParams } from \"../redux/slices/videoDataSlice\";\r\nimport { PlayerTypes } from \"../interfaces/enums\";\r\n\r\nconst useHandleParams = (query: any) => {\r\n const dispatch = useAppDispatch();\r\n\r\n let queryParams: IParams = {};\r\n\r\n const handleSetParamsInRedux = () => {\r\n dispatch(setPlayerParams(queryParams));\r\n dispatch(setIsReady(true));\r\n };\r\n\r\n const handleAddUUID = () => {\r\n if (!!query.uuid) {\r\n localStorage.setItem(\"hamrahiUUID\", query.uuid!);\r\n queryParams.uuid = query.uuid;\r\n }\r\n };\r\n\r\n const handleVodParams = () => {\r\n queryParams = {\r\n provider: \"cafevdo\",\r\n ...query,\r\n };\r\n };\r\n\r\n const handleStaticParams = () => {\r\n queryParams = {\r\n id: window.atob(query.id),\r\n type: query.type,\r\n fullscreen: query.fullscreen,\r\n autoplay: query.autoplay,\r\n banner:\r\n query.banner && query.banner !== \"undefined\" ? query.banner : undefined,\r\n uuid: getUUID(),\r\n bannerAlt: query.bannerAlt,\r\n provider: \"cafevdo\",\r\n onFinished: query.onFinished,\r\n onClickMiniPlayerIcon: query.onClickMiniPlayerIcon,\r\n currentTime: query.currentTime,\r\n subtitles: query.subtitles,\r\n daaniHashCode: query.daaniHashCode\r\n };\r\n };\r\n\r\n const handleParams = async () => {\r\n queryParams = {};\r\n if (Object.keys(query).includes(\"type\")) {\r\n if (String(query.type) === PlayerTypes.vod) handleVodParams();\r\n else if (String(query.type) === PlayerTypes.static) handleStaticParams();\r\n handleAddUUID();\r\n handleSetParamsInRedux();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n handleParams();\r\n }, [query]);\r\n};\r\n\r\nexport default useHandleParams;\r\n","import { conditions } from \"../conditions/conditions\";\r\nimport { mainPlayerVideoTag } from \"../constants\";\r\nimport { ConditionName } from \"../interfaces/enums\";\r\nimport { handleBackwardForward, handleChangeSoundVolume, handleFullScreen, handlePlayPause } from \"../redux/actions/controller.actions\";\r\nimport { handleSubtitle } from \"../redux/actions/videoData.actions\";\r\nimport store from \"../redux/store\";\r\nimport useKeyPress from \"./useKeyPress\";\r\n\r\nconst useHandleKeyPress = () => {\r\n useKeyPress(\"Space\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeySpace)) handlePlayPause(event);\r\n });\r\n useKeyPress(\"ArrowRight\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowRight)) handleBackwardForward(\"forward\", 15, event);\r\n });\r\n useKeyPress(\"ArrowLeft\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowLeft)) handleBackwardForward(\"backward\", 15, event);\r\n });\r\n useKeyPress(\"KeyI\", () => {\r\n if (conditions(ConditionName.isPressKeyI)) mainPlayerVideoTag().requestPictureInPicture();\r\n });\r\n useKeyPress(\"KeyF\", () => {\r\n if (conditions(ConditionName.isPressKeyF)) handleFullScreen();\r\n });\r\n useKeyPress(\"KeyM\", () => {\r\n if (conditions(ConditionName.isPressKeyM)) {\r\n const { settings } = store.getState().user;\r\n handleChangeSoundVolume(settings.volume ? 0 : 50);\r\n }\r\n });\r\n useKeyPress(\"KeyC\", () => {\r\n if (conditions(ConditionName.isPressKeyC)) handleSubtitle();\r\n });\r\n};\r\n\r\nexport default useHandleKeyPress;\r\n","import { useEffect, useRef } from \"react\";\r\n\r\nconst useKeyPress = (key: string, cb: any) => {\r\n const callbackRef = useRef(cb);\r\n\r\n useEffect(() => {\r\n callbackRef.current = cb;\r\n }, []);\r\n\r\n useEffect(() => {\r\n const handleKeyPress = (event: any) => {\r\n if (event.code === key && ![\"INPUT\", \"TEXTAREA\"].includes(event.target.nodeName) && !event.target.isContentEditable) callbackRef.current(event);\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleKeyPress);\r\n\r\n return () => document.removeEventListener(\"keydown\", handleKeyPress);\r\n }, [key]);\r\n};\r\nexport default useKeyPress;\r\n","import React from \"react\";\r\nimport { errorLogProvider } from \"./errorBoundaryFunctions\";\r\n\r\nclass ErrorBoundary extends React.Component {\r\n state = { hasError: false, error: null, errorInfo: null };\r\n\r\n static getDerivedStateFromError(error: any) {\r\n // Update state so the next render will show the fallback UI.\r\n return { hasError: true };\r\n }\r\n\r\n componentDidCatch(error: any, errorInfo: any) {\r\n // You can also log the error to an error reporting service\r\n this.setState({ error: error, errorInfo: errorInfo });\r\n errorLogProvider({ type: \"OTHER_ERROR\", message: error.message });\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n return <></>;\r\n }\r\n\r\n return (this.props as any).children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IMiniPlayerParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport { MiniPlayer } from \"./components/custom-components/miniPlayer/miniPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const MiniPlayerLibrary = ({\r\n params,\r\n}: {\r\n params: IMiniPlayerParams;\r\n}) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <MiniPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport Image from \"next/legacy/image\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { ConditionName, zIndex } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { useEffect } from \"react\";\r\nimport { IMiniPlayerParams } from \"../../../helpers/interfaces/interfaces\";\r\nimport { setMiniPlayerInfo } from \"../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport MiniPlayerPlayPause from \"../playPause/miniPlayerPlayPause\";\r\nimport VideoTag from \"./videoTag/videoTag\";\r\nimport { getVodDetails } from \"../../../helpers/redux/actions/videoData.actions\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../helpers/constants\";\r\nimport { setCurrentTime } from \"../../../helpers/redux/slices/controllerSlice\";\r\n\r\nexport const MiniPlayer = ({ params }: { params: IMiniPlayerParams }) => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector(state => state.miniPlayer.details);\r\n const miniPlayerParams = useAppSelector(state => state.miniPlayer.params);\r\n useAppSelector(state => state.miniPlayer.play);\r\n const mainPlayerParams = useAppSelector(state => state.videoData.params);\r\n \r\n useEffect(() => {\r\n dispatch(setMiniPlayerInfo(params));\r\n },[])\r\n\r\n const handleGetDetail = async () => await getVodDetails(params.id);\r\n\r\n useEffect(() => {\r\n if(params.id && params.type === \"vod\") handleGetDetail();\r\n },[params.id])\r\n\r\n return (\r\n <>\r\n {details.stream_link || (miniPlayerParams.type === \"static\" && !!miniPlayerParams.id) ? (\r\n <div id=\"miniPlayer-video-area\" style={{zIndex: zIndex.miniPlayer}} className=\"pl-relative pl-w-full pl-h-full\">\r\n <div \r\n className={`pl-absolute pl-z-[1000000] pl-top-3 pl-right-3 pl-cursor-pointer ${conditions(ConditionName.isActiveElements) ? \"animate__fadeIn pl-pointer-events-auto\" : \"animate__fadeOut pl-pointer-events-none\" }`} \r\n onClick={() => {\r\n if(mainPlayerParams.id === miniPlayerParams.id) {\r\n mainPlayerVideoTag().currentTime = miniPlayerVideoTag().currentTime;\r\n dispatch(setCurrentTime(miniPlayerVideoTag().currentTime));\r\n }\r\n localStorage.setItem(\"close-miniPlayer\", \"true\");\r\n params.onClose();\r\n }}\r\n > \r\n <Image\r\n className=\"pl-cursor-pointer\"\r\n src={IMAGES.closeSquare}\r\n alt=\"close-square\"\r\n width={16}\r\n height={16}\r\n />\r\n </div>\r\n <div className={`pl-w-full pl-absolute pl-bottom-0 animate__animated animate__faster pl-z-[1000000] ${conditions(ConditionName.isActiveElements) && !conditions(ConditionName.isLoading)\r\n ? \"animate__fadeIn pl-pointer-events-auto\"\r\n : \"animate__fadeOut pl-pointer-events-none\"\r\n }`}>\r\n <div className=\"pl-w-full pl-flex pl-justify-center\">\r\n <MiniPlayerPlayPause />\r\n </div>\r\n </div>\r\n <VideoTag />\r\n </div>\r\n ) : (\r\n <div className=\"pl-w-full pl-h-full pl-bg-white\" />\r\n )}\r\n\r\n </>\r\n )\r\n}","import { shallowEqual } from \"react-redux\";\r\nimport { useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { handlePlayerPauseMiniPlayer } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport Image from \"next/legacy/image\";\r\n\r\nconst MiniPlayerPlayPause = () => {\r\n useAppSelector(({ miniPlayer: { play } }) => ({ play }), shallowEqual);\r\n\r\n return (\r\n <div\r\n className={`${!conditions(ConditionName.isTouchScreen) && \"hover:pl-scale-125\"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`}\r\n onContextMenu={(event) => event.preventDefault()}\r\n >\r\n <Image\r\n alt=\"\"\r\n src={conditions(ConditionName.isPlayMiniPlayer) ? IMAGES.bigPause : IMAGES.bigPlay}\r\n width={20}\r\n height={20}\r\n onClick={(event: any) => handlePlayerPauseMiniPlayer(event)}\r\n onDoubleClick={(event: any) => event.stopPropagation()}\r\n className={`${conditions(ConditionName.isPlayMiniPlayer) ? \"pl-big-play-icon\" : \"pl-big-pause-icon\"}`}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default MiniPlayerPlayPause;\r\n","import { PlayerTypes } from \"../../../../helpers/interfaces/enums\";\r\nimport { useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport MiniPlayerNonStaticVideoTag from \"./miniPlayerNonStaticVideoTag\";\r\nimport MiniPlayerStaticVideoTag from \"./miniPlayerStaticVideoTag\";\r\n\r\nconst VideoTag = () => {\r\n \r\n const type = useAppSelector(state => state.miniPlayer.params.type);\r\n return (\r\n <>{type === PlayerTypes.static ? <MiniPlayerStaticVideoTag /> : <MiniPlayerNonStaticVideoTag />}</>\r\n )\r\n}\r\n\r\nexport default VideoTag;","import Hls from \"hls.js\";\r\nimport { useEffect } from \"react\";\r\nimport {\r\n appendQueryParamsToChunksIOS,\r\n handleMiniPlayerHlsConfig,\r\n handleMiniPlayerMediaAttached,\r\n handleVideoError,\r\n} from \"../../../../helpers/redux/actions/playerCore.actions\";\r\nimport {\r\n useAppDispatch,\r\n useAppSelector,\r\n} from \"../../../../helpers/redux/hooks\";\r\nimport {\r\n mainPlayerVideoTag,\r\n miniPlayerVideoTag,\r\n} from \"../../../../helpers/constants\";\r\nimport {\r\n setClearMiniPlayerSlice,\r\n setPlayMiniPlayer,\r\n} from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\n\r\nconst MiniPlayerNonStaticVideoTag = () => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector((state) => state.miniPlayer.details);\r\n const params = useAppSelector((state) => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n let hls = new Hls(handleMiniPlayerHlsConfig());\r\n if (Hls.isSupported()) {\r\n hls.attachMedia(\r\n document.getElementById(`mini-player-video-tag`) as HTMLMediaElement\r\n );\r\n hls.on(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n } else if (\r\n mainPlayerVideoTag().canPlayType(\"application/vnd.apple.mpegurl\")\r\n ) {\r\n mainPlayerVideoTag().src = details.stream_link!;\r\n\r\n // Append Query Parameter to .ts Chunks\r\n appendQueryParamsToChunksIOS();\r\n }\r\n return () => {\r\n dispatch(setClearMiniPlayerSlice());\r\n hls.detachMedia();\r\n hls.off(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag().pause();\r\n }\r\n }, [params.currentTime]);\r\n\r\n return (\r\n <>\r\n <video\r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n poster={params.banner ? params.banner : details.banner}\r\n id={`mini-player-video-tag`}\r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay={true}\r\n muted={true}\r\n />\r\n </>\r\n );\r\n};\r\n\r\nexport default MiniPlayerNonStaticVideoTag;\r\n","import { useEffect } from \"react\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../../helpers/constants\";\r\nimport { setPlayMiniPlayer } from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\nimport { handleVideoError } from \"../../../../helpers/redux/actions/playerCore.actions\";\r\n\r\nconst MiniPlayerStaticVideoTag = () => {\r\n\r\n const dispatch = useAppDispatch();\r\n const params = useAppSelector(state => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n if(params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag().pause();\r\n }\r\n },[params.currentTime])\r\n\r\n return (\r\n <video \r\n poster={params.banner} \r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n src={params.id} \r\n id={`mini-player-video-tag`} \r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay\r\n />\r\n )\r\n}\r\n\r\nexport default MiniPlayerStaticVideoTag;"]}
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkAOOXGUAJ_js=require('./chunk-AOOXGUAJ.js'),chunkQHLPSV6I_js=require('./chunk-QHLPSV6I.js'),chunk4WSW2YML_js=require('./chunk-4WSW2YML.js'),chunkQHZJEU27_js=require('./chunk-QHZJEU27.js'),chunk2UQZ2IND_js=require('./chunk-2UQZ2IND.js'),chunkWG7PYZXW_js=require('./chunk-WG7PYZXW.js'),chunkWO4IQUGO_js=require('./chunk-WO4IQUGO.js'),d=require('hls.js'),react=require('react'),reactRedux=require('react-redux'),De=require('next/legacy/image'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var d__default=/*#__PURE__*/_interopDefault(d);var De__default=/*#__PURE__*/_interopDefault(De);chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var Pe=()=>{let i=null,{isEnded:o}=chunkWG7PYZXW_js.ea(({controller:{isEnded:E}})=>({isEnded:E}),reactRedux.shallowEqual);react.useEffect(()=>(i=setInterval(()=>chunkAOOXGUAJ_js.a(),chunkQHZJEU27_js.c),()=>clearInterval(i)),[]),react.useEffect(()=>{chunkWG7PYZXW_js.ca("isEnded")&&clearInterval(i);},[o]);},ie=Pe;chunkWO4IQUGO_js.e();var Le=i=>{let[o,E]=react.useState([]),[l,m]=react.useState(0),{qualityLevels:s}=chunkWG7PYZXW_js.ea(({controller:{qualityLevels:t}})=>({qualityLevels:t}),reactRedux.shallowEqual);react.useEffect(()=>{if(i){let t=[];switch(o.length){case 0:t=[i];break;case 1:t=[i,...o];break;case 2:t=[i,...o],chunkWG7PYZXW_js.la(chunkWG7PYZXW_js.va(`${t[0]}P`,`${t[1]}P`,s.indexOf(t[0])-s.indexOf(t[1])));break;default:t=[i,o[0],o[1]],t[1]!==t[2]&&chunkWG7PYZXW_js.la(chunkWG7PYZXW_js.va(`${t[1]}P`,`${t[2]}P`,s.indexOf(t[1])-s.indexOf(t[2])));break}E(t);}},[i]),react.useEffect(()=>{o.length===3&&o[0]===o[2]?(chunkWG7PYZXW_js.la(chunkWG7PYZXW_js.wa(l,o)),E([]),m(0)):m(new Date().getTime());},[o]);},le=Le;chunkWO4IQUGO_js.e();var Ae=()=>{react.useEffect(()=>{let i=()=>{chunkAOOXGUAJ_js.a();};return window.addEventListener("beforeunload",i),()=>window.removeEventListener("beforeunload",i)},[]);},me=Ae;var Te=()=>{let[i,o]=react.useState(void 0),E=chunkWG7PYZXW_js.da(),{params:l,details:m,videoElementSizeInfo:s}=chunkWG7PYZXW_js.ea(({videoData:{params:e,details:a,videoElementSizeInfo:r}})=>({params:e,details:a,videoElementSizeInfo:r}),reactRedux.shallowEqual),{currentTime:t,duration:pe}=chunkWG7PYZXW_js.ea(({controller:{currentTime:e,duration:a,isEnded:r,firstPlay:he}})=>({currentTime:e,duration:a,isEnded:r,firstPlay:he}),reactRedux.shallowEqual),g=react.useRef(null),ce=react.useRef(0),y=react.useRef(0),V=react.useRef(0),F=react.useRef(0),H=react.useRef(0),Ee=react.useRef(1),ye=react.useRef(chunkWG7PYZXW_js.fa()?chunkWG7PYZXW_js.fa().currentTime:0);return ie(),me(),react.useLayoutEffect(()=>{let e=new d__default.default(chunk4WSW2YML_js.c());return chunkWG7PYZXW_js.X(H),V.current=Date.now(),d__default.default.isSupported()?(e.attachMedia(chunkWG7PYZXW_js.fa()),e.on(d__default.default.Events.MEDIA_ATTACHED,()=>chunk4WSW2YML_js.f(d__default.default,e)),e.on(d__default.default.Events.FRAG_BUFFERED,()=>chunk4WSW2YML_js.g(e)),e.on(d__default.default.Events.FRAG_CHANGED,(a,r)=>chunk4WSW2YML_js.h(e,r,o)),e.on(d__default.default.Events.FRAG_PARSED,(a,r)=>chunk4WSW2YML_js.i(e,r,o)),e.on(d__default.default.Events.ERROR,(a,r)=>chunkWG7PYZXW_js.Ca(chunk4WSW2YML_js.j(r))),chunkWG7PYZXW_js.fa().addEventListener("waiting",a=>chunk4WSW2YML_js.k(a,y)),chunkWG7PYZXW_js.fa().addEventListener("seeking",a=>chunk4WSW2YML_js.l(a,y)),chunkWG7PYZXW_js.fa().addEventListener("play",a=>chunk4WSW2YML_js.m(a,g)),chunkWG7PYZXW_js.fa().addEventListener("playing",()=>chunk4WSW2YML_js.n(Ee,H,V,F,g,ce,y,ye)),chunkWG7PYZXW_js.fa().addEventListener("pause",chunk4WSW2YML_js.o),chunkWG7PYZXW_js.fa().addEventListener("timeupdate",chunk4WSW2YML_js.p),chunkWG7PYZXW_js.fa().addEventListener("canplay",chunk4WSW2YML_js.q),chunkWG7PYZXW_js.fa().addEventListener("ended",chunk4WSW2YML_js.r),chunkWG7PYZXW_js.fa().addEventListener("error",chunk4WSW2YML_js.a),document.addEventListener("visibilitychange",chunk4WSW2YML_js.D)):chunkWG7PYZXW_js.fa().canPlayType("application/vnd.apple.mpegurl")&&(chunkWG7PYZXW_js.fa().src=m.stream_link,chunkWG7PYZXW_js.fa().addEventListener("waiting",a=>chunk4WSW2YML_js.k(a,y)),chunkWG7PYZXW_js.fa().addEventListener("play",a=>chunk4WSW2YML_js.s(a,g)),chunkWG7PYZXW_js.fa().addEventListener("playing",chunk4WSW2YML_js.t),chunkWG7PYZXW_js.fa().addEventListener("canplay",chunk4WSW2YML_js.q),chunkWG7PYZXW_js.fa().addEventListener("timeupdate",chunk4WSW2YML_js.u),chunkWG7PYZXW_js.fa().addEventListener("ended",chunk4WSW2YML_js.v),chunkWG7PYZXW_js.fa().addEventListener("pause",chunk4WSW2YML_js.o),chunk4WSW2YML_js.b()),()=>{chunk2UQZ2IND_js.b(),e.detachMedia(),e.off(d__default.default.Events.MEDIA_ATTACHED,()=>chunk4WSW2YML_js.f(d__default.default,e)),e.off(d__default.default.Events.FRAG_BUFFERED,()=>chunk4WSW2YML_js.g(e)),e.off(d__default.default.Events.FRAG_CHANGED,(a,r)=>chunk4WSW2YML_js.h(e,r,o)),e.off(d__default.default.Events.FRAG_PARSED,(a,r)=>chunk4WSW2YML_js.i(e,r,o)),e.off(d__default.default.Events.ERROR,(a,r)=>chunk4WSW2YML_js.j(r)),e.off(d__default.default.Events.MANIFEST_PARSED,(a,r)=>chunk4WSW2YML_js.e(e,r)),document.removeEventListener("visibilitychange",chunk4WSW2YML_js.D);}},[m.stream_link]),react.useEffect(()=>{t<pe&&chunkWG7PYZXW_js.ca("isEnded")&&E(chunkWG7PYZXW_js.p(!1));},[t]),react.useEffect(()=>{chunkWG7PYZXW_js.ca("hasPlayStatusParams")&&(l.playStatus?chunkWG7PYZXW_js.fa().play():chunkWG7PYZXW_js.fa().pause());},[l.playStatus]),le(i),chunkQHLPSV6I_js.b(),chunkQHLPSV6I_js.a(),jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsxs("video",{poster:l.banner?l.banner:m.banner,preload:"metadata",crossOrigin:"anonymous",id:"player-tag",playsInline:!0,className:"pl-items-center pl-flex-1 pl-h-full",style:{width:"100%",height:"100%",maxWidth:s.width?s.width:"100%",maxHeight:s.width?s.width<s.height?s.width*9/16:s.width*16/9:"100%"},autoPlay:chunkWG7PYZXW_js.ca("hasAutoPlay"),children:[jsxRuntime.jsx(De__default.default,{onLoad:()=>F.current=Date.now(),layout:"fill",src:l.banner?l.banner:m.banner,alt:l.bannerAlt?l.bannerAlt:chunkWG7PYZXW_js.ca("isStaticFormat")?"\u0628\u0646\u0631 \u0648\u06CC\u062F\u06CC\u0648 \u067E\u0644\u06CC\u0631 \u06A9\u0627\u0641\u0647 \u0648\u06CC\u062F\u06CC\u0648":m.title}),chunkWG7PYZXW_js.ca("hasSubtitlesInDetails")&&chunkWG7PYZXW_js.Z(m.subtitles).map(e=>jsxRuntime.jsx("track",{id:`player-tracker-${e.lang}`,src:e.url,label:chunkWG7PYZXW_js._(e.lang),kind:"subtitles",srcLang:e.lang},e.id))]})})},vn=Te;module.exports=vn;//# sourceMappingURL=nonStaticVideoTag-I5AI5KU3.js.map
2
+ //# sourceMappingURL=nonStaticVideoTag-I5AI5KU3.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/videoPlayerLibrary/components/custom-components/videoTag/nonStaticVideoTag.tsx","../src/videoPlayerLibrary/helpers/hooks/useContinuousPlaybackInterval.tsx","../src/videoPlayerLibrary/helpers/hooks/usePingPong.tsx","../src/videoPlayerLibrary/helpers/hooks/useBeforeUnload.tsx"],"names":["init_cjs_shims","useContinuousPlaybackInterval","interval","isEnded","useAppSelector","shallowEqual","useEffect","handleContinuousPlayback","continuousePlaybackIntervalTime","conditions","useContinuousPlaybackInterval_default","usePingPong","qualityLevel","qualityHistory","setQualityHistory","useState","startTimer","setStartTimer","qualityLevels","newQualityArray","sendFluentLog","autoQualityChangeLog","pingpongLog","usePingPong_default","useBeforeUnload","handleBeforeUnload","useBeforeUnload_default","NonStaticVideoTag","setQualityLevel","dispatch","useAppDispatch","params","details","videoElementSizeInfo","currentTime","duration","firstPlay","timerRef","useRef","waitingDurationRef","waitingTimerRef","initialWaitingDurationRef","bannerLoadingDurationRef","loadingDurationRef","loadingCounterRef","videoEntranceTimeRef","mainPlayerVideoTag","useLayoutEffect","hls","Hls","handleHlsConfig","handlePageLoadTime","handleMediaAttached","handleFragBuffered","event","data","handleFragChanged","handleFragParsed","errorLogProvider","handleHlsErrors","handleVideoWaiting","handleVideoSeeking","handleVideoPlay","handleVideoPlaying","handleVideoPause","handleVideoTimeUpdate","handleVideoCanPlay","handleVideoEnded","handleVideoError","handleVideoVisibilityChange","handleIosVideoPlay","handleIosVideoPlaying","handleIosVideoTimeUpdate","handleIosVideoEnded","appendQueryParamsToChunksIOS","handlePlayPauseAfterChangeVideo","handleManifestParsed","setIsEnded","useHideSubtitle_default","useJumpToCurrentTime_default","jsx","Fragment","jsxs","Image","sortLanguages","subtitle","getSubtitleLabel","nonStaticVideoTag_default"],"mappings":"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","file":"nonStaticVideoTag-6IOIANAD.js","sourcesContent":["\"use client\";\r\n\r\nimport Hls, { ErrorData, Events } from \"hls.js\";\r\nimport { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport useContinuousPlaybackInterval from \"../../../helpers/hooks/useContinuousPlaybackInterval\";\r\nimport { getSubtitleLabel, handlePageLoadTime, sortLanguages } from \"../../../helpers/helpers\";\r\nimport { appendQueryParamsToChunksIOS, handleFragBuffered, handleFragChanged, handleFragParsed, handleHlsConfig, handleHlsErrors, handleIosVideoEnded, handleIosVideoPlay, handleIosVideoPlaying, handleIosVideoTimeUpdate, handleManifestParsed, handleMediaAttached, handleVideoCanPlay, handleVideoEnded, handleVideoError, handleVideoPause, handleVideoPlay, handleVideoPlaying, handleVideoSeeking, handleVideoTimeUpdate, handleVideoVisibilityChange, handleVideoWaiting } from \"../../../helpers/redux/actions/playerCore.actions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { setIsEnded } from \"../../../helpers/redux/slices/controllerSlice\";\r\nimport usePingPong from \"../../../helpers/hooks/usePingPong\";\r\nimport Image from \"next/legacy/image\";\r\nimport useBeforeUnload from \"../../../helpers/hooks/useBeforeUnload\";\r\nimport { ISubtitle } from \"../../../helpers/interfaces/interfaces\";\r\nimport useHideSubtitle from \"../../../helpers/hooks/useHideSubtitle\";\r\nimport { mainPlayerVideoTag } from \"../../../helpers/constants\";\r\nimport { handlePlayPauseAfterChangeVideo } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport useJumpToCurrentTime from \"../../../helpers/hooks/useJumpToCurrentTime\";\r\nimport { errorLogProvider } from \"../../../helpers/errorBoundary/errorBoundaryFunctions\";\r\n\r\nconst NonStaticVideoTag = () => {\r\n const [qualityLevel, setQualityLevel] = useState<number | undefined>(undefined);\r\n\r\n const dispatch = useAppDispatch();\r\n const { params, details, videoElementSizeInfo } = useAppSelector(\r\n ({ videoData: { params, details, videoElementSizeInfo } }) => ({\r\n params,\r\n details,\r\n videoElementSizeInfo,\r\n }),\r\n shallowEqual\r\n );\r\n const { currentTime, duration } = useAppSelector(\r\n ({ controller: { currentTime, duration, isEnded, firstPlay } }) => ({\r\n currentTime,\r\n duration,\r\n isEnded,\r\n firstPlay,\r\n }),\r\n shallowEqual\r\n );\r\n const timerRef = useRef<any>(null);\r\n const waitingDurationRef = useRef<any>(0);\r\n const waitingTimerRef = useRef<number>(0);\r\n const initialWaitingDurationRef = useRef<any>(0);\r\n const bannerLoadingDurationRef = useRef<any>(0);\r\n const loadingDurationRef = useRef<any>(0);\r\n const loadingCounterRef = useRef<any>(1);\r\n const videoEntranceTimeRef = useRef<any>(mainPlayerVideoTag() ? mainPlayerVideoTag().currentTime : 0);\r\n\r\n useContinuousPlaybackInterval();\r\n useBeforeUnload();\r\n\r\n useLayoutEffect(() => {\r\n let hls = new Hls(handleHlsConfig());\r\n\r\n // ---- Page Load Time ----\r\n handlePageLoadTime(loadingDurationRef);\r\n\r\n initialWaitingDurationRef.current = Date.now();\r\n\r\n if (Hls.isSupported()) {\r\n hls.attachMedia(mainPlayerVideoTag() as HTMLMediaElement);\r\n hls.on(Hls.Events.MEDIA_ATTACHED, () => handleMediaAttached(Hls, hls));\r\n hls.on(Hls.Events.FRAG_BUFFERED, () => handleFragBuffered(hls));\r\n hls.on(Hls.Events.FRAG_CHANGED, (event: any, data: any) => handleFragChanged(hls, data, setQualityLevel));\r\n hls.on(Hls.Events.FRAG_PARSED, (event: any, data: any) => handleFragParsed(hls, data, setQualityLevel));\r\n hls.on(Hls.Events.ERROR, (event: Events.ERROR, data: ErrorData) => errorLogProvider(handleHlsErrors(data)));\r\n\r\n mainPlayerVideoTag().addEventListener(\"waiting\", (event: any) => handleVideoWaiting(event, waitingTimerRef));\r\n mainPlayerVideoTag().addEventListener(\"seeking\", (event: any) => handleVideoSeeking(event, waitingTimerRef));\r\n mainPlayerVideoTag().addEventListener(\"play\", (event: any) => handleVideoPlay(event, timerRef));\r\n mainPlayerVideoTag().addEventListener(\"playing\", () =>\r\n handleVideoPlaying(\r\n loadingCounterRef,\r\n loadingDurationRef,\r\n initialWaitingDurationRef,\r\n bannerLoadingDurationRef,\r\n timerRef,\r\n waitingDurationRef,\r\n waitingTimerRef,\r\n videoEntranceTimeRef\r\n )\r\n );\r\n mainPlayerVideoTag().addEventListener(\"pause\", handleVideoPause);\r\n mainPlayerVideoTag().addEventListener(\"timeupdate\", handleVideoTimeUpdate);\r\n mainPlayerVideoTag().addEventListener(\"canplay\", handleVideoCanPlay);\r\n mainPlayerVideoTag().addEventListener(\"ended\", handleVideoEnded);\r\n mainPlayerVideoTag().addEventListener(\"error\", handleVideoError);\r\n\r\n document.addEventListener(\"visibilitychange\", handleVideoVisibilityChange);\r\n } else if (mainPlayerVideoTag().canPlayType(\"application/vnd.apple.mpegurl\")) {\r\n mainPlayerVideoTag().src = details.stream_link;\r\n\r\n mainPlayerVideoTag().addEventListener(\"waiting\", (event: any) => handleVideoWaiting(event, waitingTimerRef));\r\n mainPlayerVideoTag().addEventListener(\"play\", (event: any) => handleIosVideoPlay(event, timerRef));\r\n mainPlayerVideoTag().addEventListener(\"playing\", handleIosVideoPlaying);\r\n mainPlayerVideoTag().addEventListener(\"canplay\", handleVideoCanPlay);\r\n mainPlayerVideoTag().addEventListener(\"timeupdate\", handleIosVideoTimeUpdate);\r\n mainPlayerVideoTag().addEventListener(\"ended\", handleIosVideoEnded);\r\n mainPlayerVideoTag().addEventListener(\"pause\", handleVideoPause);\r\n\r\n // Append Query Parameter to .ts Chunks\r\n appendQueryParamsToChunksIOS();\r\n }\r\n\r\n return () => {\r\n handlePlayPauseAfterChangeVideo();\r\n hls.detachMedia();\r\n hls.off(Hls.Events.MEDIA_ATTACHED, () => handleMediaAttached(Hls, hls));\r\n hls.off(Hls.Events.FRAG_BUFFERED, () => handleFragBuffered(hls));\r\n hls.off(Hls.Events.FRAG_CHANGED, (event: any, data: any) => handleFragChanged(hls, data, setQualityLevel));\r\n hls.off(Hls.Events.FRAG_PARSED, (event: any, data: any) => handleFragParsed(hls, data, setQualityLevel));\r\n hls.off(Hls.Events.ERROR, (event: any, data: any) => handleHlsErrors(data));\r\n hls.off(Hls.Events.MANIFEST_PARSED, (event: any, data: any) => handleManifestParsed(hls, data));\r\n document.removeEventListener(\"visibilitychange\", handleVideoVisibilityChange);\r\n };\r\n }, [details.stream_link]);\r\n\r\n useEffect(() => {\r\n if (currentTime < duration && conditions(ConditionName.isEnded)) {\r\n dispatch(setIsEnded(false));\r\n }\r\n }, [currentTime]);\r\n\r\n useEffect(() => {\r\n if(conditions(ConditionName.hasPlayStatusParams)) {\r\n if(params.playStatus) mainPlayerVideoTag().play();\r\n else mainPlayerVideoTag().pause();\r\n };\r\n },[params.playStatus])\r\n\r\n usePingPong(qualityLevel);\r\n useHideSubtitle();\r\n\r\n useJumpToCurrentTime();\r\n\r\n return (\r\n <>\r\n <video\r\n poster={params.banner ? params.banner : details.banner}\r\n preload=\"metadata\"\r\n crossOrigin=\"anonymous\"\r\n id=\"player-tag\"\r\n playsInline\r\n className={`pl-items-center pl-flex-1 pl-h-full`}\r\n style={{\r\n width: \"100%\",\r\n height: \"100%\",\r\n maxWidth: videoElementSizeInfo.width ? videoElementSizeInfo.width : \"100%\",\r\n maxHeight: videoElementSizeInfo.width\r\n ? videoElementSizeInfo.width < videoElementSizeInfo.height\r\n ? (videoElementSizeInfo.width * 9) / 16\r\n : (videoElementSizeInfo.width * 16) / 9\r\n : \"100%\"\r\n }}\r\n autoPlay={conditions(ConditionName.hasAutoPlay)}\r\n >\r\n <Image onLoad={() => bannerLoadingDurationRef.current = Date.now()} layout=\"fill\" src={params.banner ? params.banner : details.banner} alt={params.bannerAlt ? params.bannerAlt : conditions(ConditionName.isStaticFormat) ? \"بنر ویدیو پلیر کافه ویدیو\" : details.title} />\r\n {conditions(ConditionName.hasSubtitlesInDetails) &&\r\n sortLanguages(details.subtitles)!.map((subtitle: ISubtitle) => {\r\n return (\r\n <track\r\n id={`player-tracker-${subtitle.lang}`}\r\n key={subtitle.id}\r\n src={subtitle.url}\r\n label={getSubtitleLabel(subtitle.lang)}\r\n kind=\"subtitles\"\r\n srcLang={subtitle.lang}\r\n />\r\n );\r\n })}\r\n </video>\r\n </>\r\n );\r\n};\r\n\r\nexport default NonStaticVideoTag;\r\n","import { useEffect } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport { useAppSelector } from \"../redux/hooks\";\r\nimport { continuousePlaybackIntervalTime } from \"../environment\";\r\nimport { ConditionName } from \"../interfaces/enums\";\r\nimport { conditions } from \"../conditions/conditions\";\r\nimport { handleContinuousPlayback } from \"../redux/actions/user.actions\";\r\n\r\nconst useContinuousPlaybackInterval = () => {\r\n let interval: any = null;\r\n\r\n const { isEnded } = useAppSelector(({ controller: { isEnded } }) => ({ isEnded }), shallowEqual);\r\n\r\n useEffect(() => {\r\n interval = setInterval(() => handleContinuousPlayback(), continuousePlaybackIntervalTime);\r\n return () => clearInterval(interval);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (conditions(ConditionName.isEnded)) clearInterval(interval);\r\n }, [isEnded]);\r\n};\r\n\r\nexport default useContinuousPlaybackInterval;\r\n","import { useEffect, useState } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport { useAppSelector } from \"../redux/hooks\";\r\nimport { sendFluentLog } from \"../logs/fluentdLogger\";\r\nimport { autoQualityChangeLog, pingpongLog } from \"../logs/logs\";\r\n\r\nconst usePingPong = (qualityLevel?: number) => {\r\n const [qualityHistory, setQualityHistory] = useState<number[]>([]);\r\n const [startTimer, setStartTimer] = useState<number>(0);\r\n\r\n const { qualityLevels } = useAppSelector(({ controller: { qualityLevels } }) => ({ qualityLevels }), shallowEqual);\r\n\r\n useEffect(() => {\r\n if (qualityLevel) {\r\n let newQualityArray: number[] = [];\r\n switch (qualityHistory.length) {\r\n case 0:\r\n newQualityArray = [qualityLevel];\r\n break;\r\n case 1:\r\n newQualityArray = [qualityLevel, ...qualityHistory];\r\n break;\r\n case 2:\r\n newQualityArray = [qualityLevel, ...qualityHistory];\r\n sendFluentLog(\r\n autoQualityChangeLog(\r\n `${newQualityArray[0]}P`,\r\n `${newQualityArray[1]}P`,\r\n qualityLevels.indexOf(newQualityArray[0]) - qualityLevels.indexOf(newQualityArray[1])\r\n )\r\n );\r\n break;\r\n default:\r\n newQualityArray = [qualityLevel, qualityHistory[0], qualityHistory[1]];\r\n if (newQualityArray[1] !== newQualityArray[2])\r\n sendFluentLog(\r\n autoQualityChangeLog(\r\n `${newQualityArray[1]}P`,\r\n `${newQualityArray[2]}P`,\r\n qualityLevels.indexOf(newQualityArray[1]) - qualityLevels.indexOf(newQualityArray[2])\r\n )\r\n );\r\n break;\r\n }\r\n setQualityHistory(newQualityArray);\r\n }\r\n }, [qualityLevel]);\r\n\r\n useEffect(() => {\r\n if (qualityHistory.length === 3 && qualityHistory[0] === qualityHistory[2]) {\r\n sendFluentLog(pingpongLog(startTimer, qualityHistory));\r\n setQualityHistory([]);\r\n setStartTimer(0);\r\n } else {\r\n setStartTimer(new Date().getTime());\r\n }\r\n }, [qualityHistory]);\r\n};\r\nexport default usePingPong;\r\n","import { useEffect } from \"react\";\r\nimport { handleContinuousPlayback } from \"../redux/actions/user.actions\";\r\n\r\nconst useBeforeUnload = () => {\r\n useEffect(() => {\r\n const handleBeforeUnload = () => {\r\n handleContinuousPlayback();\r\n };\r\n\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n return () => window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n }, []);\r\n};\r\n\r\nexport default useBeforeUnload;\r\n"]}
1
+ {"version":3,"sources":["../src/videoPlayerLibrary/components/custom-components/videoTag/nonStaticVideoTag.tsx","../src/videoPlayerLibrary/helpers/hooks/useContinuousPlaybackInterval.tsx","../src/videoPlayerLibrary/helpers/hooks/usePingPong.tsx","../src/videoPlayerLibrary/helpers/hooks/useBeforeUnload.tsx"],"names":["init_cjs_shims","useContinuousPlaybackInterval","interval","isEnded","useAppSelector","shallowEqual","useEffect","handleContinuousPlayback","continuousePlaybackIntervalTime","conditions","useContinuousPlaybackInterval_default","usePingPong","qualityLevel","qualityHistory","setQualityHistory","useState","startTimer","setStartTimer","qualityLevels","newQualityArray","sendFluentLog","autoQualityChangeLog","pingpongLog","usePingPong_default","useBeforeUnload","handleBeforeUnload","useBeforeUnload_default","NonStaticVideoTag","setQualityLevel","dispatch","useAppDispatch","params","details","videoElementSizeInfo","currentTime","duration","firstPlay","timerRef","useRef","waitingDurationRef","waitingTimerRef","initialWaitingDurationRef","bannerLoadingDurationRef","loadingDurationRef","loadingCounterRef","videoEntranceTimeRef","mainPlayerVideoTag","useLayoutEffect","hls","Hls","handleHlsConfig","handlePageLoadTime","handleMediaAttached","handleFragBuffered","event","data","handleFragChanged","handleFragParsed","errorLogProvider","handleHlsErrors","handleVideoWaiting","handleVideoSeeking","handleVideoPlay","handleVideoPlaying","handleVideoPause","handleVideoTimeUpdate","handleVideoCanPlay","handleVideoEnded","handleVideoError","handleVideoVisibilityChange","handleIosVideoPlay","handleIosVideoPlaying","handleIosVideoTimeUpdate","handleIosVideoEnded","appendQueryParamsToChunksIOS","handlePlayPauseAfterChangeVideo","handleManifestParsed","setIsEnded","useHideSubtitle_default","useJumpToCurrentTime_default","jsx","Fragment","jsxs","Image","sortLanguages","subtitle","getSubtitleLabel","nonStaticVideoTag_default"],"mappings":"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","file":"nonStaticVideoTag-I5AI5KU3.js","sourcesContent":["\"use client\";\r\n\r\nimport Hls, { ErrorData, Events } from \"hls.js\";\r\nimport { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport useContinuousPlaybackInterval from \"../../../helpers/hooks/useContinuousPlaybackInterval\";\r\nimport { getSubtitleLabel, handlePageLoadTime, sortLanguages } from \"../../../helpers/helpers\";\r\nimport { appendQueryParamsToChunksIOS, handleFragBuffered, handleFragChanged, handleFragParsed, handleHlsConfig, handleHlsErrors, handleIosVideoEnded, handleIosVideoPlay, handleIosVideoPlaying, handleIosVideoTimeUpdate, handleManifestParsed, handleMediaAttached, handleVideoCanPlay, handleVideoEnded, handleVideoError, handleVideoPause, handleVideoPlay, handleVideoPlaying, handleVideoSeeking, handleVideoTimeUpdate, handleVideoVisibilityChange, handleVideoWaiting } from \"../../../helpers/redux/actions/playerCore.actions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { setIsEnded } from \"../../../helpers/redux/slices/controllerSlice\";\r\nimport usePingPong from \"../../../helpers/hooks/usePingPong\";\r\nimport Image from \"next/legacy/image\";\r\nimport useBeforeUnload from \"../../../helpers/hooks/useBeforeUnload\";\r\nimport { ISubtitle } from \"../../../helpers/interfaces/interfaces\";\r\nimport useHideSubtitle from \"../../../helpers/hooks/useHideSubtitle\";\r\nimport { mainPlayerVideoTag } from \"../../../helpers/constants\";\r\nimport { handlePlayPauseAfterChangeVideo } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport useJumpToCurrentTime from \"../../../helpers/hooks/useJumpToCurrentTime\";\r\nimport { errorLogProvider } from \"../../../helpers/errorBoundary/errorBoundaryFunctions\";\r\n\r\nconst NonStaticVideoTag = () => {\r\n const [qualityLevel, setQualityLevel] = useState<number | undefined>(undefined);\r\n\r\n const dispatch = useAppDispatch();\r\n const { params, details, videoElementSizeInfo } = useAppSelector(\r\n ({ videoData: { params, details, videoElementSizeInfo } }) => ({\r\n params,\r\n details,\r\n videoElementSizeInfo,\r\n }),\r\n shallowEqual\r\n );\r\n const { currentTime, duration } = useAppSelector(\r\n ({ controller: { currentTime, duration, isEnded, firstPlay } }) => ({\r\n currentTime,\r\n duration,\r\n isEnded,\r\n firstPlay,\r\n }),\r\n shallowEqual\r\n );\r\n const timerRef = useRef<any>(null);\r\n const waitingDurationRef = useRef<any>(0);\r\n const waitingTimerRef = useRef<number>(0);\r\n const initialWaitingDurationRef = useRef<any>(0);\r\n const bannerLoadingDurationRef = useRef<any>(0);\r\n const loadingDurationRef = useRef<any>(0);\r\n const loadingCounterRef = useRef<any>(1);\r\n const videoEntranceTimeRef = useRef<any>(mainPlayerVideoTag() ? mainPlayerVideoTag().currentTime : 0);\r\n\r\n useContinuousPlaybackInterval();\r\n useBeforeUnload();\r\n\r\n useLayoutEffect(() => {\r\n let hls = new Hls(handleHlsConfig());\r\n\r\n // ---- Page Load Time ----\r\n handlePageLoadTime(loadingDurationRef);\r\n\r\n initialWaitingDurationRef.current = Date.now();\r\n\r\n if (Hls.isSupported()) {\r\n hls.attachMedia(mainPlayerVideoTag() as HTMLMediaElement);\r\n hls.on(Hls.Events.MEDIA_ATTACHED, () => handleMediaAttached(Hls, hls));\r\n hls.on(Hls.Events.FRAG_BUFFERED, () => handleFragBuffered(hls));\r\n hls.on(Hls.Events.FRAG_CHANGED, (event: any, data: any) => handleFragChanged(hls, data, setQualityLevel));\r\n hls.on(Hls.Events.FRAG_PARSED, (event: any, data: any) => handleFragParsed(hls, data, setQualityLevel));\r\n hls.on(Hls.Events.ERROR, (event: Events.ERROR, data: ErrorData) => errorLogProvider(handleHlsErrors(data)));\r\n\r\n mainPlayerVideoTag().addEventListener(\"waiting\", (event: any) => handleVideoWaiting(event, waitingTimerRef));\r\n mainPlayerVideoTag().addEventListener(\"seeking\", (event: any) => handleVideoSeeking(event, waitingTimerRef));\r\n mainPlayerVideoTag().addEventListener(\"play\", (event: any) => handleVideoPlay(event, timerRef));\r\n mainPlayerVideoTag().addEventListener(\"playing\", () =>\r\n handleVideoPlaying(\r\n loadingCounterRef,\r\n loadingDurationRef,\r\n initialWaitingDurationRef,\r\n bannerLoadingDurationRef,\r\n timerRef,\r\n waitingDurationRef,\r\n waitingTimerRef,\r\n videoEntranceTimeRef\r\n )\r\n );\r\n mainPlayerVideoTag().addEventListener(\"pause\", handleVideoPause);\r\n mainPlayerVideoTag().addEventListener(\"timeupdate\", handleVideoTimeUpdate);\r\n mainPlayerVideoTag().addEventListener(\"canplay\", handleVideoCanPlay);\r\n mainPlayerVideoTag().addEventListener(\"ended\", handleVideoEnded);\r\n mainPlayerVideoTag().addEventListener(\"error\", handleVideoError);\r\n\r\n document.addEventListener(\"visibilitychange\", handleVideoVisibilityChange);\r\n } else if (mainPlayerVideoTag().canPlayType(\"application/vnd.apple.mpegurl\")) {\r\n mainPlayerVideoTag().src = details.stream_link;\r\n\r\n mainPlayerVideoTag().addEventListener(\"waiting\", (event: any) => handleVideoWaiting(event, waitingTimerRef));\r\n mainPlayerVideoTag().addEventListener(\"play\", (event: any) => handleIosVideoPlay(event, timerRef));\r\n mainPlayerVideoTag().addEventListener(\"playing\", handleIosVideoPlaying);\r\n mainPlayerVideoTag().addEventListener(\"canplay\", handleVideoCanPlay);\r\n mainPlayerVideoTag().addEventListener(\"timeupdate\", handleIosVideoTimeUpdate);\r\n mainPlayerVideoTag().addEventListener(\"ended\", handleIosVideoEnded);\r\n mainPlayerVideoTag().addEventListener(\"pause\", handleVideoPause);\r\n\r\n // Append Query Parameter to .ts Chunks\r\n appendQueryParamsToChunksIOS();\r\n }\r\n\r\n return () => {\r\n handlePlayPauseAfterChangeVideo();\r\n hls.detachMedia();\r\n hls.off(Hls.Events.MEDIA_ATTACHED, () => handleMediaAttached(Hls, hls));\r\n hls.off(Hls.Events.FRAG_BUFFERED, () => handleFragBuffered(hls));\r\n hls.off(Hls.Events.FRAG_CHANGED, (event: any, data: any) => handleFragChanged(hls, data, setQualityLevel));\r\n hls.off(Hls.Events.FRAG_PARSED, (event: any, data: any) => handleFragParsed(hls, data, setQualityLevel));\r\n hls.off(Hls.Events.ERROR, (event: any, data: any) => handleHlsErrors(data));\r\n hls.off(Hls.Events.MANIFEST_PARSED, (event: any, data: any) => handleManifestParsed(hls, data));\r\n document.removeEventListener(\"visibilitychange\", handleVideoVisibilityChange);\r\n };\r\n }, [details.stream_link]);\r\n\r\n useEffect(() => {\r\n if (currentTime < duration && conditions(ConditionName.isEnded)) {\r\n dispatch(setIsEnded(false));\r\n }\r\n }, [currentTime]);\r\n\r\n useEffect(() => {\r\n if(conditions(ConditionName.hasPlayStatusParams)) {\r\n if(params.playStatus) mainPlayerVideoTag().play();\r\n else mainPlayerVideoTag().pause();\r\n };\r\n },[params.playStatus])\r\n\r\n usePingPong(qualityLevel);\r\n useHideSubtitle();\r\n\r\n useJumpToCurrentTime();\r\n\r\n return (\r\n <>\r\n <video\r\n poster={params.banner ? params.banner : details.banner}\r\n preload=\"metadata\"\r\n crossOrigin=\"anonymous\"\r\n id=\"player-tag\"\r\n playsInline\r\n className={`pl-items-center pl-flex-1 pl-h-full`}\r\n style={{\r\n width: \"100%\",\r\n height: \"100%\",\r\n maxWidth: videoElementSizeInfo.width ? videoElementSizeInfo.width : \"100%\",\r\n maxHeight: videoElementSizeInfo.width\r\n ? videoElementSizeInfo.width < videoElementSizeInfo.height\r\n ? (videoElementSizeInfo.width * 9) / 16\r\n : (videoElementSizeInfo.width * 16) / 9\r\n : \"100%\"\r\n }}\r\n autoPlay={conditions(ConditionName.hasAutoPlay)}\r\n >\r\n <Image onLoad={() => bannerLoadingDurationRef.current = Date.now()} layout=\"fill\" src={params.banner ? params.banner : details.banner} alt={params.bannerAlt ? params.bannerAlt : conditions(ConditionName.isStaticFormat) ? \"بنر ویدیو پلیر کافه ویدیو\" : details.title} />\r\n {conditions(ConditionName.hasSubtitlesInDetails) &&\r\n sortLanguages(details.subtitles)!.map((subtitle: ISubtitle) => {\r\n return (\r\n <track\r\n id={`player-tracker-${subtitle.lang}`}\r\n key={subtitle.id}\r\n src={subtitle.url}\r\n label={getSubtitleLabel(subtitle.lang)}\r\n kind=\"subtitles\"\r\n srcLang={subtitle.lang}\r\n />\r\n );\r\n })}\r\n </video>\r\n </>\r\n );\r\n};\r\n\r\nexport default NonStaticVideoTag;\r\n","import { useEffect } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport { useAppSelector } from \"../redux/hooks\";\r\nimport { continuousePlaybackIntervalTime } from \"../environment\";\r\nimport { ConditionName } from \"../interfaces/enums\";\r\nimport { conditions } from \"../conditions/conditions\";\r\nimport { handleContinuousPlayback } from \"../redux/actions/user.actions\";\r\n\r\nconst useContinuousPlaybackInterval = () => {\r\n let interval: any = null;\r\n\r\n const { isEnded } = useAppSelector(({ controller: { isEnded } }) => ({ isEnded }), shallowEqual);\r\n\r\n useEffect(() => {\r\n interval = setInterval(() => handleContinuousPlayback(), continuousePlaybackIntervalTime);\r\n return () => clearInterval(interval);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (conditions(ConditionName.isEnded)) clearInterval(interval);\r\n }, [isEnded]);\r\n};\r\n\r\nexport default useContinuousPlaybackInterval;\r\n","import { useEffect, useState } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport { useAppSelector } from \"../redux/hooks\";\r\nimport { sendFluentLog } from \"../logs/fluentdLogger\";\r\nimport { autoQualityChangeLog, pingpongLog } from \"../logs/logs\";\r\n\r\nconst usePingPong = (qualityLevel?: number) => {\r\n const [qualityHistory, setQualityHistory] = useState<number[]>([]);\r\n const [startTimer, setStartTimer] = useState<number>(0);\r\n\r\n const { qualityLevels } = useAppSelector(({ controller: { qualityLevels } }) => ({ qualityLevels }), shallowEqual);\r\n\r\n useEffect(() => {\r\n if (qualityLevel) {\r\n let newQualityArray: number[] = [];\r\n switch (qualityHistory.length) {\r\n case 0:\r\n newQualityArray = [qualityLevel];\r\n break;\r\n case 1:\r\n newQualityArray = [qualityLevel, ...qualityHistory];\r\n break;\r\n case 2:\r\n newQualityArray = [qualityLevel, ...qualityHistory];\r\n sendFluentLog(\r\n autoQualityChangeLog(\r\n `${newQualityArray[0]}P`,\r\n `${newQualityArray[1]}P`,\r\n qualityLevels.indexOf(newQualityArray[0]) - qualityLevels.indexOf(newQualityArray[1])\r\n )\r\n );\r\n break;\r\n default:\r\n newQualityArray = [qualityLevel, qualityHistory[0], qualityHistory[1]];\r\n if (newQualityArray[1] !== newQualityArray[2])\r\n sendFluentLog(\r\n autoQualityChangeLog(\r\n `${newQualityArray[1]}P`,\r\n `${newQualityArray[2]}P`,\r\n qualityLevels.indexOf(newQualityArray[1]) - qualityLevels.indexOf(newQualityArray[2])\r\n )\r\n );\r\n break;\r\n }\r\n setQualityHistory(newQualityArray);\r\n }\r\n }, [qualityLevel]);\r\n\r\n useEffect(() => {\r\n if (qualityHistory.length === 3 && qualityHistory[0] === qualityHistory[2]) {\r\n sendFluentLog(pingpongLog(startTimer, qualityHistory));\r\n setQualityHistory([]);\r\n setStartTimer(0);\r\n } else {\r\n setStartTimer(new Date().getTime());\r\n }\r\n }, [qualityHistory]);\r\n};\r\nexport default usePingPong;\r\n","import { useEffect } from \"react\";\r\nimport { handleContinuousPlayback } from \"../redux/actions/user.actions\";\r\n\r\nconst useBeforeUnload = () => {\r\n useEffect(() => {\r\n const handleBeforeUnload = () => {\r\n handleContinuousPlayback();\r\n };\r\n\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n return () => window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n }, []);\r\n};\r\n\r\nexport default useBeforeUnload;\r\n"]}
@@ -1,2 +1,2 @@
1
- import {a as a$2}from'./chunk-3ZNIRSH3.mjs';import {b as b$2,a as a$1}from'./chunk-ELG5PCR2.mjs';import {c,f,g,h,i,j,k,l,m,n,o,p,q,r,a,D,s,t,u,v,b,e as e$1}from'./chunk-R65WA2TV.mjs';import {c as c$1}from'./chunk-6R7UYUPZ.mjs';import {b as b$1}from'./chunk-P6UV7U4E.mjs';import {da,ea,fa,X,Ca,ca,p as p$1,Z,_,la,va,wa}from'./chunk-LHO7HY26.mjs';import {e}from'./chunk-DBPGS72Q.mjs';import d from'hls.js';import {useState,useRef,useLayoutEffect,useEffect}from'react';import {shallowEqual}from'react-redux';import Te from'next/legacy/image';import {jsx,Fragment,jsxs}from'react/jsx-runtime';e();e();var be=()=>{let i=null,{isEnded:o}=ea(({controller:{isEnded:E}})=>({isEnded:E}),shallowEqual);useEffect(()=>(i=setInterval(()=>a$2(),c$1),()=>clearInterval(i)),[]),useEffect(()=>{ca("isEnded")&&clearInterval(i);},[o]);},de=be;e();var Re=i=>{let[o,E]=useState([]),[l,m]=useState(0),{qualityLevels:s}=ea(({controller:{qualityLevels:t}})=>({qualityLevels:t}),shallowEqual);useEffect(()=>{if(i){let t=[];switch(o.length){case 0:t=[i];break;case 1:t=[i,...o];break;case 2:t=[i,...o],la(va(`${t[0]}P`,`${t[1]}P`,s.indexOf(t[0])-s.indexOf(t[1])));break;default:t=[i,o[0],o[1]],t[1]!==t[2]&&la(va(`${t[1]}P`,`${t[2]}P`,s.indexOf(t[1])-s.indexOf(t[2])));break}E(t);}},[i]),useEffect(()=>{o.length===3&&o[0]===o[2]?(la(wa(l,o)),E([]),m(0)):m(new Date().getTime());},[o]);},me=Re;e();var we=()=>{useEffect(()=>{let i=()=>{a$2();};return window.addEventListener("beforeunload",i),()=>window.removeEventListener("beforeunload",i)},[]);},fe=we;var Ie=()=>{let[i$1,o$1]=useState(void 0),E=da(),{params:l$1,details:m$1,videoElementSizeInfo:s$1}=ea(({videoData:{params:e,details:a,videoElementSizeInfo:r}})=>({params:e,details:a,videoElementSizeInfo:r}),shallowEqual),{currentTime:t$1,duration:ce}=ea(({controller:{currentTime:e,duration:a,isEnded:r,firstPlay:ve}})=>({currentTime:e,duration:a,isEnded:r,firstPlay:ve}),shallowEqual),g$1=useRef(null),Ee=useRef(0),y=useRef(0),F=useRef(0),H=useRef(0),_$1=useRef(0),ye=useRef(1),he=useRef(fa()?fa().currentTime:0);return de(),fe(),useLayoutEffect(()=>{let e=new d(c());return X(_$1),F.current=Date.now(),d.isSupported()?(e.attachMedia(fa()),e.on(d.Events.MEDIA_ATTACHED,()=>f(d,e)),e.on(d.Events.FRAG_BUFFERED,()=>g(e)),e.on(d.Events.FRAG_CHANGED,(a,r)=>h(e,r,o$1)),e.on(d.Events.FRAG_PARSED,(a,r)=>i(e,r,o$1)),e.on(d.Events.ERROR,(a,r)=>Ca(j(r))),fa().addEventListener("waiting",a=>k(a,y)),fa().addEventListener("seeking",a=>l(a,y)),fa().addEventListener("play",a=>m(a,g$1)),fa().addEventListener("playing",()=>n(ye,_$1,F,H,g$1,Ee,y,he)),fa().addEventListener("pause",o),fa().addEventListener("timeupdate",p),fa().addEventListener("canplay",q),fa().addEventListener("ended",r),fa().addEventListener("error",a),document.addEventListener("visibilitychange",D)):fa().canPlayType("application/vnd.apple.mpegurl")&&(fa().src=m$1.stream_link,fa().addEventListener("waiting",a=>k(a,y)),fa().addEventListener("play",a=>s(a,g$1)),fa().addEventListener("playing",t),fa().addEventListener("canplay",q),fa().addEventListener("timeupdate",u),fa().addEventListener("ended",v),fa().addEventListener("pause",o),b()),()=>{b$1(),e.detachMedia(),e.off(d.Events.MEDIA_ATTACHED,()=>f(d,e)),e.off(d.Events.FRAG_BUFFERED,()=>g(e)),e.off(d.Events.FRAG_CHANGED,(a,r)=>h(e,r,o$1)),e.off(d.Events.FRAG_PARSED,(a,r)=>i(e,r,o$1)),e.off(d.Events.ERROR,(a,r)=>j(r)),e.off(d.Events.MANIFEST_PARSED,(a,r)=>e$1(e,r)),document.removeEventListener("visibilitychange",D);}},[m$1.stream_link]),useEffect(()=>{t$1<ce&&ca("isEnded")&&E(p$1(!1));},[t$1]),useEffect(()=>{ca("hasPlayStatusParams")&&(l$1.playStatus?fa().play():fa().pause());},[l$1.playStatus]),me(i$1),b$2(),a$1(),jsx(Fragment,{children:jsxs("video",{poster:l$1.banner?l$1.banner:m$1.banner,preload:"metadata",crossOrigin:"anonymous",id:"player-tag",playsInline:!0,className:"pl-items-center pl-flex-1 pl-h-full",style:{width:"100%",height:"100%",maxWidth:s$1.width?s$1.width:"100%",maxHeight:s$1.width?s$1.width<s$1.height?s$1.width*9/16:s$1.width*16/9:"100%"},autoPlay:ca("hasAutoPlay"),children:[jsx(Te,{onLoad:()=>H.current=Date.now(),layout:"fill",src:l$1.banner?l$1.banner:m$1.banner,alt:l$1.bannerAlt?l$1.bannerAlt:ca("isStaticFormat")?"\u0628\u0646\u0631 \u0648\u06CC\u062F\u06CC\u0648 \u067E\u0644\u06CC\u0631 \u06A9\u0627\u0641\u0647 \u0648\u06CC\u062F\u06CC\u0648":m$1.title}),ca("hasSubtitlesInDetails")&&Z(m$1.subtitles).map(e=>jsx("track",{id:`player-tracker-${e.lang}`,src:e.url,label:_(e.lang),kind:"subtitles",srcLang:e.lang},e.id))]})})},gn=Ie;export{gn as default};//# sourceMappingURL=nonStaticVideoTag-JKZGTEQK.mjs.map
2
- //# sourceMappingURL=nonStaticVideoTag-JKZGTEQK.mjs.map
1
+ import {a as a$2}from'./chunk-6ZKKSIBV.mjs';import {b as b$2,a as a$1}from'./chunk-TUYGEJVR.mjs';import {c,f,g,h,i,j,k,l,m,n,o,p,q,r,a,D,s,t,u,v,b,e as e$1}from'./chunk-Q52RFNV3.mjs';import {c as c$1}from'./chunk-6R7UYUPZ.mjs';import {b as b$1}from'./chunk-AUZAI7ZJ.mjs';import {da,ea,fa,X,Ca,ca,p as p$1,Z,_,la,va,wa}from'./chunk-5OIS455P.mjs';import {e}from'./chunk-DBPGS72Q.mjs';import d from'hls.js';import {useState,useRef,useLayoutEffect,useEffect}from'react';import {shallowEqual}from'react-redux';import Te from'next/legacy/image';import {jsx,Fragment,jsxs}from'react/jsx-runtime';e();e();var be=()=>{let i=null,{isEnded:o}=ea(({controller:{isEnded:E}})=>({isEnded:E}),shallowEqual);useEffect(()=>(i=setInterval(()=>a$2(),c$1),()=>clearInterval(i)),[]),useEffect(()=>{ca("isEnded")&&clearInterval(i);},[o]);},de=be;e();var Re=i=>{let[o,E]=useState([]),[l,m]=useState(0),{qualityLevels:s}=ea(({controller:{qualityLevels:t}})=>({qualityLevels:t}),shallowEqual);useEffect(()=>{if(i){let t=[];switch(o.length){case 0:t=[i];break;case 1:t=[i,...o];break;case 2:t=[i,...o],la(va(`${t[0]}P`,`${t[1]}P`,s.indexOf(t[0])-s.indexOf(t[1])));break;default:t=[i,o[0],o[1]],t[1]!==t[2]&&la(va(`${t[1]}P`,`${t[2]}P`,s.indexOf(t[1])-s.indexOf(t[2])));break}E(t);}},[i]),useEffect(()=>{o.length===3&&o[0]===o[2]?(la(wa(l,o)),E([]),m(0)):m(new Date().getTime());},[o]);},me=Re;e();var we=()=>{useEffect(()=>{let i=()=>{a$2();};return window.addEventListener("beforeunload",i),()=>window.removeEventListener("beforeunload",i)},[]);},fe=we;var Ie=()=>{let[i$1,o$1]=useState(void 0),E=da(),{params:l$1,details:m$1,videoElementSizeInfo:s$1}=ea(({videoData:{params:e,details:a,videoElementSizeInfo:r}})=>({params:e,details:a,videoElementSizeInfo:r}),shallowEqual),{currentTime:t$1,duration:ce}=ea(({controller:{currentTime:e,duration:a,isEnded:r,firstPlay:ve}})=>({currentTime:e,duration:a,isEnded:r,firstPlay:ve}),shallowEqual),g$1=useRef(null),Ee=useRef(0),y=useRef(0),F=useRef(0),H=useRef(0),_$1=useRef(0),ye=useRef(1),he=useRef(fa()?fa().currentTime:0);return de(),fe(),useLayoutEffect(()=>{let e=new d(c());return X(_$1),F.current=Date.now(),d.isSupported()?(e.attachMedia(fa()),e.on(d.Events.MEDIA_ATTACHED,()=>f(d,e)),e.on(d.Events.FRAG_BUFFERED,()=>g(e)),e.on(d.Events.FRAG_CHANGED,(a,r)=>h(e,r,o$1)),e.on(d.Events.FRAG_PARSED,(a,r)=>i(e,r,o$1)),e.on(d.Events.ERROR,(a,r)=>Ca(j(r))),fa().addEventListener("waiting",a=>k(a,y)),fa().addEventListener("seeking",a=>l(a,y)),fa().addEventListener("play",a=>m(a,g$1)),fa().addEventListener("playing",()=>n(ye,_$1,F,H,g$1,Ee,y,he)),fa().addEventListener("pause",o),fa().addEventListener("timeupdate",p),fa().addEventListener("canplay",q),fa().addEventListener("ended",r),fa().addEventListener("error",a),document.addEventListener("visibilitychange",D)):fa().canPlayType("application/vnd.apple.mpegurl")&&(fa().src=m$1.stream_link,fa().addEventListener("waiting",a=>k(a,y)),fa().addEventListener("play",a=>s(a,g$1)),fa().addEventListener("playing",t),fa().addEventListener("canplay",q),fa().addEventListener("timeupdate",u),fa().addEventListener("ended",v),fa().addEventListener("pause",o),b()),()=>{b$1(),e.detachMedia(),e.off(d.Events.MEDIA_ATTACHED,()=>f(d,e)),e.off(d.Events.FRAG_BUFFERED,()=>g(e)),e.off(d.Events.FRAG_CHANGED,(a,r)=>h(e,r,o$1)),e.off(d.Events.FRAG_PARSED,(a,r)=>i(e,r,o$1)),e.off(d.Events.ERROR,(a,r)=>j(r)),e.off(d.Events.MANIFEST_PARSED,(a,r)=>e$1(e,r)),document.removeEventListener("visibilitychange",D);}},[m$1.stream_link]),useEffect(()=>{t$1<ce&&ca("isEnded")&&E(p$1(!1));},[t$1]),useEffect(()=>{ca("hasPlayStatusParams")&&(l$1.playStatus?fa().play():fa().pause());},[l$1.playStatus]),me(i$1),b$2(),a$1(),jsx(Fragment,{children:jsxs("video",{poster:l$1.banner?l$1.banner:m$1.banner,preload:"metadata",crossOrigin:"anonymous",id:"player-tag",playsInline:!0,className:"pl-items-center pl-flex-1 pl-h-full",style:{width:"100%",height:"100%",maxWidth:s$1.width?s$1.width:"100%",maxHeight:s$1.width?s$1.width<s$1.height?s$1.width*9/16:s$1.width*16/9:"100%"},autoPlay:ca("hasAutoPlay"),children:[jsx(Te,{onLoad:()=>H.current=Date.now(),layout:"fill",src:l$1.banner?l$1.banner:m$1.banner,alt:l$1.bannerAlt?l$1.bannerAlt:ca("isStaticFormat")?"\u0628\u0646\u0631 \u0648\u06CC\u062F\u06CC\u0648 \u067E\u0644\u06CC\u0631 \u06A9\u0627\u0641\u0647 \u0648\u06CC\u062F\u06CC\u0648":m$1.title}),ca("hasSubtitlesInDetails")&&Z(m$1.subtitles).map(e=>jsx("track",{id:`player-tracker-${e.lang}`,src:e.url,label:_(e.lang),kind:"subtitles",srcLang:e.lang},e.id))]})})},gn=Ie;export{gn as default};//# sourceMappingURL=nonStaticVideoTag-URXCYYXT.mjs.map
2
+ //# sourceMappingURL=nonStaticVideoTag-URXCYYXT.mjs.map