cafe-video-player 2.1.2 → 2.2.0
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.
- package/{VideoHighLighter-J244P4R6.mjs → VideoHighLighter-U4GGV66X.mjs} +2 -2
- package/{VideoHighLighter-J244P4R6.mjs.map → VideoHighLighter-U4GGV66X.mjs.map} +1 -1
- package/{VideoHighLighter-KS4OF7LU.js → VideoHighLighter-ZAC6DXOM.js} +2 -2
- package/{VideoHighLighter-KS4OF7LU.js.map → VideoHighLighter-ZAC6DXOM.js.map} +1 -1
- package/backwardForward-BVIUUMYX.js +2 -0
- package/{backwardForward-T5I2BG67.js.map → backwardForward-BVIUUMYX.js.map} +1 -1
- package/backwardForward-Y5UZHDBP.mjs +2 -0
- package/{backwardForward-ZA22U5BK.mjs.map → backwardForward-Y5UZHDBP.mjs.map} +1 -1
- package/chunk-5FTEBU6O.js +3 -0
- package/{chunk-CXFHM7DX.js.map → chunk-5FTEBU6O.js.map} +1 -1
- package/{chunk-TTR6HY3N.js → chunk-7GSH5XMZ.js} +2 -2
- package/{chunk-TTR6HY3N.js.map → chunk-7GSH5XMZ.js.map} +1 -1
- package/{chunk-4SCALKDT.mjs → chunk-A7MEJC4F.mjs} +2 -2
- package/{chunk-4SCALKDT.mjs.map → chunk-A7MEJC4F.mjs.map} +1 -1
- package/chunk-BOS4UPEA.js +2 -0
- package/{chunk-IQGFJNGO.js.map → chunk-BOS4UPEA.js.map} +1 -1
- package/chunk-C4TEAPRX.js +9 -0
- package/chunk-C4TEAPRX.js.map +1 -0
- package/chunk-D7CTAABP.js +2 -0
- package/{chunk-AZTVBGMR.js.map → chunk-D7CTAABP.js.map} +1 -1
- package/chunk-EDQKSY4F.js +3 -0
- package/{chunk-FSNZMZHV.js.map → chunk-EDQKSY4F.js.map} +1 -1
- package/chunk-HME64W2O.js +3 -0
- package/chunk-HME64W2O.js.map +1 -0
- package/chunk-IGINC4KI.js +2 -0
- package/chunk-IGINC4KI.js.map +1 -0
- package/chunk-J6UYAT2V.mjs +2 -0
- package/chunk-J6UYAT2V.mjs.map +1 -0
- package/chunk-KIC75NSX.mjs +2 -0
- package/{chunk-TRTBWCNM.mjs.map → chunk-KIC75NSX.mjs.map} +1 -1
- package/chunk-MW3CX523.mjs +9 -0
- package/chunk-MW3CX523.mjs.map +1 -0
- package/{chunk-YYDUT7ZK.mjs → chunk-MZP43FH7.mjs} +2 -2
- package/{chunk-YYDUT7ZK.mjs.map → chunk-MZP43FH7.mjs.map} +1 -1
- package/chunk-O6OWG7HM.mjs +2 -0
- package/{chunk-PMXQ6WK2.mjs.map → chunk-O6OWG7HM.mjs.map} +1 -1
- package/chunk-PJVN7RKN.mjs +2 -0
- package/{chunk-IROHCKSH.mjs.map → chunk-PJVN7RKN.mjs.map} +1 -1
- package/chunk-TDHILUXF.js +2 -0
- package/{chunk-SRJT46V7.js.map → chunk-TDHILUXF.js.map} +1 -1
- package/chunk-TM66GJCG.mjs +3 -0
- package/{chunk-XNVWDQSS.mjs.map → chunk-TM66GJCG.mjs.map} +1 -1
- package/chunk-VIQ5L73J.js +2 -0
- package/{chunk-IT4ECGGR.js.map → chunk-VIQ5L73J.js.map} +1 -1
- package/chunk-VIUNI5PQ.mjs +3 -0
- package/{chunk-OJ4PZQN5.mjs.map → chunk-VIUNI5PQ.mjs.map} +1 -1
- package/chunk-YZYTKWCY.mjs +3 -0
- package/chunk-YZYTKWCY.mjs.map +1 -0
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/index.mjs +1 -1
- package/index.mjs.map +1 -1
- package/nonStaticVideoTag-C2LVXINP.mjs +2 -0
- package/nonStaticVideoTag-C2LVXINP.mjs.map +1 -0
- package/nonStaticVideoTag-C6MCWMG2.js +2 -0
- package/nonStaticVideoTag-C6MCWMG2.js.map +1 -0
- package/{notActive-ZFPGLIIJ.mjs → notActive-FNSATJST.mjs} +2 -2
- package/{notActive-ZFPGLIIJ.mjs.map → notActive-FNSATJST.mjs.map} +1 -1
- package/{notActive-FQ2SLLCT.js → notActive-YTLKQJYE.js} +2 -2
- package/{notActive-FQ2SLLCT.js.map → notActive-YTLKQJYE.js.map} +1 -1
- package/package.json +1 -1
- package/staticPlayer-44ZMIIEA.mjs +2 -0
- package/{staticPlayer-QLINPHLK.mjs.map → staticPlayer-44ZMIIEA.mjs.map} +1 -1
- package/staticPlayer-7X27HEUG.js +2 -0
- package/{staticPlayer-G3WOD5RT.js.map → staticPlayer-7X27HEUG.js.map} +1 -1
- package/staticVideoTag-TO5HBYDE.mjs +2 -0
- package/{staticVideoTag-G5TJQQNF.mjs.map → staticVideoTag-TO5HBYDE.mjs.map} +1 -1
- package/staticVideoTag-YUBA5OAZ.js +2 -0
- package/{staticVideoTag-2HZWMOBA.js.map → staticVideoTag-YUBA5OAZ.js.map} +1 -1
- package/touchVolumeBrightness-27EBEX5W.mjs +3 -0
- package/{touchVolumeBrightness-DE5TFYAG.mjs.map → touchVolumeBrightness-27EBEX5W.mjs.map} +1 -1
- package/{touchVolumeBrightness-ZXFRYAIE.js → touchVolumeBrightness-KAAGMQWI.js} +3 -3
- package/{touchVolumeBrightness-ZXFRYAIE.js.map → touchVolumeBrightness-KAAGMQWI.js.map} +1 -1
- package/videoArea-IKP3GXLH.mjs +2 -0
- package/{videoArea-SDEAP3WB.mjs.map → videoArea-IKP3GXLH.mjs.map} +1 -1
- package/videoArea-W56PTQDS.js +2 -0
- package/{videoArea-WZH7URSO.js.map → videoArea-W56PTQDS.js.map} +1 -1
- package/videoPlayerStyles.css +39 -4
- package/vodPlayer-ANBY5ULF.mjs +2 -0
- package/{vodPlayer-3E5EY62P.mjs.map → vodPlayer-ANBY5ULF.mjs.map} +1 -1
- package/vodPlayer-QPIJN45L.js +2 -0
- package/{vodPlayer-X4YM6IG5.js.map → vodPlayer-QPIJN45L.js.map} +1 -1
- package/backwardForward-T5I2BG67.js +0 -2
- package/backwardForward-ZA22U5BK.mjs +0 -2
- package/chunk-AZTVBGMR.js +0 -2
- package/chunk-BC2TZBZ7.mjs +0 -2
- package/chunk-BC2TZBZ7.mjs.map +0 -1
- package/chunk-BZEHB5TW.js +0 -9
- package/chunk-BZEHB5TW.js.map +0 -1
- package/chunk-CXFHM7DX.js +0 -3
- package/chunk-ERJKVJY6.js +0 -2
- package/chunk-ERJKVJY6.js.map +0 -1
- package/chunk-FSNZMZHV.js +0 -3
- package/chunk-IDNCPTFE.mjs +0 -3
- package/chunk-IDNCPTFE.mjs.map +0 -1
- package/chunk-IQGFJNGO.js +0 -2
- package/chunk-IROHCKSH.mjs +0 -2
- package/chunk-IT4ECGGR.js +0 -2
- package/chunk-M2G4MENQ.js +0 -3
- package/chunk-M2G4MENQ.js.map +0 -1
- package/chunk-OJ4PZQN5.mjs +0 -3
- package/chunk-PMXQ6WK2.mjs +0 -2
- package/chunk-QVD3Z4ML.mjs +0 -9
- package/chunk-QVD3Z4ML.mjs.map +0 -1
- package/chunk-SRJT46V7.js +0 -2
- package/chunk-TRTBWCNM.mjs +0 -2
- package/chunk-XNVWDQSS.mjs +0 -3
- package/nonStaticVideoTag-JNQPPLGJ.js +0 -2
- package/nonStaticVideoTag-JNQPPLGJ.js.map +0 -1
- package/nonStaticVideoTag-YD6SV7LK.mjs +0 -2
- package/nonStaticVideoTag-YD6SV7LK.mjs.map +0 -1
- package/staticPlayer-G3WOD5RT.js +0 -2
- package/staticPlayer-QLINPHLK.mjs +0 -2
- package/staticVideoTag-2HZWMOBA.js +0 -2
- package/staticVideoTag-G5TJQQNF.mjs +0 -2
- package/touchVolumeBrightness-DE5TFYAG.mjs +0 -3
- package/videoArea-SDEAP3WB.mjs +0 -2
- package/videoArea-WZH7URSO.js +0 -2
- package/vodPlayer-3E5EY62P.mjs +0 -2
- package/vodPlayer-X4YM6IG5.js +0 -2
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","VideoHighLighter","VideoPlayer","props","params","useAppSelector","isReady","shallowEqual","clearRedux","isFullScreen","jsx","element","Fragment","jsxs","loader_default","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","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\nimport Loader from \"../custom-components/loader/loader\";\r\n\r\nconst StaticPlayer = dynamic(() => import(\"./staticPlayer/staticPlayer\"));\r\nconst VodPlayer = dynamic(() => import(\"./vodPlayer/vodPlayer\"));\r\nconst VideoHighLighter = dynamic(() => import(\"./videoHighLighter/VideoHighLighter\"));\r\n\r\ninterface IProps {\r\n params: IParams;\r\n}\r\n\r\nconst VideoPlayer = (props: IProps) => {\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 () => {\r\n if (params.id) clearRedux();\r\n };\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 if (props.params.vhl_status) return <VideoHighLighter />;\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]\"}`}\r\n style={{ zIndex: zIndex.videoPlayerInFullScreen, touchAction: \"pan-y\", userSelect: \"none\" }}\r\n >\r\n {conditions(ConditionName.isStaticFormat) ? <StaticPlayer /> : <VodPlayer />}\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n dir=\"rtl\"\r\n className={`pl-relative pl-rounded-[12px] pl-w-full pl-h-full pl-aspect-video pl-overflow-x-hidden ${\r\n conditions(ConditionName.isFullScreen) && \"!pl-overflow-hidden pl-fixed pl-top-0 pl-right-0 pl-w-screen pl-h-screen pl-rounded-none\"\r\n }`}\r\n id=\"parent-player\"\r\n >\r\n {conditions(ConditionName.isFirstPlay) && (\r\n <div\r\n className={`pl-absolute pl-bg-black pl-w-full pl-h-full pl-aspect-video ${\r\n !conditions(ConditionName.isTouchScreen) && !conditions(ConditionName.isFullScreen) && \"pl-rounded-[12px]\"\r\n }`}\r\n >\r\n <Loader />\r\n </div>\r\n )}\r\n {element}\r\n </div>\r\n );\r\n};\r\n\r\nexport default VideoPlayer;\r\n","\"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 onChangeCurrentTime: query.onChangeCurrentTime,\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","VideoHighLighter","VideoPlayer","props","params","useAppSelector","isReady","shallowEqual","clearRedux","isFullScreen","jsx","element","Fragment","jsxs","loader_default","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","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\nimport Loader from \"../custom-components/loader/loader\";\r\n\r\nconst StaticPlayer = dynamic(() => import(\"./staticPlayer/staticPlayer\"));\r\nconst VodPlayer = dynamic(() => import(\"./vodPlayer/vodPlayer\"));\r\nconst VideoHighLighter = dynamic(() => import(\"./videoHighLighter/VideoHighLighter\"));\r\n\r\ninterface IProps {\r\n params: IParams;\r\n}\r\n\r\nconst VideoPlayer = (props: IProps) => {\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 () => {\r\n if (params.id) clearRedux();\r\n };\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 if (props.params.vhl_status) return <VideoHighLighter />;\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]\"}`}\r\n style={{ zIndex: zIndex.videoPlayerInFullScreen, touchAction: \"pan-y\", userSelect: \"none\" }}\r\n >\r\n {conditions(ConditionName.isStaticFormat) ? <StaticPlayer /> : <VodPlayer />}\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n dir=\"rtl\"\r\n className={`pl-relative pl-rounded-[12px] pl-w-full pl-h-full pl-aspect-video ${\r\n conditions(ConditionName.isFullScreen) && \"!pl-overflow-hidden pl-fixed pl-top-0 pl-right-0 pl-w-screen pl-h-screen pl-rounded-none\"\r\n }`}\r\n id=\"parent-player\"\r\n >\r\n {conditions(ConditionName.isFirstPlay) && (\r\n <div\r\n className={`pl-absolute pl-bg-black pl-w-full pl-h-full pl-aspect-video ${\r\n !conditions(ConditionName.isTouchScreen) && !conditions(ConditionName.isFullScreen) && \"pl-rounded-[12px]\"\r\n }`}\r\n >\r\n <Loader />\r\n </div>\r\n )}\r\n {element}\r\n </div>\r\n );\r\n};\r\n\r\nexport default VideoPlayer;\r\n","\"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 onChangeCurrentTime: query.onChangeCurrentTime,\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
|
+
import {a as a$2}from'./chunk-KIC75NSX.mjs';import {b as b$2,a as a$1}from'./chunk-MZP43FH7.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-J6UYAT2V.mjs';import {c as c$1}from'./chunk-SIUJSGLY.mjs';import {b as b$1}from'./chunk-PJVN7RKN.mjs';import {ga,ha,ia,_,Fa,fa,p as p$1,aa,ba,oa,ya,za}from'./chunk-YZYTKWCY.mjs';import {e}from'./chunk-NXC6LNWJ.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}=ha(({controller:{isEnded:E}})=>({isEnded:E}),shallowEqual);useEffect(()=>(i=setInterval(()=>a$2(),c$1),()=>clearInterval(i)),[]),useEffect(()=>{fa("isEnded")&&clearInterval(i);},[o]);},de=be;e();var Re=i=>{let[o,E]=useState([]),[l,m]=useState(0),{qualityLevels:s}=ha(({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],oa(ya(`${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]&&oa(ya(`${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]?(oa(za(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=ga(),{params:l$1,details:m$1,videoElementSizeInfo:s$1}=ha(({videoData:{params:e,details:a,videoElementSizeInfo:r}})=>({params:e,details:a,videoElementSizeInfo:r}),shallowEqual),{currentTime:t$1,duration:ce}=ha(({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(ia()?ia().currentTime:0);return de(),fe(),useLayoutEffect(()=>{let e=new d(c());return _(_$1),F.current=Date.now(),d.isSupported()?(e.attachMedia(ia()),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)=>Fa(j(r))),ia().addEventListener("waiting",a=>k(a,y)),ia().addEventListener("seeking",a=>l(a,y)),ia().addEventListener("play",a=>m(a,g$1)),ia().addEventListener("playing",()=>n(ye,_$1,F,H,g$1,Ee,y,he)),ia().addEventListener("pause",o),ia().addEventListener("timeupdate",p),ia().addEventListener("canplay",q),ia().addEventListener("ended",r),ia().addEventListener("error",a),document.addEventListener("visibilitychange",D)):ia().canPlayType("application/vnd.apple.mpegurl")&&(ia().src=m$1.stream_link,ia().addEventListener("waiting",a=>k(a,y)),ia().addEventListener("play",a=>s(a,g$1)),ia().addEventListener("playing",t),ia().addEventListener("canplay",q),ia().addEventListener("timeupdate",u),ia().addEventListener("ended",v),ia().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&&fa("isEnded")&&E(p$1(false));},[t$1]),useEffect(()=>{fa("hasPlayStatusParams")&&(l$1.playStatus?ia().play():ia().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:true,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:fa("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:fa("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}),fa("hasSubtitlesInDetails")&&aa(m$1.subtitles).map(e=>jsx("track",{id:`player-tracker-${e.lang}`,src:e.url,label:ba(e.lang),kind:"subtitles",srcLang:e.lang},e.id))]})})},gn=Ie;export{gn as default};//# sourceMappingURL=nonStaticVideoTag-C2LVXINP.mjs.map
|
|
2
|
+
//# sourceMappingURL=nonStaticVideoTag-C2LVXINP.mjs.map
|
|
@@ -0,0 +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_esm_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-C2LVXINP.mjs","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"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkD7CTAABP_js=require('./chunk-D7CTAABP.js'),chunkBOS4UPEA_js=require('./chunk-BOS4UPEA.js'),chunkIGINC4KI_js=require('./chunk-IGINC4KI.js'),chunkQHZJEU27_js=require('./chunk-QHZJEU27.js'),chunkVIQ5L73J_js=require('./chunk-VIQ5L73J.js'),chunkHME64W2O_js=require('./chunk-HME64W2O.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}=chunkHME64W2O_js.ha(({controller:{isEnded:E}})=>({isEnded:E}),reactRedux.shallowEqual);react.useEffect(()=>(i=setInterval(()=>chunkD7CTAABP_js.a(),chunkQHZJEU27_js.c),()=>clearInterval(i)),[]),react.useEffect(()=>{chunkHME64W2O_js.fa("isEnded")&&clearInterval(i);},[o]);},ie=Pe;chunkWO4IQUGO_js.e();var Le=i=>{let[o,E]=react.useState([]),[l,m]=react.useState(0),{qualityLevels:s}=chunkHME64W2O_js.ha(({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],chunkHME64W2O_js.oa(chunkHME64W2O_js.ya(`${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]&&chunkHME64W2O_js.oa(chunkHME64W2O_js.ya(`${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]?(chunkHME64W2O_js.oa(chunkHME64W2O_js.za(l,o)),E([]),m(0)):m(new Date().getTime());},[o]);},le=Le;chunkWO4IQUGO_js.e();var Ae=()=>{react.useEffect(()=>{let i=()=>{chunkD7CTAABP_js.a();};return window.addEventListener("beforeunload",i),()=>window.removeEventListener("beforeunload",i)},[]);},me=Ae;var Te=()=>{let[i,o]=react.useState(void 0),E=chunkHME64W2O_js.ga(),{params:l,details:m,videoElementSizeInfo:s}=chunkHME64W2O_js.ha(({videoData:{params:e,details:a,videoElementSizeInfo:r}})=>({params:e,details:a,videoElementSizeInfo:r}),reactRedux.shallowEqual),{currentTime:t,duration:pe}=chunkHME64W2O_js.ha(({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(chunkHME64W2O_js.ia()?chunkHME64W2O_js.ia().currentTime:0);return ie(),me(),react.useLayoutEffect(()=>{let e=new d__default.default(chunkIGINC4KI_js.c());return chunkHME64W2O_js._(H),V.current=Date.now(),d__default.default.isSupported()?(e.attachMedia(chunkHME64W2O_js.ia()),e.on(d__default.default.Events.MEDIA_ATTACHED,()=>chunkIGINC4KI_js.f(d__default.default,e)),e.on(d__default.default.Events.FRAG_BUFFERED,()=>chunkIGINC4KI_js.g(e)),e.on(d__default.default.Events.FRAG_CHANGED,(a,r)=>chunkIGINC4KI_js.h(e,r,o)),e.on(d__default.default.Events.FRAG_PARSED,(a,r)=>chunkIGINC4KI_js.i(e,r,o)),e.on(d__default.default.Events.ERROR,(a,r)=>chunkHME64W2O_js.Fa(chunkIGINC4KI_js.j(r))),chunkHME64W2O_js.ia().addEventListener("waiting",a=>chunkIGINC4KI_js.k(a,y)),chunkHME64W2O_js.ia().addEventListener("seeking",a=>chunkIGINC4KI_js.l(a,y)),chunkHME64W2O_js.ia().addEventListener("play",a=>chunkIGINC4KI_js.m(a,g)),chunkHME64W2O_js.ia().addEventListener("playing",()=>chunkIGINC4KI_js.n(Ee,H,V,F,g,ce,y,ye)),chunkHME64W2O_js.ia().addEventListener("pause",chunkIGINC4KI_js.o),chunkHME64W2O_js.ia().addEventListener("timeupdate",chunkIGINC4KI_js.p),chunkHME64W2O_js.ia().addEventListener("canplay",chunkIGINC4KI_js.q),chunkHME64W2O_js.ia().addEventListener("ended",chunkIGINC4KI_js.r),chunkHME64W2O_js.ia().addEventListener("error",chunkIGINC4KI_js.a),document.addEventListener("visibilitychange",chunkIGINC4KI_js.D)):chunkHME64W2O_js.ia().canPlayType("application/vnd.apple.mpegurl")&&(chunkHME64W2O_js.ia().src=m.stream_link,chunkHME64W2O_js.ia().addEventListener("waiting",a=>chunkIGINC4KI_js.k(a,y)),chunkHME64W2O_js.ia().addEventListener("play",a=>chunkIGINC4KI_js.s(a,g)),chunkHME64W2O_js.ia().addEventListener("playing",chunkIGINC4KI_js.t),chunkHME64W2O_js.ia().addEventListener("canplay",chunkIGINC4KI_js.q),chunkHME64W2O_js.ia().addEventListener("timeupdate",chunkIGINC4KI_js.u),chunkHME64W2O_js.ia().addEventListener("ended",chunkIGINC4KI_js.v),chunkHME64W2O_js.ia().addEventListener("pause",chunkIGINC4KI_js.o),chunkIGINC4KI_js.b()),()=>{chunkVIQ5L73J_js.b(),e.detachMedia(),e.off(d__default.default.Events.MEDIA_ATTACHED,()=>chunkIGINC4KI_js.f(d__default.default,e)),e.off(d__default.default.Events.FRAG_BUFFERED,()=>chunkIGINC4KI_js.g(e)),e.off(d__default.default.Events.FRAG_CHANGED,(a,r)=>chunkIGINC4KI_js.h(e,r,o)),e.off(d__default.default.Events.FRAG_PARSED,(a,r)=>chunkIGINC4KI_js.i(e,r,o)),e.off(d__default.default.Events.ERROR,(a,r)=>chunkIGINC4KI_js.j(r)),e.off(d__default.default.Events.MANIFEST_PARSED,(a,r)=>chunkIGINC4KI_js.e(e,r)),document.removeEventListener("visibilitychange",chunkIGINC4KI_js.D);}},[m.stream_link]),react.useEffect(()=>{t<pe&&chunkHME64W2O_js.fa("isEnded")&&E(chunkHME64W2O_js.p(false));},[t]),react.useEffect(()=>{chunkHME64W2O_js.fa("hasPlayStatusParams")&&(l.playStatus?chunkHME64W2O_js.ia().play():chunkHME64W2O_js.ia().pause());},[l.playStatus]),le(i),chunkBOS4UPEA_js.b(),chunkBOS4UPEA_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:true,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:chunkHME64W2O_js.fa("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:chunkHME64W2O_js.fa("isStaticFormat")?"\u0628\u0646\u0631 \u0648\u06CC\u062F\u06CC\u0648 \u067E\u0644\u06CC\u0631 \u06A9\u0627\u0641\u0647 \u0648\u06CC\u062F\u06CC\u0648":m.title}),chunkHME64W2O_js.fa("hasSubtitlesInDetails")&&chunkHME64W2O_js.aa(m.subtitles).map(e=>jsxRuntime.jsx("track",{id:`player-tracker-${e.lang}`,src:e.url,label:chunkHME64W2O_js.ba(e.lang),kind:"subtitles",srcLang:e.lang},e.id))]})})},vn=Te;module.exports=vn;//# sourceMappingURL=nonStaticVideoTag-C6MCWMG2.js.map
|
|
2
|
+
//# sourceMappingURL=nonStaticVideoTag-C6MCWMG2.js.map
|
|
@@ -0,0 +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-C6MCWMG2.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}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=notActive-
|
|
1
|
+
import {a}from'./chunk-TM66GJCG.mjs';import {e}from'./chunk-NXC6LNWJ.mjs';import p from'next/legacy/image';import {jsxs,jsx}from'react/jsx-runtime';e();var m=()=>jsxs("div",{className:"pl-w-full pl-h-full pl-rounded-2xl pl-flex pl-flex-col pl-justify-center pl-items-center",children:[jsx("div",{className:"pl-flex pl-justify-center",children:jsx(p,{src:a.notFound,alt:"",width:120,height:70})}),jsx("h1",{className:"pl-text-[12px] pl-font-medium pl-text-black/[0.87] pl-mt-4 pl-mb-2",children:"\u0648\u06CC\u062F\u06CC\u0648\u06CC\u06CC \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0648\u062C\u0648\u062F \u0646\u062F\u0627\u0631\u0647"}),jsx("p",{className:"pl-text-[12px] pl-font-medium pl-text-black/[0.50]",children:"\u0645\u06CC\u200C\u062A\u0648\u0646\u06CC\u062F \u0648\u06CC\u062F\u06CC\u0648\u0647\u0627\u06CC \u0645\u0634\u0627\u0628\u0647 \u0628\u0627 \u0627\u0648\u0646 \u0631\u0648 \u0645\u0634\u0627\u0647\u062F\u0647 \u06A9\u0646\u06CC\u062F."})]}),f=m;export{f as default};//# sourceMappingURL=notActive-FNSATJST.mjs.map
|
|
2
|
+
//# sourceMappingURL=notActive-FNSATJST.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/components/custom-components/notActive/notActive.tsx"],"names":["init_esm_shims","NotActive","jsxs","jsx","Image","importImages_default","notActive_default"],"mappings":"oJAAAA,CAEA,EAAA,CAGMC,IAAAA,CAAAA,CAAY,IAEVC,IAAC,CAAA,KAAA,CAAA,CAAI,UAAW,0FACZ,CAAA,QAAA,CAAA,CAAAC,IAAC,KAAI,CAAA,CAAA,SAAA,CAAU,2BACX,CAAA,QAAA,CAAAA,GAACC,CAAAA,CAAAA,CAAA,CACG,GAAKC,CAAAA,CAAAA,CAAO,SACZ,GAAI,CAAA,EAAA,CACJ,MAAO,GACP,CAAA,MAAA,CAAQ,EACZ,CAAA,CAAA,CACJ,CACAF,CAAAA,GAAAA,CAAC,MAAG,SAAU,CAAA,oEAAA,CAAqE,QAA6B,CAAA,4JAAA,CAAA,CAAA,CAChHA,GAAC,CAAA,GAAA,CAAA,CAAE,UAAU,oDAAqD,CAAA,QAAA,CAAA,8OAAA,CAA8C,CACpH,CAAA,CAAA,CAAA,CAIDG,CAAQL,CAAAA","file":"notActive-
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/components/custom-components/notActive/notActive.tsx"],"names":["init_esm_shims","NotActive","jsxs","jsx","Image","importImages_default","notActive_default"],"mappings":"oJAAAA,CAEA,EAAA,CAGMC,IAAAA,CAAAA,CAAY,IAEVC,IAAC,CAAA,KAAA,CAAA,CAAI,UAAW,0FACZ,CAAA,QAAA,CAAA,CAAAC,IAAC,KAAI,CAAA,CAAA,SAAA,CAAU,2BACX,CAAA,QAAA,CAAAA,GAACC,CAAAA,CAAAA,CAAA,CACG,GAAKC,CAAAA,CAAAA,CAAO,SACZ,GAAI,CAAA,EAAA,CACJ,MAAO,GACP,CAAA,MAAA,CAAQ,EACZ,CAAA,CAAA,CACJ,CACAF,CAAAA,GAAAA,CAAC,MAAG,SAAU,CAAA,oEAAA,CAAqE,QAA6B,CAAA,4JAAA,CAAA,CAAA,CAChHA,GAAC,CAAA,GAAA,CAAA,CAAE,UAAU,oDAAqD,CAAA,QAAA,CAAA,8OAAA,CAA8C,CACpH,CAAA,CAAA,CAAA,CAIDG,CAAQL,CAAAA","file":"notActive-FNSATJST.mjs","sourcesContent":["\"use client\";\r\n\r\nimport Image from \"next/legacy/image\";\r\nimport IMAGES from \"../../../images/importImages\";\r\n\r\nconst NotActive = () => {\r\n return (\r\n <div className={`pl-w-full pl-h-full pl-rounded-2xl pl-flex pl-flex-col pl-justify-center pl-items-center`}>\r\n <div className=\"pl-flex pl-justify-center\">\r\n <Image \r\n src={IMAGES.notFound}\r\n alt=\"\"\r\n width={120}\r\n height={70}\r\n />\r\n </div>\r\n <h1 className=\"pl-text-[12px] pl-font-medium pl-text-black/[0.87] pl-mt-4 pl-mb-2\">ویدیویی برای نمایش وجود نداره</h1>\r\n <p className=\"pl-text-[12px] pl-font-medium pl-text-black/[0.50]\">میتونید ویدیوهای مشابه با اون رو مشاهده کنید.</p>\r\n </div>\r\n );\r\n};\r\n\r\nexport default NotActive;\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
//# sourceMappingURL=notActive-
|
|
1
|
+
'use strict';var chunk5FTEBU6O_js=require('./chunk-5FTEBU6O.js'),chunkWO4IQUGO_js=require('./chunk-WO4IQUGO.js'),p=require('next/legacy/image'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var p__default=/*#__PURE__*/_interopDefault(p);chunkWO4IQUGO_js.e();var m=()=>jsxRuntime.jsxs("div",{className:"pl-w-full pl-h-full pl-rounded-2xl pl-flex pl-flex-col pl-justify-center pl-items-center",children:[jsxRuntime.jsx("div",{className:"pl-flex pl-justify-center",children:jsxRuntime.jsx(p__default.default,{src:chunk5FTEBU6O_js.a.notFound,alt:"",width:120,height:70})}),jsxRuntime.jsx("h1",{className:"pl-text-[12px] pl-font-medium pl-text-black/[0.87] pl-mt-4 pl-mb-2",children:"\u0648\u06CC\u062F\u06CC\u0648\u06CC\u06CC \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0648\u062C\u0648\u062F \u0646\u062F\u0627\u0631\u0647"}),jsxRuntime.jsx("p",{className:"pl-text-[12px] pl-font-medium pl-text-black/[0.50]",children:"\u0645\u06CC\u200C\u062A\u0648\u0646\u06CC\u062F \u0648\u06CC\u062F\u06CC\u0648\u0647\u0627\u06CC \u0645\u0634\u0627\u0628\u0647 \u0628\u0627 \u0627\u0648\u0646 \u0631\u0648 \u0645\u0634\u0627\u0647\u062F\u0647 \u06A9\u0646\u06CC\u062F."})]}),a=m;module.exports=a;//# sourceMappingURL=notActive-YTLKQJYE.js.map
|
|
2
|
+
//# sourceMappingURL=notActive-YTLKQJYE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/components/custom-components/notActive/notActive.tsx"],"names":["init_cjs_shims","NotActive","jsxs","jsx","Image","importImages_default","notActive_default"],"mappings":"wSAAAA,kBAEA,EAAA,CAGMC,IAAAA,CAAAA,CAAY,IAEVC,eAAC,CAAA,KAAA,CAAA,CAAI,UAAW,0FACZ,CAAA,QAAA,CAAA,CAAAC,eAAC,KAAI,CAAA,CAAA,SAAA,CAAU,2BACX,CAAA,QAAA,CAAAA,cAACC,CAAAA,kBAAAA,CAAA,CACG,GAAKC,CAAAA,kBAAAA,CAAO,SACZ,GAAI,CAAA,EAAA,CACJ,MAAO,GACP,CAAA,MAAA,CAAQ,EACZ,CAAA,CAAA,CACJ,CACAF,CAAAA,cAAAA,CAAC,MAAG,SAAU,CAAA,oEAAA,CAAqE,QAA6B,CAAA,4JAAA,CAAA,CAAA,CAChHA,cAAC,CAAA,GAAA,CAAA,CAAE,UAAU,oDAAqD,CAAA,QAAA,CAAA,8OAAA,CAA8C,CACpH,CAAA,CAAA,CAAA,CAIDG,CAAQL,CAAAA","file":"notActive-
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/components/custom-components/notActive/notActive.tsx"],"names":["init_cjs_shims","NotActive","jsxs","jsx","Image","importImages_default","notActive_default"],"mappings":"wSAAAA,kBAEA,EAAA,CAGMC,IAAAA,CAAAA,CAAY,IAEVC,eAAC,CAAA,KAAA,CAAA,CAAI,UAAW,0FACZ,CAAA,QAAA,CAAA,CAAAC,eAAC,KAAI,CAAA,CAAA,SAAA,CAAU,2BACX,CAAA,QAAA,CAAAA,cAACC,CAAAA,kBAAAA,CAAA,CACG,GAAKC,CAAAA,kBAAAA,CAAO,SACZ,GAAI,CAAA,EAAA,CACJ,MAAO,GACP,CAAA,MAAA,CAAQ,EACZ,CAAA,CAAA,CACJ,CACAF,CAAAA,cAAAA,CAAC,MAAG,SAAU,CAAA,oEAAA,CAAqE,QAA6B,CAAA,4JAAA,CAAA,CAAA,CAChHA,cAAC,CAAA,GAAA,CAAA,CAAE,UAAU,oDAAqD,CAAA,QAAA,CAAA,8OAAA,CAA8C,CACpH,CAAA,CAAA,CAAA,CAIDG,CAAQL,CAAAA","file":"notActive-YTLKQJYE.js","sourcesContent":["\"use client\";\r\n\r\nimport Image from \"next/legacy/image\";\r\nimport IMAGES from \"../../../images/importImages\";\r\n\r\nconst NotActive = () => {\r\n return (\r\n <div className={`pl-w-full pl-h-full pl-rounded-2xl pl-flex pl-flex-col pl-justify-center pl-items-center`}>\r\n <div className=\"pl-flex pl-justify-center\">\r\n <Image \r\n src={IMAGES.notFound}\r\n alt=\"\"\r\n width={120}\r\n height={70}\r\n />\r\n </div>\r\n <h1 className=\"pl-text-[12px] pl-font-medium pl-text-black/[0.87] pl-mt-4 pl-mb-2\">ویدیویی برای نمایش وجود نداره</h1>\r\n <p className=\"pl-text-[12px] pl-font-medium pl-text-black/[0.50]\">میتونید ویدیوهای مشابه با اون رو مشاهده کنید.</p>\r\n </div>\r\n );\r\n};\r\n\r\nexport default NotActive;\r\n"]}
|
package/package.json
CHANGED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a}from'./chunk-MW3CX523.mjs';import'./chunk-O6OWG7HM.mjs';import'./chunk-OEFD3YXU.mjs';import'./chunk-VIUNI5PQ.mjs';import'./chunk-A7MEJC4F.mjs';import'./chunk-SIUJSGLY.mjs';import'./chunk-PJVN7RKN.mjs';import {fa}from'./chunk-YZYTKWCY.mjs';import'./chunk-TM66GJCG.mjs';import {e}from'./chunk-NXC6LNWJ.mjs';import {jsx}from'react/jsx-runtime';e();var l=()=>jsx("div",{className:`pl-w-full pl-aspect-video ${!fa("isTouchScreen")&&!fa("isFullScreen")&&"!pl-rounded-[12px]"}`,children:jsx(a,{})}),m=l;export{m as default};//# sourceMappingURL=staticPlayer-44ZMIIEA.mjs.map
|
|
2
|
+
//# sourceMappingURL=staticPlayer-44ZMIIEA.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/components/videoPlayer/staticPlayer/staticPlayer.tsx"],"names":["init_esm_shims","StaticPlayer","jsx","conditions","videoArea_default","staticPlayer_default"],"mappings":"+VAAAA,CAWQ,EAAA,CALFC,IAAAA,CAAAA,CAAe,IAEbC,GAAC,CAAA,KAAA,CAAA,CACD,SAAW,CAAA,CAAA,0BAAA,EAA6B,CAACC,EAAAA,CAAAA,eAAsC,GAAK,CAACA,EAAAA,CAAAA,cAAqC,CAAK,EAAA,oBAAoB,CAEnJ,CAAA,CAAA,QAAA,CAAAD,IAACE,CAAA,CAAA,EAAU,CACf,CAAA,CAAA,CAIGC,CAAQJ,CAAAA","file":"staticPlayer-
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/components/videoPlayer/staticPlayer/staticPlayer.tsx"],"names":["init_esm_shims","StaticPlayer","jsx","conditions","videoArea_default","staticPlayer_default"],"mappings":"+VAAAA,CAWQ,EAAA,CALFC,IAAAA,CAAAA,CAAe,IAEbC,GAAC,CAAA,KAAA,CAAA,CACD,SAAW,CAAA,CAAA,0BAAA,EAA6B,CAACC,EAAAA,CAAAA,eAAsC,GAAK,CAACA,EAAAA,CAAAA,cAAqC,CAAK,EAAA,oBAAoB,CAEnJ,CAAA,CAAA,QAAA,CAAAD,IAACE,CAAA,CAAA,EAAU,CACf,CAAA,CAAA,CAIGC,CAAQJ,CAAAA","file":"staticPlayer-44ZMIIEA.mjs","sourcesContent":["\"use client\";\r\n\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport VideoArea from \"../../custom-components/videoArea/videoArea\";\r\n\r\nconst StaticPlayer = () => {\r\n return (\r\n <div\r\n className={`pl-w-full pl-aspect-video ${!conditions(ConditionName.isTouchScreen) && !conditions(ConditionName.isFullScreen) && \"!pl-rounded-[12px]\"}`}\r\n >\r\n <VideoArea />\r\n </div>\r\n )\r\n}\r\n\r\nexport default StaticPlayer;"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkC4TEAPRX_js=require('./chunk-C4TEAPRX.js');require('./chunk-TDHILUXF.js'),require('./chunk-TVDVQALL.js'),require('./chunk-EDQKSY4F.js'),require('./chunk-7GSH5XMZ.js'),require('./chunk-QHZJEU27.js'),require('./chunk-VIQ5L73J.js');var chunkHME64W2O_js=require('./chunk-HME64W2O.js');require('./chunk-5FTEBU6O.js');var chunkWO4IQUGO_js=require('./chunk-WO4IQUGO.js'),jsxRuntime=require('react/jsx-runtime');chunkWO4IQUGO_js.e();var l=()=>jsxRuntime.jsx("div",{className:`pl-w-full pl-aspect-video ${!chunkHME64W2O_js.fa("isTouchScreen")&&!chunkHME64W2O_js.fa("isFullScreen")&&"!pl-rounded-[12px]"}`,children:jsxRuntime.jsx(chunkC4TEAPRX_js.a,{})}),a=l;module.exports=a;//# sourceMappingURL=staticPlayer-7X27HEUG.js.map
|
|
2
|
+
//# sourceMappingURL=staticPlayer-7X27HEUG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/components/videoPlayer/staticPlayer/staticPlayer.tsx"],"names":["init_cjs_shims","StaticPlayer","jsx","conditions","videoArea_default","staticPlayer_default"],"mappings":"0aAAAA,kBAWQ,EAAA,CALFC,IAAAA,CAAAA,CAAe,IAEbC,cAAC,CAAA,KAAA,CAAA,CACD,SAAW,CAAA,CAAA,0BAAA,EAA6B,CAACC,mBAAAA,CAAAA,eAAsC,GAAK,CAACA,mBAAAA,CAAAA,cAAqC,CAAK,EAAA,oBAAoB,CAEnJ,CAAA,CAAA,QAAA,CAAAD,eAACE,kBAAA,CAAA,EAAU,CACf,CAAA,CAAA,CAIGC,CAAQJ,CAAAA","file":"staticPlayer-
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/components/videoPlayer/staticPlayer/staticPlayer.tsx"],"names":["init_cjs_shims","StaticPlayer","jsx","conditions","videoArea_default","staticPlayer_default"],"mappings":"0aAAAA,kBAWQ,EAAA,CALFC,IAAAA,CAAAA,CAAe,IAEbC,cAAC,CAAA,KAAA,CAAA,CACD,SAAW,CAAA,CAAA,0BAAA,EAA6B,CAACC,mBAAAA,CAAAA,eAAsC,GAAK,CAACA,mBAAAA,CAAAA,cAAqC,CAAK,EAAA,oBAAoB,CAEnJ,CAAA,CAAA,QAAA,CAAAD,eAACE,kBAAA,CAAA,EAAU,CACf,CAAA,CAAA,CAIGC,CAAQJ,CAAAA","file":"staticPlayer-7X27HEUG.js","sourcesContent":["\"use client\";\r\n\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport VideoArea from \"../../custom-components/videoArea/videoArea\";\r\n\r\nconst StaticPlayer = () => {\r\n return (\r\n <div\r\n className={`pl-w-full pl-aspect-video ${!conditions(ConditionName.isTouchScreen) && !conditions(ConditionName.isFullScreen) && \"!pl-rounded-[12px]\"}`}\r\n >\r\n <VideoArea />\r\n </div>\r\n )\r\n}\r\n\r\nexport default StaticPlayer;"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b,a}from'./chunk-MZP43FH7.mjs';import {a as a$1,B,z,y,x,w,A}from'./chunk-J6UYAT2V.mjs';import'./chunk-PJVN7RKN.mjs';import {ga,ha,_,fa,aa,ba,ia,t}from'./chunk-YZYTKWCY.mjs';import {e}from'./chunk-NXC6LNWJ.mjs';import {useRef,useEffect}from'react';import {shallowEqual}from'react-redux';import A$1 from'next/legacy/image';import {jsxs,jsx}from'react/jsx-runtime';e();var C=()=>{let T=ga(),{params:a$2}=ha(({videoData:{params:e}})=>({params:e}),shallowEqual);ha(({controller:{firstPlay:e}})=>({firstPlay:e}),shallowEqual);let r=useRef(0),l=useRef(0),d=useRef(null),s=useRef(null);return useEffect(()=>{_(r),l.current=Date.now();},[]),useEffect(()=>{let e=()=>{let m=ia()?.getBoundingClientRect();m&&T(t(m));};return fa("isFirstPlay")&&e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearInterval(s.current);}},[a$2.id]),b(),a(),jsxs("video",{poster:a$2.banner?a$2.banner:void 0,preload:"metadata",autoPlay:fa("hasAutoPlay"),id:"player-tag",crossOrigin:"anonymous",className:"pl-w-full pl-h-full pl-items-center pl-flex-1",onCanPlay:A,onPause:w,onPlay:e=>x(e,d),onPlaying:()=>y(r,l,d),onTimeUpdate:z,onLoadedData:e=>B(e,s),onError:a$1,playsInline:true,children:[a$2.banner&&jsx(A$1,{layout:"fill",src:a$2.banner,alt:a$2.bannerAlt?a$2.bannerAlt:"\u0628\u0646\u0631 \u0648\u06CC\u062F\u06CC\u0648 \u067E\u0644\u06CC\u0631 \u06A9\u0627\u0641\u0647 \u0648\u06CC\u062F\u06CC\u0648"}),jsx("source",{src:a$2.id}),fa("hasSubtitlesInParams")&&aa(a$2.subtitles).map(e=>jsx("track",{id:`player-tracker-${e.lang}`,src:e.url,label:ba(e.lang),kind:"subtitles",srcLang:e.lang},e.id))]})},Q=C;export{Q as default};//# sourceMappingURL=staticVideoTag-TO5HBYDE.mjs.map
|
|
2
|
+
//# sourceMappingURL=staticVideoTag-TO5HBYDE.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/components/custom-components/videoTag/staticVideoTag.tsx"],"names":["init_esm_shims","StaticVideoTag","dispatch","useAppDispatch","params","useAppSelector","shallowEqual","firstPlay","loadingDurationRef","useRef","initialWaitingDurationRef","timerRef","intervalRef","useEffect","handlePageLoadTime","handleResize","element","mainPlayerVideoTag","setVideoElementSizeInfo","conditions","useHideSubtitle_default","useJumpToCurrentTime_default","jsxs","handleStaticVideoCanPlay","handleStaticVideoPause","event","handleStaticVideoPlay","handleStaticVideoPlaying","handleStaticVideoTimeUpdate","handleStaticVideoLoadedData","handleVideoError","jsx","Image","sortLanguages","subtitle","getSubtitleLabel","staticVideoTag_default"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/components/custom-components/videoTag/staticVideoTag.tsx"],"names":["init_esm_shims","StaticVideoTag","dispatch","useAppDispatch","params","useAppSelector","shallowEqual","firstPlay","loadingDurationRef","useRef","initialWaitingDurationRef","timerRef","intervalRef","useEffect","handlePageLoadTime","handleResize","element","mainPlayerVideoTag","setVideoElementSizeInfo","conditions","useHideSubtitle_default","useJumpToCurrentTime_default","jsxs","handleStaticVideoCanPlay","handleStaticVideoPause","event","handleStaticVideoPlay","handleStaticVideoPlaying","handleStaticVideoTimeUpdate","handleStaticVideoLoadedData","handleVideoError","jsx","Image","sortLanguages","subtitle","getSubtitleLabel","staticVideoTag_default"],"mappings":"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","file":"staticVideoTag-TO5HBYDE.mjs","sourcesContent":["import { useEffect, useRef } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { getSubtitleLabel, handlePageLoadTime, sortLanguages } from \"../../../helpers/helpers\";\r\nimport { mainPlayerVideoTag } from \"../../../helpers/constants\";\r\nimport { setVideoElementSizeInfo } from \"../../../helpers/redux/slices/videoDataSlice\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { handleStaticVideoCanPlay, handleStaticVideoLoadedData, handleStaticVideoPause, handleStaticVideoPlay, handleStaticVideoPlaying, handleStaticVideoTimeUpdate, handleVideoError } from \"../../../helpers/redux/actions/playerCore.actions\";\r\nimport useJumpToCurrentTime from \"../../../helpers/hooks/useJumpToCurrentTime\";\r\nimport { ISubtitle } from \"../../../helpers/interfaces/interfaces\";\r\nimport useHideSubtitle from \"../../../helpers/hooks/useHideSubtitle\";\r\nimport Image from \"next/legacy/image\";\r\n\r\nconst StaticVideoTag = () => {\r\n const dispatch = useAppDispatch();\r\n const { params } = useAppSelector(({ videoData: { params } }) => ({ params }), shallowEqual);\r\n useAppSelector(({ controller: { firstPlay } }) => ({ firstPlay }), shallowEqual);\r\n const loadingDurationRef = useRef<any>(0);\r\n const initialWaitingDurationRef = useRef<any>(0);\r\n const timerRef = useRef<any>(null);\r\n const intervalRef = useRef<any>(null);\r\n\r\n useEffect(() => {\r\n handlePageLoadTime(loadingDurationRef);\r\n initialWaitingDurationRef.current = Date.now();\r\n \r\n }, []);\r\n\r\n useEffect(() => {\r\n const handleResize = () => {\r\n const element: any = mainPlayerVideoTag()?.getBoundingClientRect();\r\n if (element) dispatch(setVideoElementSizeInfo(element));\r\n };\r\n if (conditions(ConditionName.isFirstPlay)) handleResize();\r\n window.addEventListener(\"resize\", handleResize);\r\n \r\n return () => {\r\n window.removeEventListener(\"resize\", handleResize);\r\n clearInterval(intervalRef.current);\r\n };\r\n }, [params.id]);\r\n\r\n useHideSubtitle();\r\n useJumpToCurrentTime();\r\n\r\n return (\r\n <video\r\n poster={params.banner ? params.banner : undefined}\r\n preload=\"metadata\"\r\n autoPlay={conditions(ConditionName.hasAutoPlay)}\r\n id=\"player-tag\"\r\n crossOrigin=\"anonymous\"\r\n className={`pl-w-full pl-h-full pl-items-center pl-flex-1`}\r\n onCanPlay={handleStaticVideoCanPlay}\r\n onPause={handleStaticVideoPause}\r\n onPlay={(event) => handleStaticVideoPlay(event, timerRef)}\r\n onPlaying={() => handleStaticVideoPlaying(loadingDurationRef, initialWaitingDurationRef, timerRef)}\r\n onTimeUpdate={handleStaticVideoTimeUpdate}\r\n onLoadedData={(event) => handleStaticVideoLoadedData(event, intervalRef)}\r\n onError={handleVideoError}\r\n playsInline\r\n >\r\n {params.banner && <Image layout=\"fill\" src={params.banner} alt={params.bannerAlt ? params.bannerAlt : \"بنر ویدیو پلیر کافه ویدیو\"} />}\r\n <source src={params.id} />\r\n {conditions(ConditionName.hasSubtitlesInParams) &&\r\n sortLanguages(params.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 )}\r\n </video>\r\n );\r\n};\r\n\r\nexport default StaticVideoTag;\r\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkBOS4UPEA_js=require('./chunk-BOS4UPEA.js'),chunkIGINC4KI_js=require('./chunk-IGINC4KI.js');require('./chunk-VIQ5L73J.js');var chunkHME64W2O_js=require('./chunk-HME64W2O.js'),chunkWO4IQUGO_js=require('./chunk-WO4IQUGO.js'),react=require('react'),reactRedux=require('react-redux'),A=require('next/legacy/image'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var A__default=/*#__PURE__*/_interopDefault(A);chunkWO4IQUGO_js.e();var C=()=>{let T=chunkHME64W2O_js.ga(),{params:a}=chunkHME64W2O_js.ha(({videoData:{params:e}})=>({params:e}),reactRedux.shallowEqual);chunkHME64W2O_js.ha(({controller:{firstPlay:e}})=>({firstPlay:e}),reactRedux.shallowEqual);let r=react.useRef(0),l=react.useRef(0),d=react.useRef(null),s=react.useRef(null);return react.useEffect(()=>{chunkHME64W2O_js._(r),l.current=Date.now();},[]),react.useEffect(()=>{let e=()=>{let m=chunkHME64W2O_js.ia()?.getBoundingClientRect();m&&T(chunkHME64W2O_js.t(m));};return chunkHME64W2O_js.fa("isFirstPlay")&&e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearInterval(s.current);}},[a.id]),chunkBOS4UPEA_js.b(),chunkBOS4UPEA_js.a(),jsxRuntime.jsxs("video",{poster:a.banner?a.banner:void 0,preload:"metadata",autoPlay:chunkHME64W2O_js.fa("hasAutoPlay"),id:"player-tag",crossOrigin:"anonymous",className:"pl-w-full pl-h-full pl-items-center pl-flex-1",onCanPlay:chunkIGINC4KI_js.A,onPause:chunkIGINC4KI_js.w,onPlay:e=>chunkIGINC4KI_js.x(e,d),onPlaying:()=>chunkIGINC4KI_js.y(r,l,d),onTimeUpdate:chunkIGINC4KI_js.z,onLoadedData:e=>chunkIGINC4KI_js.B(e,s),onError:chunkIGINC4KI_js.a,playsInline:true,children:[a.banner&&jsxRuntime.jsx(A__default.default,{layout:"fill",src:a.banner,alt:a.bannerAlt?a.bannerAlt:"\u0628\u0646\u0631 \u0648\u06CC\u062F\u06CC\u0648 \u067E\u0644\u06CC\u0631 \u06A9\u0627\u0641\u0647 \u0648\u06CC\u062F\u06CC\u0648"}),jsxRuntime.jsx("source",{src:a.id}),chunkHME64W2O_js.fa("hasSubtitlesInParams")&&chunkHME64W2O_js.aa(a.subtitles).map(e=>jsxRuntime.jsx("track",{id:`player-tracker-${e.lang}`,src:e.url,label:chunkHME64W2O_js.ba(e.lang),kind:"subtitles",srcLang:e.lang},e.id))]})},M=C;module.exports=M;//# sourceMappingURL=staticVideoTag-YUBA5OAZ.js.map
|
|
2
|
+
//# sourceMappingURL=staticVideoTag-YUBA5OAZ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/components/custom-components/videoTag/staticVideoTag.tsx"],"names":["init_cjs_shims","StaticVideoTag","dispatch","useAppDispatch","params","useAppSelector","shallowEqual","firstPlay","loadingDurationRef","useRef","initialWaitingDurationRef","timerRef","intervalRef","useEffect","handlePageLoadTime","handleResize","element","mainPlayerVideoTag","setVideoElementSizeInfo","conditions","useHideSubtitle_default","useJumpToCurrentTime_default","jsxs","handleStaticVideoCanPlay","handleStaticVideoPause","event","handleStaticVideoPlay","handleStaticVideoPlaying","handleStaticVideoTimeUpdate","handleStaticVideoLoadedData","handleVideoError","jsx","Image","sortLanguages","subtitle","getSubtitleLabel","staticVideoTag_default"],"mappings":"oeAAAA,kBAAAA,EAAAA,CAcA,IAAMC,CAAiB,CAAA,IAAM,CACzB,IAAMC,CAAWC,CAAAA,mBAAAA,EACX,CAAA,CAAE,MAAAC,CAAAA,CAAO,CAAIC,CAAAA,mBAAAA,CAAe,CAAC,CAAE,SAAW,CAAA,CAAE,MAAAD,CAAAA,CAAO,CAAE,CAAA,IAAO,CAAE,MAAA,CAAAA,CAAO,CAAA,CAAA,CAAIE,uBAAY,CAAA,CAC3FD,mBAAe,CAAA,CAAC,CAAE,UAAA,CAAY,CAAE,SAAA,CAAAE,CAAU,CAAE,CAAO,IAAA,CAAE,SAAAA,CAAAA,CAAU,CAAID,CAAAA,CAAAA,uBAAY,CAC/E,CAAA,IAAME,CAAqBC,CAAAA,YAAAA,CAAY,CAAC,CAAA,CAClCC,CAA4BD,CAAAA,YAAAA,CAAY,CAAC,CAAA,CACzCE,CAAWF,CAAAA,YAAAA,CAAY,IAAI,CAAA,CAC3BG,CAAcH,CAAAA,YAAAA,CAAY,IAAI,CAAA,CAEpC,OAAAI,eAAAA,CAAU,IAAM,CACZC,kBAAmBN,CAAAA,CAAkB,CACrCE,CAAAA,CAAAA,CAA0B,OAAU,CAAA,IAAA,CAAK,GAAI,GAEjD,CAAG,CAAA,EAAE,CAAA,CAELG,eAAU,CAAA,IAAM,CACZ,IAAME,CAAe,CAAA,IAAM,CACvB,IAAMC,CAAeC,CAAAA,mBAAAA,EAAsB,EAAA,qBAAA,EACvCD,CAAAA,CAAAA,EAASd,CAASgB,CAAAA,kBAAAA,CAAwBF,CAAO,CAAC,EAC1D,CAAA,CACA,OAAIG,mBAAAA,CAAAA,aAAoC,CAAGJ,EAAAA,CAAAA,EAC3C,CAAA,MAAA,CAAO,gBAAiB,CAAA,QAAA,CAAUA,CAAY,CAAA,CAEvC,IAAM,CACT,MAAO,CAAA,mBAAA,CAAoB,QAAUA,CAAAA,CAAY,CACjD,CAAA,aAAA,CAAcH,CAAY,CAAA,OAAO,EACrC,CACJ,CAAG,CAAA,CAACR,CAAO,CAAA,EAAE,CAAC,CAAA,CAEdgB,kBAAgB,EAAA,CAChBC,kBAAqB,EAAA,CAGjBC,eAAC,CAAA,OAAA,CAAA,CACG,MAAQlB,CAAAA,CAAAA,CAAO,MAASA,CAAAA,CAAAA,CAAO,MAAS,CAAA,MAAA,CACxC,OAAQ,CAAA,UAAA,CACR,QAAUe,CAAAA,mBAAAA,CAAAA,aAAoC,CAC9C,CAAA,EAAA,CAAG,YACH,CAAA,WAAA,CAAY,WACZ,CAAA,SAAA,CAAW,+CACX,CAAA,SAAA,CAAWI,kBACX,CAAA,OAAA,CAASC,kBACT,CAAA,MAAA,CAASC,CAAUC,EAAAA,kBAAAA,CAAsBD,CAAOd,CAAAA,CAAQ,CACxD,CAAA,SAAA,CAAW,IAAMgB,kBAAAA,CAAyBnB,CAAoBE,CAAAA,CAAAA,CAA2BC,CAAQ,CAAA,CACjG,YAAciB,CAAAA,kBAAAA,CACd,YAAeH,CAAAA,CAAAA,EAAUI,kBAA4BJ,CAAAA,CAAAA,CAAOb,CAAW,CAAA,CACvE,OAASkB,CAAAA,kBAAAA,CACT,WAAW,CAAA,IAAA,CAEV,QAAA1B,CAAAA,CAAAA,CAAAA,CAAO,MAAU2B,EAAAA,cAAAA,CAACC,kBAAA,CAAA,CAAM,MAAO,CAAA,MAAA,CAAO,GAAK5B,CAAAA,CAAAA,CAAO,MAAQ,CAAA,GAAA,CAAKA,CAAO,CAAA,SAAA,CAAYA,CAAO,CAAA,SAAA,CAAY,oIAA6B,CAAA,CAAA,CACnI2B,cAAC,CAAA,QAAA,CAAA,CAAO,GAAK3B,CAAAA,CAAAA,CAAO,EAAI,CAAA,CAAA,CACvBe,mBAA6C,CAAA,sBAAA,CAAA,EAC1Cc,
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/components/custom-components/videoTag/staticVideoTag.tsx"],"names":["init_cjs_shims","StaticVideoTag","dispatch","useAppDispatch","params","useAppSelector","shallowEqual","firstPlay","loadingDurationRef","useRef","initialWaitingDurationRef","timerRef","intervalRef","useEffect","handlePageLoadTime","handleResize","element","mainPlayerVideoTag","setVideoElementSizeInfo","conditions","useHideSubtitle_default","useJumpToCurrentTime_default","jsxs","handleStaticVideoCanPlay","handleStaticVideoPause","event","handleStaticVideoPlay","handleStaticVideoPlaying","handleStaticVideoTimeUpdate","handleStaticVideoLoadedData","handleVideoError","jsx","Image","sortLanguages","subtitle","getSubtitleLabel","staticVideoTag_default"],"mappings":"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","file":"staticVideoTag-YUBA5OAZ.js","sourcesContent":["import { useEffect, useRef } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { getSubtitleLabel, handlePageLoadTime, sortLanguages } from \"../../../helpers/helpers\";\r\nimport { mainPlayerVideoTag } from \"../../../helpers/constants\";\r\nimport { setVideoElementSizeInfo } from \"../../../helpers/redux/slices/videoDataSlice\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { handleStaticVideoCanPlay, handleStaticVideoLoadedData, handleStaticVideoPause, handleStaticVideoPlay, handleStaticVideoPlaying, handleStaticVideoTimeUpdate, handleVideoError } from \"../../../helpers/redux/actions/playerCore.actions\";\r\nimport useJumpToCurrentTime from \"../../../helpers/hooks/useJumpToCurrentTime\";\r\nimport { ISubtitle } from \"../../../helpers/interfaces/interfaces\";\r\nimport useHideSubtitle from \"../../../helpers/hooks/useHideSubtitle\";\r\nimport Image from \"next/legacy/image\";\r\n\r\nconst StaticVideoTag = () => {\r\n const dispatch = useAppDispatch();\r\n const { params } = useAppSelector(({ videoData: { params } }) => ({ params }), shallowEqual);\r\n useAppSelector(({ controller: { firstPlay } }) => ({ firstPlay }), shallowEqual);\r\n const loadingDurationRef = useRef<any>(0);\r\n const initialWaitingDurationRef = useRef<any>(0);\r\n const timerRef = useRef<any>(null);\r\n const intervalRef = useRef<any>(null);\r\n\r\n useEffect(() => {\r\n handlePageLoadTime(loadingDurationRef);\r\n initialWaitingDurationRef.current = Date.now();\r\n \r\n }, []);\r\n\r\n useEffect(() => {\r\n const handleResize = () => {\r\n const element: any = mainPlayerVideoTag()?.getBoundingClientRect();\r\n if (element) dispatch(setVideoElementSizeInfo(element));\r\n };\r\n if (conditions(ConditionName.isFirstPlay)) handleResize();\r\n window.addEventListener(\"resize\", handleResize);\r\n \r\n return () => {\r\n window.removeEventListener(\"resize\", handleResize);\r\n clearInterval(intervalRef.current);\r\n };\r\n }, [params.id]);\r\n\r\n useHideSubtitle();\r\n useJumpToCurrentTime();\r\n\r\n return (\r\n <video\r\n poster={params.banner ? params.banner : undefined}\r\n preload=\"metadata\"\r\n autoPlay={conditions(ConditionName.hasAutoPlay)}\r\n id=\"player-tag\"\r\n crossOrigin=\"anonymous\"\r\n className={`pl-w-full pl-h-full pl-items-center pl-flex-1`}\r\n onCanPlay={handleStaticVideoCanPlay}\r\n onPause={handleStaticVideoPause}\r\n onPlay={(event) => handleStaticVideoPlay(event, timerRef)}\r\n onPlaying={() => handleStaticVideoPlaying(loadingDurationRef, initialWaitingDurationRef, timerRef)}\r\n onTimeUpdate={handleStaticVideoTimeUpdate}\r\n onLoadedData={(event) => handleStaticVideoLoadedData(event, intervalRef)}\r\n onError={handleVideoError}\r\n playsInline\r\n >\r\n {params.banner && <Image layout=\"fill\" src={params.banner} alt={params.bannerAlt ? params.bannerAlt : \"بنر ویدیو پلیر کافه ویدیو\"} />}\r\n <source src={params.id} />\r\n {conditions(ConditionName.hasSubtitlesInParams) &&\r\n sortLanguages(params.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 )}\r\n </video>\r\n );\r\n};\r\n\r\nexport default StaticVideoTag;\r\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {ga,ha,fa,U as U$1,P,oa,ua,va,f,J,ia}from'./chunk-YZYTKWCY.mjs';import {a}from'./chunk-TM66GJCG.mjs';import {e}from'./chunk-NXC6LNWJ.mjs';import X from'next/legacy/image';import {useState,useRef,useEffect}from'react';import {shallowEqual}from'react-redux';import {jsxs,jsx,Fragment}from'react/jsx-runtime';e();e();var Y=({className:r,onClick:p})=>jsx("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:r,onClick:p,children:jsxs("g",{opacity:"0.7",children:[jsx("path",{d:"M11.6997 10.7997C12.2247 10.2747 13.1247 10.6497 13.1247 11.3914V13.833C13.1247 15.2664 12.6081 16.3414 11.6831 16.858C11.3081 17.0664 10.8914 17.1664 10.4581 17.1664C9.79141 17.1664 9.07474 16.9414 8.34141 16.483L7.80807 16.1497C7.35807 15.8664 7.28307 15.233 7.65807 14.858L11.6997 10.7997Z"}),jsx("path",{d:"M18.141 1.85742C17.891 1.60742 17.4827 1.60742 17.2327 1.85742L13.1077 5.98242C13.0577 4.64909 12.5577 3.64909 11.6743 3.15742C10.741 2.64076 9.54935 2.77409 8.33268 3.53242L5.90768 5.04909C5.74102 5.14909 5.54935 5.20742 5.35768 5.20742H4.58268H4.16602C2.14935 5.20742 1.04102 6.31575 1.04102 8.33242V11.6658C1.04102 13.6824 2.14935 14.7908 4.16602 14.7908H4.29935L1.84935 17.2408C1.59935 17.4908 1.59935 17.8991 1.84935 18.1491C1.98268 18.2658 2.14102 18.3324 2.30768 18.3324C2.47435 18.3324 2.63268 18.2658 2.75768 18.1408L18.141 2.75742C18.3994 2.50742 18.3994 2.10742 18.141 1.85742Z"})]})}),z=Y;e();var W=({className:r,onClick:p})=>jsx("svg",{width:"13",height:"16",viewBox:"0 0 13 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:r,onClick:p,children:jsx("path",{d:"M10.6827 1.14944C9.74935 0.632778 8.55768 0.766111 7.34102 1.52444L4.90768 3.04944C4.74102 3.14944 4.54935 3.20778 4.35768 3.20778H3.58268H3.16602C1.14935 3.20778 0.0410156 4.31611 0.0410156 6.33278V9.66611C0.0410156 11.6828 1.14935 12.7911 3.16602 12.7911H3.58268H4.35768C4.54935 12.7911 4.74102 12.8494 4.90768 12.9494L7.34102 14.4744C8.07435 14.9328 8.79102 15.1578 9.45768 15.1578C9.89102 15.1578 10.3077 15.0578 10.6827 14.8494C11.6077 14.3328 12.1243 13.2578 12.1243 11.8244V4.17444C12.1243 2.74111 11.6077 1.66611 10.6827 1.14944Z"})}),U=W;var F=()=>{let[r,p]=useState(""),m=ga(),{settings:l}=ha(({user:{settings:s}})=>({settings:s}),shallowEqual),v=useRef(l.brightness),g=useRef(l.volume),b=useRef(r);useEffect(()=>{b.current=r;},[r]),useEffect(()=>{let s=0,i=e=>{fa("hidePopovers")&&!U$1(e,"progress-area")&&(s=e.touches[0].clientY);},u=e=>{fa("hidePopovers")&&!U$1(e,"progress-area")&&(e.stopPropagation(),e.touches[0].clientX>window.innerWidth/2?E(e,"volume",s,window.innerHeight):e.touches[0].clientX<window.innerWidth/2&&E(e,"brightness",s,window.innerHeight));},c=()=>{let{settings:e}=P.getState().user;b.current==="brightness"&&v.current!==e.brightness?(oa(ua(v.current,e.brightness)),v.current=e.brightness):b.current==="volume"&&g.current!==e.volume&&(oa(va(g.current,e.volume)),g.current=e.volume),setTimeout(()=>p(""),500);};return document.addEventListener("touchstart",e=>i(e)),document.addEventListener("touchmove",e=>u(e)),document.addEventListener("touchend",()=>c()),()=>{document.removeEventListener("touchstart",e=>i(e)),document.removeEventListener("touchmove",e=>u(e)),document.removeEventListener("touchend",()=>c());}},[]),useEffect(()=>{l.volume===0&&!r&&(g.current=0);},[l.volume]);let E=(s,i,u,c)=>{let{settings:e}=P.getState().user,{activePointerProgressBar:$}=P.getState().controller;try{$||m(f(!1)),s.stopPropagation(),p(i);let{height:x}=document.getElementsByClassName("pl-bar")[0].getBoundingClientRect();if(i==="volume"){let o=e.volume+(u-s.touches[0].clientY)/40*x/c,d;o>100?d=100:o<0?d=0:d=Math.ceil(Math.abs(o)),m(J({...e,volume:d})),ia().volume=d/100;}else if(i==="brightness"){let o=e.brightness+(u-s.touches[0].clientY)/40*x/c;o>100?m(J({...e,brightness:100})):o<0?m(J({...e,brightness:0})):m(J({...e,brightness:Math.ceil(Math.abs(o))}));}}catch{return false}};return jsxs("div",{id:"volume-brightness",children:[jsx("div",{className:"pl-fixed pl-w-screen pl-h-screen pl-top-0 pl-right-0 pl-bg-black",style:{opacity:l.brightness<10?.9:1-l.brightness/100}}),jsxs("div",{className:"pl-absolute pl-top-0 pl-right-0 pl-w-full pl-h-full pl-flex pl-justify-between pl-items-center",children:[jsx("div",{className:"pl-flex pl-items-center pl-flex-1 pl-h-full pl-pr-6",children:jsx("div",{id:"volume-progressbar",className:`pl-bar pl-relative pl-w-6 pl-h-[200px] ${r==="volume"&&"pl-bg-gray-300"} pl-rounded-[50px] pl-overflow-hidden pl-max-h-[80vh] pl-flex pl-items-end pl-justify-end`,children:r==="volume"&&jsxs(Fragment,{children:[jsx("div",{className:"pl-absolute pl-w-full pl-bg-secondary-600 pl-rounded-b-[50px]",style:{height:`${l.volume}%`}}),jsxs("div",{className:"pl-mb-[7px] pl-ml-0.5 pl-flex pl-gap-1 pl-items-center",children:[jsxs("div",{className:"pl-relative pl-flex pl-items-center",children:[l.volume>0&&jsx("div",{className:"pl-absolute pl-right-[2px] pl-w-2 pl-h-2 pl-rounded-full pl-flex pl-items-center pl-justify-center pl-border-2 pl-border-transparent pl-border-r-2 pl-border-r-z-yellow-light"}),l.volume>33&&jsx("div",{className:"pl-absolute pl-right-[-1px] pl-w-3 pl-h-3 pl-rounded-full pl-flex pl-items-center pl-justify-center pl-border-2 pl-border-transparent pl-border-r-2 pl-border-r-z-yellow-light"}),l.volume>66&&jsx("div",{className:"pl-absolute pl-right-[-4px] pl-w-4 pl-h-4 pl-rounded-full pl-flex pl-items-center pl-justify-center pl-border-2 pl-border-transparent pl-border-r-2 pl-border-r-z-yellow-light"})]}),l.volume===0?jsx(z,{className:"pl-z-[1] pl-w-[13px] pl-h-[13px] pl-fill-dark-7"}):jsx(U,{className:"pl-z-[1] pl-w-[13px] pl-h-[13px] pl-fill-dark-7"})]})]})})}),r&&jsx("div",{className:"pl-bg-secondary-700/[0.8] pl-rounded-full pl-w-[54px] pl-h-[54px] pl-flex pl-items-center pl-justify-center pl-text-[32px] pl-font-normal pl-text-white",children:r==="volume"?l.volume:l.brightness}),jsx("div",{className:"pl-flex pl-items-center pl-justify-end pl-flex-1 pl-h-full pl-pl-6",children:jsx("div",{id:"brightness-progressbar",className:`pl-bar pl-relative pl-w-6 pl-h-[200px] ${r==="brightness"&&"pl-bg-gray-300"} pl-rounded-[50px] pl-overflow-hidden pl-max-h-[80vh] pl-flex pl-items-end pl-justify-end`,children:r==="brightness"&&jsxs(Fragment,{children:[jsx("div",{className:"pl-absolute pl-w-full pl-bg-primary-600 pl-rounded-b-[50px]",style:{height:`${l.brightness}%`}}),jsx("div",{className:"pl-mb-[7px] pl-ml-0.5 pl-flex pl-gap-1 pl-items-center",style:{opacity:l.brightness/100},children:jsx(X,{alt:"",src:a.sun,className:"pl-flex-1",width:20,height:20})})]})})})]})]})},ve=F;
|
|
2
|
+
export{ve as default};//# sourceMappingURL=touchVolumeBrightness-27EBEX5W.mjs.map
|
|
3
|
+
//# sourceMappingURL=touchVolumeBrightness-27EBEX5W.mjs.map
|