cafe-video-player 3.0.16 → 3.0.17
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/index.cjs +10 -0
- package/index.cjs.map +1 -0
- package/index.js +9 -1
- package/index.js.map +1 -1
- package/package.json +11 -5
- package/VideoHighLighter-32JJMCVS.mjs +0 -2
- package/VideoHighLighter-32JJMCVS.mjs.map +0 -1
- package/VideoHighLighter-6MYR26HW.js +0 -2
- package/VideoHighLighter-6MYR26HW.js.map +0 -1
- package/backwardForward-3X63XNNJ.mjs +0 -2
- package/backwardForward-3X63XNNJ.mjs.map +0 -1
- package/backwardForward-HTLSZBXC.js +0 -2
- package/backwardForward-HTLSZBXC.js.map +0 -1
- package/chunk-2DV7FRU5.mjs +0 -2
- package/chunk-2DV7FRU5.mjs.map +0 -1
- package/chunk-3TPEXSZV.js +0 -2
- package/chunk-3TPEXSZV.js.map +0 -1
- package/chunk-4QMWBTB5.mjs +0 -2
- package/chunk-4QMWBTB5.mjs.map +0 -1
- package/chunk-5UGSCO4K.js +0 -3
- package/chunk-5UGSCO4K.js.map +0 -1
- package/chunk-6LGS5W4B.mjs +0 -2
- package/chunk-6LGS5W4B.mjs.map +0 -1
- package/chunk-AK5TFAW3.js +0 -2
- package/chunk-AK5TFAW3.js.map +0 -1
- package/chunk-AN6JAJSI.js +0 -2
- package/chunk-AN6JAJSI.js.map +0 -1
- package/chunk-B4IVZEZN.mjs +0 -2
- package/chunk-B4IVZEZN.mjs.map +0 -1
- package/chunk-BNVNO5NH.js +0 -2
- package/chunk-BNVNO5NH.js.map +0 -1
- package/chunk-CG2KA4BX.js +0 -2
- package/chunk-CG2KA4BX.js.map +0 -1
- package/chunk-COYFW7R4.js +0 -3
- package/chunk-COYFW7R4.js.map +0 -1
- package/chunk-FXAWDALE.mjs +0 -2
- package/chunk-FXAWDALE.mjs.map +0 -1
- package/chunk-HOAJ3EFI.mjs +0 -3
- package/chunk-HOAJ3EFI.mjs.map +0 -1
- package/chunk-HZASW2B2.js +0 -2
- package/chunk-HZASW2B2.js.map +0 -1
- package/chunk-K4YPVDEE.js +0 -2
- package/chunk-K4YPVDEE.js.map +0 -1
- package/chunk-KSZ35TPK.js +0 -2
- package/chunk-KSZ35TPK.js.map +0 -1
- package/chunk-NLCBOGTI.mjs +0 -3
- package/chunk-NLCBOGTI.mjs.map +0 -1
- package/chunk-P4O3IKAQ.mjs +0 -2
- package/chunk-P4O3IKAQ.mjs.map +0 -1
- package/chunk-QFADUEGX.mjs +0 -2
- package/chunk-QFADUEGX.mjs.map +0 -1
- package/chunk-QXTVEBKD.mjs +0 -2
- package/chunk-QXTVEBKD.mjs.map +0 -1
- package/chunk-QXX6LI3R.mjs +0 -9
- package/chunk-QXX6LI3R.mjs.map +0 -1
- package/chunk-UL5LQB3G.mjs +0 -2
- package/chunk-UL5LQB3G.mjs.map +0 -1
- package/chunk-VF6ZSAIO.js +0 -9
- package/chunk-VF6ZSAIO.js.map +0 -1
- package/chunk-VUHZVVMS.js +0 -3
- package/chunk-VUHZVVMS.js.map +0 -1
- package/chunk-X7QXUGD2.js +0 -2
- package/chunk-X7QXUGD2.js.map +0 -1
- package/chunk-XKRBXZUB.mjs +0 -3
- package/chunk-XKRBXZUB.mjs.map +0 -1
- package/index.mjs +0 -2
- package/index.mjs.map +0 -1
- package/nonStaticVideoTag-5HEUBWAN.js +0 -2
- package/nonStaticVideoTag-5HEUBWAN.js.map +0 -1
- package/nonStaticVideoTag-P47FI6UV.mjs +0 -2
- package/nonStaticVideoTag-P47FI6UV.mjs.map +0 -1
- package/notActive-DRH5BEL5.js +0 -2
- package/notActive-DRH5BEL5.js.map +0 -1
- package/notActive-DSDPVSW4.mjs +0 -2
- package/notActive-DSDPVSW4.mjs.map +0 -1
- package/staticPlayer-4CLY5WJL.mjs +0 -2
- package/staticPlayer-4CLY5WJL.mjs.map +0 -1
- package/staticPlayer-7UUHF6G2.js +0 -2
- package/staticPlayer-7UUHF6G2.js.map +0 -1
- package/staticVideoTag-JOPHGL3R.mjs +0 -2
- package/staticVideoTag-JOPHGL3R.mjs.map +0 -1
- package/staticVideoTag-OZZU5MWF.js +0 -2
- package/staticVideoTag-OZZU5MWF.js.map +0 -1
- package/videoArea-PC67BM4S.js +0 -2
- package/videoArea-PC67BM4S.js.map +0 -1
- package/videoArea-W2FPLLPE.mjs +0 -2
- package/videoArea-W2FPLLPE.mjs.map +0 -1
- package/vodPlayer-7T7LLFRE.mjs +0 -2
- package/vodPlayer-7T7LLFRE.mjs.map +0 -1
- package/vodPlayer-BXPUGCRK.js +0 -2
- package/vodPlayer-BXPUGCRK.js.map +0 -1
package/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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/components/custom-components/advertisement/Advertisement.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","handleSubtitles","validSubtitles","filterValidSubtitles","setRawSubtitles","handleParams","useEffect","useHandleParams_default","useHandleKeyPress","useKeyPress_default","event","conditions","handlePlayPause","handleFullScreen","settings","store_default","handleChangeSoundVolume","useHandleKeyPress_default","Advertisement","src","onEndAd","onSkipAd","skipDelay","adText","onClickAd","containerRef","useRef","videoRef","firstMute","useAppSelector","shallowEqual","progress","setProgress","useState","buffered","setBuffered","hasSkip","skipCounter","setSkipCounter","isCounting","setIsCounting","currentTime","setCurrentTime","duration","setDuration","showControls","setShowControls","hideControlsTimeout","isPaused","setIsPaused","reveresElapsedTime","setReveresElapsedTime","resetHideControlsTimer","delay","videoContainer","mouseMoveHandler","touchStartHandler","interval","prev","video","handlePlay","handlePlaying","handlePause","handleWaiting","handleError","handleLoadedMetadata","setupAutoplayBehavior","handleTimeUpdate","handleProgress","handleClick","e","firstUnMuteHandler","setPlay","handleAdClick","formatTime","time","minutes","seconds","jsxs","handleLockOrientation","tw","jsx","Image","importImages_default","SoundVolumeAlert_default","ProgressBar","fullScreen_default","Fragment","soundVolume_default","playPause_default","styleMerge","Advertisement_default","StaticPlayer","dynamic","VodPlayer","VideoHighLighter","VideoPlayer","props","params","isLoading","firstPlay","isReady","hiddenAd","clearRedux","isFullScreen","setHiddenAd","element","isShowLoader","loader_default","videoPlayer_default","ErrorBoundary","React","error","errorInfo","errorLogProvider","errorBoundary_default","VideoPlayerLibrary","isClient","setIsClient","Provider","MiniPlayerPlayPause","play","handlePlayerPauseMiniPlayer","miniPlayerPlayPause_default","MiniPlayerNonStaticVideoTag","details","state","hls","Hls","handleMiniPlayerHlsConfig","handleMiniPlayerMediaAttached","mainPlayerVideoTag","appendQueryParamsToChunksIOS","setClearMiniPlayerSlice","setPlayMiniPlayer","miniPlayerVideoTag","handleVideoError","miniPlayerNonStaticVideoTag_default","MiniPlayerStaticVideoTag","miniPlayerStaticVideoTag_default","VideoTag","type","videoTag_default","MiniPlayer","miniPlayerParams","mainPlayerParams","setMiniPlayerInfo","handleGetDetail","getVodDetails","MiniPlayerLibrary"],"mappings":"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","file":"index.mjs","sourcesContent":["export { VideoPlayerLibrary } from \"./videoPlayerLibrary\";\nexport { MiniPlayerLibrary } from \"./miniPlayerLibrary\";\n","\"use client\";\n\nimport { Provider } from \"react-redux\";\nimport { IParams } from \"./helpers/interfaces/interfaces\";\nimport store from \"./helpers/redux/store\";\nimport VideoPlayer from \"./components/videoPlayer/videoPlayer\";\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\nimport { conditions } from \"./helpers/conditions/conditions\";\nimport { ConditionName } from \"./helpers/interfaces/enums\";\nimport { useEffect, useState } from \"react\";\n\nexport const VideoPlayerLibrary = ({ params }: { params: IParams }) => {\n const [isClient, setIsClient] = useState(false);\n\n useEffect(() => {\n setIsClient(true);\n }, []);\n\n if (!isClient) return null;\n\n return (\n <Provider store={store}>\n <ErrorBoundary>\n <div id=\"video-player-container\" className={`${!conditions(ConditionName.isTouchScreen) && \"pl-overflow-hidden\"}`}>\n <VideoPlayer params={params} />\n </div>\n </ErrorBoundary>\n </Provider>\n );\n};\n","\"use client\";\n\nimport { conditions } from \"../../helpers/conditions/conditions\";\nimport useHandleParams from \"../../helpers/hooks/useHandleParams\";\nimport { ConditionName, zIndex } from \"../../helpers/interfaces/enums\";\nimport { IParams } from \"../../helpers/interfaces/interfaces\";\nimport { useAppDispatch, useAppSelector } from \"../../helpers/redux/hooks\";\nimport { shallowEqual } from \"react-redux\";\nimport dynamic from \"next/dynamic\";\nimport useHandleKeyPress from \"../../helpers/hooks/useHandleKeyPress\";\nimport { useEffect } from \"react\";\nimport { clearRedux, tw } from \"../../helpers/helpers\";\nimport Loader from \"../custom-components/loader/loader\";\nimport { setHiddenAd } from \"../../helpers/redux/slices/videoDataSlice\";\nimport Advertisement from \"../custom-components/advertisement/Advertisement\";\n\nconst StaticPlayer = dynamic(() => import(\"./staticPlayer/staticPlayer\"));\nconst VodPlayer = dynamic(() => import(\"./vodPlayer/vodPlayer\"));\nconst VideoHighLighter = dynamic(() => import(\"./videoHighLighter/VideoHighLighter\"));\n\ninterface IProps {\n params: IParams;\n}\n\nconst VideoPlayer = (props: IProps) => {\n const dispatch = useAppDispatch();\n const { params, isLoading, firstPlay } = useAppSelector(\n ({ videoData: { isReady, params, hiddenAd }, controller: { isLoading, firstPlay } }) => ({ isReady, params, hiddenAd, isLoading, firstPlay }),\n shallowEqual,\n );\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n if (params.id && props.params.id !== params.id) {\n // if (params.type === PlayerTypes.static) {\n // mainPlayerVideoTag()?.pause();\n // mainPlayerVideoTag().removeAttribute(\"src\");\n // mainPlayerVideoTag().load();\n // }\n clearRedux();\n }\n return () => {\n clearRedux();\n };\n }, [props.params.id]);\n\n useHandleParams(props.params);\n useHandleKeyPress();\n useAppSelector(({ controller: { isFullScreen } }) => ({ isFullScreen }), shallowEqual);\n\n if (props.params.vhl_status) return <VideoHighLighter />;\n if (conditions(ConditionName.hasAdvertisement))\n return (\n <Advertisement\n src={params.advertisement?.videoUrl!}\n onSkipAd={(currentTime) => {\n dispatch(setHiddenAd(true));\n if (params.advertisement?.onSkipAd) params.advertisement.onSkipAd(currentTime);\n }}\n onEndAd={(currentTime) => {\n dispatch(setHiddenAd(true));\n if (params.advertisement?.onEndAd) params.advertisement.onEndAd(currentTime);\n }}\n skipDelay={params.advertisement?.skipDelay}\n adText={params.advertisement?.adText}\n onClickAd={params.advertisement?.onClickAd}\n />\n );\n\n let element = <></>;\n if (conditions(ConditionName.isReady)) {\n element = (\n <div className={tw(\"\", { desktop: \"pl-rounded-[12px]\" })} style={{ touchAction: \"pan-y\", userSelect: \"none\" }}>\n {conditions(ConditionName.isStaticFormat) ? <StaticPlayer /> : <VodPlayer />}\n </div>\n );\n }\n\n const isShowLoader = firstPlay && isLoading;\n\n return (\n <div\n dir=\"rtl\"\n style={{ zIndex: zIndex.videoPlayerInFullScreen }}\n id=\"parent-player\"\n className={tw(`pl-relative pl-bg-black pl-w-full pl-h-full pl-aspect-video`, {\n desktop: \"pl-rounded-[12px]\",\n touch: \"\",\n desktopFullScreen: \"pl-overflow-hidden pl-fixed pl-top-0 pl-right-0 pl-w-screen pl-h-screen pl-rounded-none\",\n touchFullScreen: \"pl-overflow-hidden pl-fixed pl-top-0 pl-right-0 pl-w-screen pl-h-screen\",\n })}\n >\n {isShowLoader && (\n <div className={tw(\"pl-absolute pl-w-full pl-h-full pl-aspect-video\", { desktop: \"pl-rounded-[12px]\" })}>\n <Loader />\n </div>\n )}\n {element}\n </div>\n );\n};\n\nexport default VideoPlayer;\n","\"use client\";\n\nimport { useEffect } from \"react\";\nimport { getUUID } from \"../helpers\";\nimport { useAppDispatch } from \"../redux/hooks\";\nimport { IParams } from \"../interfaces/interfaces\";\nimport {\n setIsReady,\n setPlayerParams,\n setRawSubtitles,\n} from \"../redux/slices/videoDataSlice\";\nimport { PlayerTypes } from \"../interfaces/enums\";\nimport { filterValidSubtitles } from \"../redux/actions/videoData.actions\";\n\nconst useHandleParams = (query: any) => {\n const dispatch = useAppDispatch();\n\n let queryParams: IParams = {};\n\n const handleSetParamsInRedux = () => {\n dispatch(setPlayerParams(queryParams));\n dispatch(setIsReady(true));\n };\n\n const handleAddUUID = () => {\n if (!!query.uuid) {\n localStorage.setItem(\"hamrahiUUID\", query.uuid!);\n queryParams.uuid = query.uuid;\n }\n };\n\n const handleVodParams = () => {\n queryParams = {\n provider: \"cafevdo\",\n ...query,\n subtitles: undefined,\n };\n };\n\n const handleStaticParams = async () => {\n queryParams = {\n uuid: getUUID(),\n provider: \"cafevdo\",\n ...query,\n subtitles: undefined,\n id: query.id ? window.atob(query.id) : undefined,\n banner:\n query.banner && query.banner !== \"undefined\" ? query.banner : undefined,\n };\n };\n\n const handleSubtitles = async () => {\n const validSubtitles = await filterValidSubtitles(query.subtitles);\n dispatch(setRawSubtitles(validSubtitles));\n };\n\n const handleParams = async () => {\n queryParams = {};\n if (Object.keys(query).includes(\"type\")) {\n if (String(query.type) === PlayerTypes.vod) handleVodParams();\n else if (String(query.type) === PlayerTypes.static) handleStaticParams();\n if (query.subtitles && query.subtitles.length) handleSubtitles();\n handleAddUUID();\n handleSetParamsInRedux();\n }\n };\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n handleParams();\n }, [query]);\n};\n\nexport default useHandleParams;\n","import { conditions } from \"../conditions/conditions\";\nimport { ConditionName } from \"../interfaces/enums\";\nimport { handleBackwardForward, handleChangeSoundVolume, handleFullScreen, handlePlayPause } from \"../redux/actions/controller.actions\";\nimport store from \"../redux/store\";\nimport useKeyPress from \"./useKeyPress\";\n\nconst useHandleKeyPress = () => {\n useKeyPress(\"Space\", (event: any) => {\n if (conditions(ConditionName.isPressKeySpace) && !conditions(ConditionName.isFirstMutePlay)) handlePlayPause(event);\n });\n useKeyPress(\"KeyK\", (event: any) => {\n if (conditions(ConditionName.isPressKeySpace) && !conditions(ConditionName.isFirstMutePlay)) handlePlayPause(event);\n });\n // useKeyPress(\"ArrowRight\", (event: any) => {\n // if (conditions(ConditionName.isPressKeyArrowRight)) handleBackwardForward(\"forward\", 15, event);\n // });\n // useKeyPress(\"ArrowLeft\", (event: any) => {\n // if (conditions(ConditionName.isPressKeyArrowLeft)) handleBackwardForward(\"backward\", 15, event);\n // });\n // useKeyPress(\"KeyI\", () => {\n // if (conditions(ConditionName.isPressKeyI)) mainPlayerVideoTag().requestPictureInPicture();\n // });\n useKeyPress(\"KeyF\", () => {\n if (conditions(ConditionName.isPressKeyF)) handleFullScreen();\n });\n useKeyPress(\"KeyM\", () => {\n if (conditions(ConditionName.isPressKeyM)) {\n const { settings } = store.getState().user;\n handleChangeSoundVolume(settings.volume ? 0 : 50);\n }\n });\n // useKeyPress(\"KeyC\", () => {\n // if (conditions(ConditionName.isPressKeyC)) handleSubtitle();\n // });\n};\n\nexport default useHandleKeyPress;\n","\"use client\";\r\n\r\nimport { useRef, useState, useEffect } from \"react\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport SoundVolume from \"../soundVolume/soundVolume\";\r\nimport FullScreen from \"../fullScreen/fullScreen\";\r\nimport PlayPause from \"../playPause/playPause\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport {\r\n firstUnMuteHandler,\r\n handleChangeSoundVolume,\r\n handleFullScreen,\r\n handleLockOrientation,\r\n} from \"../../../helpers/redux/actions/controller.actions\";\r\nimport { setPlay } from \"../../../helpers/redux/slices/controllerSlice\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport useKeyPress from \"../../../helpers/hooks/useKeyPress\";\r\nimport store from \"../../../helpers/redux/store\";\r\nimport SoundVolumeAlert from \"../soundVolumeAlert/SoundVolumeAlert\";\r\nimport { setupAutoplayBehavior, styleMerge, tw } from \"../../../helpers/helpers\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport Image from \"next/image\";\r\n\r\ninterface AdvertisementProps {\r\n src: string;\r\n onEndAd?: (currentTime: number) => void;\r\n onSkipAd?: (currentTime: number) => void;\r\n skipDelay?: number;\r\n adText?: string;\r\n onClickAd?: (currentTime: number) => void;\r\n}\r\n\r\nconst Advertisement: React.FC<AdvertisementProps> = ({ src, onEndAd, onSkipAd, skipDelay, adText = \"اطلاعات بیشتر\", onClickAd }) => {\r\n const dispatch = useAppDispatch();\r\n const containerRef = useRef<HTMLDivElement | null>(null);\r\n const videoRef = useRef<HTMLVideoElement | null>(null);\r\n\r\n const { firstMute } = useAppSelector(({ controller: { firstMute } }) => ({ firstMute }), shallowEqual);\r\n\r\n const [progress, setProgress] = useState(0);\r\n const [buffered, setBuffered] = useState(0);\r\n\r\n const hasSkip = skipDelay !== undefined && skipDelay > 0;\r\n const [skipCounter, setSkipCounter] = useState<number | null>(hasSkip ? skipDelay! : null);\r\n const [isCounting, setIsCounting] = useState(false);\r\n\r\n const [currentTime, setCurrentTime] = useState(0);\r\n const [duration, setDuration] = useState(0);\r\n\r\n const [showControls, setShowControls] = useState(true);\r\n const hideControlsTimeout = useRef<NodeJS.Timeout | null>(null);\r\n\r\n const [isPaused, setIsPaused] = useState(false);\r\n const [reveresElapsedTime, setReveresElapsedTime] = useState(false);\r\n\r\n const resetHideControlsTimer = (delay = 3000) => {\r\n if (isPaused) {\r\n setShowControls(true);\r\n return;\r\n }\r\n\r\n setShowControls(true);\r\n if (hideControlsTimeout.current) clearTimeout(hideControlsTimeout.current);\r\n hideControlsTimeout.current = setTimeout(() => {\r\n setShowControls(false);\r\n }, delay);\r\n };\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n useEffect(() => {\r\n const videoContainer = containerRef.current;\r\n if (!videoContainer) return;\r\n\r\n const mouseMoveHandler = () => resetHideControlsTimer();\r\n const touchStartHandler = () => resetHideControlsTimer();\r\n\r\n videoContainer.addEventListener(\"mousemove\", mouseMoveHandler);\r\n videoContainer.addEventListener(\"touchstart\", touchStartHandler);\r\n\r\n resetHideControlsTimer();\r\n\r\n return () => {\r\n videoContainer.removeEventListener(\"mousemove\", mouseMoveHandler);\r\n videoContainer.removeEventListener(\"touchstart\", touchStartHandler);\r\n if (hideControlsTimeout.current) clearTimeout(hideControlsTimeout.current);\r\n };\r\n }, [isPaused]);\r\n\r\n useEffect(() => {\r\n if (!hasSkip || !isCounting) return;\r\n\r\n const interval = setInterval(() => {\r\n setSkipCounter((prev) => {\r\n if (prev === null) return prev;\r\n if (prev <= 1) {\r\n clearInterval(interval);\r\n return 0;\r\n }\r\n return prev - 1;\r\n });\r\n }, 1000);\r\n\r\n return () => clearInterval(interval);\r\n }, [isCounting, hasSkip]);\r\n\r\n useEffect(() => {\r\n const video = videoRef.current;\r\n if (!video) return;\r\n\r\n const handlePlay = () => {\r\n setIsCounting(true);\r\n setIsPaused(false);\r\n resetHideControlsTimer(1000);\r\n };\r\n\r\n const handlePlaying = () => {\r\n setIsCounting(true);\r\n setIsPaused(false);\r\n };\r\n\r\n const handlePause = () => {\r\n setIsCounting(false);\r\n setIsPaused(true);\r\n setShowControls(true);\r\n if (hideControlsTimeout.current) clearTimeout(hideControlsTimeout.current);\r\n };\r\n\r\n const handleWaiting = () => setIsCounting(false);\r\n const handleError = () => setIsCounting(false);\r\n const handleLoadedMetadata = () => setDuration(video.duration);\r\n\r\n video.addEventListener(\"play\", handlePlay);\r\n video.addEventListener(\"playing\", handlePlaying);\r\n video.addEventListener(\"pause\", handlePause);\r\n video.addEventListener(\"waiting\", handleWaiting);\r\n video.addEventListener(\"error\", handleError);\r\n video.addEventListener(\"loadedmetadata\", handleLoadedMetadata);\r\n\r\n setupAutoplayBehavior(video);\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n return () => {\r\n video.removeEventListener(\"play\", handlePlay);\r\n video.removeEventListener(\"playing\", handlePlaying);\r\n video.removeEventListener(\"pause\", handlePause);\r\n video.removeEventListener(\"waiting\", handleWaiting);\r\n video.removeEventListener(\"error\", handleError);\r\n video.removeEventListener(\"loadedmetadata\", handleLoadedMetadata);\r\n };\r\n }, [src]);\r\n\r\n const handleTimeUpdate = () => {\r\n const video = videoRef.current;\r\n if (video?.duration) {\r\n setProgress((video.currentTime / video.duration) * 100);\r\n setCurrentTime(video.currentTime);\r\n }\r\n };\r\n\r\n const handleProgress = () => {\r\n const video = videoRef.current;\r\n if (video?.duration && video.buffered.length > 0) {\r\n setBuffered((video.buffered.end(video.buffered.length - 1) / video.duration) * 100);\r\n }\r\n };\r\n\r\n const handleClick = (e: React.MouseEvent<HTMLDivElement>) => {\r\n const video = videoRef.current;\r\n if (!video) return;\r\n\r\n if (conditions(ConditionName.isTouchScreen)) {\r\n if (e.target === containerRef.current || e.target === video) {\r\n if (firstMute) {\r\n handleChangeSoundVolume(50,video);\r\n firstUnMuteHandler();\r\n return;\r\n }\r\n }\r\n resetHideControlsTimer();\r\n return;\r\n }\r\n\r\n if (e.target === containerRef.current || e.target === video) {\r\n if (firstMute) {\r\n handleChangeSoundVolume(50,video);\r\n firstUnMuteHandler();\r\n return;\r\n }\r\n\r\n if (video.paused) {\r\n video.play();\r\n dispatch(setPlay(true));\r\n } else {\r\n video.pause();\r\n dispatch(setPlay(false));\r\n }\r\n }\r\n };\r\n\r\n const handleAdClick = () => {\r\n if (onClickAd) {\r\n onClickAd(currentTime);\r\n }\r\n };\r\n\r\n const formatTime = (time: number) => {\r\n const minutes = Math.floor(time / 60)\r\n .toString()\r\n .padStart(2, \"0\");\r\n const seconds = Math.floor(time % 60)\r\n .toString()\r\n .padStart(2, \"0\");\r\n return `${minutes}:${seconds}`;\r\n };\r\n\r\n // useHandleKeyPress\r\n useKeyPress(\"Space\", () => {\r\n setIsPaused((prev) => !prev);\r\n });\r\n useKeyPress(\"KeyK\", () => {\r\n setIsPaused((prev) => !prev);\r\n });\r\n useKeyPress(\"KeyF\", () => {\r\n handleFullScreen();\r\n });\r\n useKeyPress(\"KeyM\", () => {\r\n const { settings } = store.getState().user;\r\n handleChangeSoundVolume(settings.volume ? 0 : 50,videoRef.current || undefined);\r\n });\r\n\r\n return (\r\n <div\r\n id=\"video-area\"\r\n ref={containerRef}\r\n onClick={handleClick}\r\n onDoubleClick={() => {\r\n handleFullScreen();\r\n handleLockOrientation();\r\n }}\r\n className={tw(\r\n \"pl-relative pl-bg-black pl-overflow-hidden pl-w-full pl-h-full pl-max-h-screen pl-aspect-video pl-flex pl-flex-col pl-justify-end\",\r\n { desktop: \"pl-rounded-[12px]\", desktopFullScreen: \"pl-fixed pl-w-screen pl-h-screen pl-top-0 pl-right-0 pl-rounded-none\" },\r\n )}\r\n style={{\r\n width: conditions(ConditionName.isFullScreen) ? \"100vw\" : \"auto\",\r\n zIndex: conditions(ConditionName.isFullScreen) ? 100000 : \"unset\",\r\n height: conditions(ConditionName.isFullScreen) ? \"100vh\" : \"auto\",\r\n }}\r\n >\r\n <div\r\n className=\"pl-absolute pl-top-0 pl-z-10 pl-h-[46px] pl-w-full pl-px-4 pl-flex pl-items-center pl-justify-between\"\r\n style={{ backgroundImage: \"linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0) 100%)\" }}\r\n >\r\n {onClickAd && conditions(ConditionName.isTouchScreen) && (\r\n <button\r\n onClick={handleAdClick}\r\n className={tw(\"pl-flex pl-items-center pl-justify-center pl-gap-[5px]\", {\r\n touch: \"h-[50px]\",\r\n touchFullScreen: \"\",\r\n })}\r\n >\r\n <Image src={IMAGES.export} alt=\"export button\" width={16} height={16} />\r\n <span\r\n className={tw(\"\", {\r\n touch: \"pl-text-white pl-text-[11px] pl-font-medium\",\r\n touchFullScreen: \"\",\r\n })}\r\n >\r\n {adText}\r\n </span>\r\n </button>\r\n )}\r\n\r\n {conditions(ConditionName.showSoundVolumeAlert) && <SoundVolumeAlert />}\r\n </div>\r\n\r\n <video\r\n src={src}\r\n autoPlay\r\n playsInline\r\n className=\"pl-absolute pl-size-full\"\r\n onEnded={() => onEndAd && onEndAd(currentTime)}\r\n onTimeUpdate={handleTimeUpdate}\r\n onProgress={handleProgress}\r\n id=\"player-tag\"\r\n />\r\n\r\n <div\r\n style={{\r\n backgroundBlendMode: \"multiply\",\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n }}\r\n className={`pl-relative pl-rounded-b-[12px] pl-z-10 pl-flex pl-flex-col ${\r\n conditions(ConditionName.isTouchScreenPortrait) && \"pl-flex-col-reverse\"\r\n } ${conditions(ConditionName.isFullScreen) ? \"pl-gap-3\" : \"pl-gap-1.5\"} pl-transition-opacity pl-duration-500 pl-ease-in-out ${\r\n showControls ? \"pl-opacity-100\" : \"pl-opacity-0 pl-pointer-events-none\"\r\n }`}\r\n >\r\n {conditions(ConditionName.isTouchScreen) && (\r\n <div className=\"pl-absolute pl-font-bold pl-text-[12px] pl-h-[14px] pl-gap-1.5 pl-left-[14px] pl-bottom-[14px] pl-flex pl-items-center pl-justify-center pl-w-fit pl-text-white\">\r\n <p className=\"pl-leading-[100%]\">{formatTime(currentTime)}</p>\r\n <Image src={IMAGES.info} alt=\"\" width={12} height={12} />\r\n <p className=\"pl-leading-[100%]\">تبلیغات</p>\r\n </div>\r\n )}\r\n\r\n <ProgressBar progress={progress} buffered={buffered} />\r\n\r\n {!conditions(ConditionName.isTouchScreen) && (\r\n <div\r\n className={`pl-flex pl-justify-between pl-items-center pl-gap-3 pl-px-4 ${\r\n conditions(ConditionName.isFullScreen) ? \"pl-pb-3\" : \"pl-pb-1.5\"\r\n }`}\r\n >\r\n <div\r\n className={tw(`pl-rounded-full pl-flex pl-items-center pl-justify-center pl-bg-black/75`, {\r\n desktop: \"pl-p-1\",\r\n desktopFullScreen: \"pl-p-1.5\",\r\n })}\r\n >\r\n <FullScreen width={conditions(ConditionName.isFullScreen) ? 24 : 16} height={conditions(ConditionName.isFullScreen) ? 24 : 16} />\r\n </div>\r\n\r\n <div className=\"pl-flex pl-items-center pl-gap-4\">\r\n <div\r\n onClick={() => setReveresElapsedTime((prev) => !prev)}\r\n className={tw(\r\n `pl-cursor-pointer pl-rounded-full pl-inline-flex pl-items-center pl-py-1 pl-px-1.5 pl-justify-center pl-group pl-bg-black/75`,\r\n { desktop: \"pl-min-w-[34px] pl-h-[34px]\", desktopFullScreen: \"pl-min-w-[48px] pl-h-[48px]\" },\r\n )}\r\n >\r\n <div\r\n className={tw(\r\n \" pl-flex pl-gap-0.5 pl-items-center pl-justify-center pl-rounded-full group-hover:pl-bg-[#5E5E5E] pl-transition-all\",\r\n { desktop: \"pl-h-[26px] pl-min-w-[26px] pl-px-1.5\", desktopFullScreen: \"pl-h-[36px] pl-min-w-[36px] pl-px-3\" },\r\n )}\r\n >\r\n <p\r\n className={`pl-text-white pl-flex pl-items-center pl-justify-center pl-gap-0.5 ${\r\n conditions(ConditionName.isFullScreen) ? \"pl-text-base\" : \"pl-text-[12px] pl-leading-5\"\r\n } pl-font-bold`}\r\n >\r\n <span>{formatTime(duration)}</span>\r\n <span>/</span>\r\n {reveresElapsedTime ? (\r\n <>\r\n <span>{formatTime(duration - currentTime)}</span>\r\n <span className=\"pl-mt-0.5\">-</span>\r\n </>\r\n ) : (\r\n <span>{formatTime(currentTime)}</span>\r\n )}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <SoundVolume width={conditions(ConditionName.isFullScreen) ? 24 : 16} height={conditions(ConditionName.isFullScreen) ? 24 : 16} />\r\n <PlayPause width={conditions(ConditionName.isFullScreen) ? 24 : 16} height={conditions(ConditionName.isFullScreen) ? 24 : 16} />\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n\r\n {onClickAd && !conditions(ConditionName.isTouchScreen) && (\r\n <button\r\n onClick={handleAdClick}\r\n className={tw(\"pl-left-[24px] pl-flex pl-items-center pl-rounded-[28px] pl-transition-colors pl-bg-[#212121]/[0.6] pl-absolute\", {\r\n desktopFullScreen: \"pl-bottom-[131px] pl-h-[56px] pl-px-5 pl-gap-2.5\",\r\n desktop: \"pl-bottom-[76px] pl-h-10 pl-px-3 pl-gap-1\",\r\n })}\r\n >\r\n <Image\r\n src={IMAGES.export}\r\n alt=\"export button\"\r\n width={styleMerge({ desktop: 16, desktopFullScreen: 32, touch: 20, touchFullScreen: 24 })}\r\n height={styleMerge({ desktop: 16, desktopFullScreen: 32, touch: 20, touchFullScreen: 24 })}\r\n />\r\n <span\r\n className={tw(\"pl-font-medium pl-text-white pl-leading-4\", {\r\n desktopFullScreen: \"pl-text-base\",\r\n desktop: \"pl-text-[13px]\",\r\n })}\r\n >\r\n {adText}\r\n </span>\r\n </button>\r\n )}\r\n\r\n {hasSkip && (\r\n <>\r\n {!conditions(ConditionName.isTouchScreen) ? (\r\n <button\r\n onClick={() => onSkipAd && onSkipAd(currentTime)}\r\n disabled={!!skipCounter && skipCounter > 0}\r\n className={tw(\"pl-right-[24px] pl-flex pl-items-center pl-rounded-[28px] pl-transition-colors pl-bg-[#212121]/[0.6] pl-absolute\", {\r\n desktopFullScreen: \"pl-bottom-[131px] pl-h-[56px] pl-px-5 pl-gap-2.5\",\r\n desktop: \"pl-bottom-[76px] pl-h-10 pl-px-3 pl-gap-1\",\r\n })}\r\n >\r\n <Image\r\n src={IMAGES.next}\r\n alt=\"next button\"\r\n width={styleMerge({ desktop: 16, desktopFullScreen: 32 })}\r\n height={styleMerge({ desktop: 16, desktopFullScreen: 32 })}\r\n />\r\n\r\n <span\r\n className={tw(\"pl-font-medium pl-text-white pl-leading-4\", {\r\n desktopFullScreen: \"pl-text-base\",\r\n desktop: \"pl-text-[13px]\",\r\n })}\r\n >\r\n {skipCounter && skipCounter > 0 ? `رد کردن (${skipCounter})` : \"رد کردن\"}\r\n </span>\r\n </button>\r\n ) : (\r\n <button\r\n onClick={() => onSkipAd && onSkipAd(currentTime)}\r\n disabled={!!skipCounter && skipCounter > 0}\r\n className={tw(\r\n `pl-absolute pl-px-2 pl-rounded-[28px] pl-bg-black/60 pl-bottom-8 pl-right-4 pl-flex pl-items-center pl-justify-center pl-h-8 pl-gap-1 ${\r\n !!skipCounter && skipCounter > 0 ? \"pl-invisible\" : \"\"\r\n }`,\r\n {\r\n touchFullScreen: \"\",\r\n touch: \"\",\r\n },\r\n )}\r\n >\r\n <Image\r\n src={IMAGES.next}\r\n alt=\"next button\"\r\n width={styleMerge({ touch: 20, touchFullScreen: 20 })}\r\n height={styleMerge({ touch: 20, touchFullScreen: 20 })}\r\n />\r\n\r\n <span\r\n className={tw(\"pl-text-[11px] pl-font-medium pl-text-white\", {\r\n touchFullScreen: \"\",\r\n touch: \"\",\r\n })}\r\n >\r\n رد کردن\r\n </span>\r\n </button>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default Advertisement;\r\n\r\ntype ProgressBarProps = { progress: number; buffered: number };\r\n\r\nconst ProgressBar: React.FC<ProgressBarProps> = ({ progress, buffered }) => (\r\n <div className={tw(\"pl-w-full\", { desktop: \"pl-px-4\" })}>\r\n <div\r\n className={tw(\"pl-relative pl-overflow-hidden pl-w-full pl-bg-[#4A4A4A]\", {\r\n touch: \"pl-h-[3px]\",\r\n desktop: \"pl-h-[3px] pl-rounded-[8px]\",\r\n desktopFullScreen: \"pl-h-[6px]\",\r\n touchFullScreen: \"pl-h-[8px]\",\r\n })}\r\n >\r\n <div className=\"pl-absolute pl-top-0 pl-left-0 pl-h-full pl-bg-[#C7C7C7]\" style={{ width: `${buffered}%` }} />\r\n <div\r\n className=\"pl-absolute pl-top-0 pl-left-0 pl-h-full pl-bg-[#FFCC00] pl-transition-all pl-duration-150 pl-ease-linear\"\r\n style={{ width: `${progress}%` }}\r\n />\r\n </div>\r\n </div>\r\n);\r\n","import React from \"react\";\nimport { errorLogProvider } from \"./errorBoundaryFunctions\";\n\nclass ErrorBoundary extends React.Component {\n state = { hasError: false, error: null, errorInfo: null };\n\n static getDerivedStateFromError(error: any) {\n // Update state so the next render will show the fallback UI.\n return { hasError: true };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n // You can also log the error to an error reporting service\n this.setState({ error: error, errorInfo: errorInfo });\n errorLogProvider({ type: \"OTHER_ERROR\", message: error.message });\n }\n\n render() {\n if (this.state.hasError) {\n return <></>;\n }\n\n return (this.props as any).children;\n }\n}\n\nexport default ErrorBoundary;\n","\"use client\";\n\nimport { Provider } from \"react-redux\";\nimport { IMiniPlayerParams } from \"./helpers/interfaces/interfaces\";\nimport store from \"./helpers/redux/store\";\nimport { MiniPlayer } from \"./components/custom-components/miniPlayer/miniPlayer\";\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\nimport { useEffect, useState } from \"react\";\n\nexport const MiniPlayerLibrary = ({ params }: { params: IMiniPlayerParams }) => {\n const [isClient, setIsClient] = useState(false);\n\n useEffect(() => {\n setIsClient(true);\n }, []);\n\n if (!isClient) return null;\n\n return (\n <Provider store={store}>\n <ErrorBoundary>\n <MiniPlayer params={params} />\n </ErrorBoundary>\n </Provider>\n );\n};\n","\"use client\";\r\n\r\nimport Image from \"next/image\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { zIndex } from \"../../../helpers/interfaces/enums\";\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 // eslint-disable-next-line react-hooks/exhaustive-deps\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 // eslint-disable-next-line react-hooks/exhaustive-deps\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 style={{ zIndex: zIndex.miniPlayer }} className=\"pl-relative pl-w-full pl-h-full\">\r\n <div\r\n className={`pl-absolute pl-z-[1000] pl-top-3 pl-right-3 pl-cursor-pointer`}\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 className=\"pl-cursor-pointer\" src={IMAGES.closeSquare} alt=\"close-square\" width={16} height={16} />\r\n </div>\r\n <div className={`pl-w-full pl-absolute pl-bottom-0 pl-z-[1000000]`}>\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/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\";\nimport { useAppSelector } from \"../../../../helpers/redux/hooks\";\nimport MiniPlayerNonStaticVideoTag from \"./miniPlayerNonStaticVideoTag\";\nimport MiniPlayerStaticVideoTag from \"./miniPlayerStaticVideoTag\";\n\nconst VideoTag = () => {\n \n const type = useAppSelector(state => state.miniPlayer.params.type);\n return (\n <>{type === PlayerTypes.static ? <MiniPlayerStaticVideoTag /> : <MiniPlayerNonStaticVideoTag />}</>\n )\n}\n\nexport default VideoTag;","import Hls from \"hls.js\";\nimport { useEffect } from \"react\";\nimport {\n appendQueryParamsToChunksIOS,\n handleMiniPlayerHlsConfig,\n handleMiniPlayerMediaAttached,\n handleVideoError,\n} from \"../../../../helpers/redux/actions/playerCore.actions\";\nimport {\n useAppDispatch,\n useAppSelector,\n} from \"../../../../helpers/redux/hooks\";\nimport {\n mainPlayerVideoTag,\n miniPlayerVideoTag,\n} from \"../../../../helpers/constants\";\nimport {\n setClearMiniPlayerSlice,\n setPlayMiniPlayer,\n} from \"../../../../helpers/redux/slices/miniPlayerSlice\";\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\n\nconst MiniPlayerNonStaticVideoTag = () => {\n const dispatch = useAppDispatch();\n const details = useAppSelector((state) => state.miniPlayer.details);\n const params = useAppSelector((state) => state.miniPlayer.params);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n let hls = new Hls(handleMiniPlayerHlsConfig());\n if (Hls.isSupported()) {\n hls.attachMedia(\n document.getElementById(`mini-player-video-tag`) as HTMLMediaElement\n );\n hls.on(Hls.Events.MEDIA_ATTACHED, () =>\n handleMiniPlayerMediaAttached(hls)\n );\n } else if (\n mainPlayerVideoTag().canPlayType(\"application/vnd.apple.mpegurl\")\n ) {\n mainPlayerVideoTag().src = details.stream_link!;\n\n // Append Query Parameter to .ts Chunks\n appendQueryParamsToChunksIOS();\n }\n return () => {\n dispatch(setClearMiniPlayerSlice());\n hls.detachMedia();\n hls.off(Hls.Events.MEDIA_ATTACHED, () =>\n handleMiniPlayerMediaAttached(hls)\n );\n };\n }, []);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n if (params.currentTime) {\n dispatch(setPlayMiniPlayer(true));\n miniPlayerVideoTag().currentTime = params.currentTime;\n dispatch(setPlay(false));\n mainPlayerVideoTag()?.pause();\n }\n }, [params.currentTime]);\n\n return (\n <>\n <video\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\n onError={handleVideoError}\n poster={params.banner ? params.banner : details.banner}\n id={`mini-player-video-tag`}\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\n autoPlay={true}\n muted={true}\n />\n </>\n );\n};\n\nexport default MiniPlayerNonStaticVideoTag;\n","import { useEffect } from \"react\";\nimport { useAppDispatch, useAppSelector } from \"../../../../helpers/redux/hooks\";\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../../helpers/constants\";\nimport { setPlayMiniPlayer } from \"../../../../helpers/redux/slices/miniPlayerSlice\";\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\nimport { handleVideoError } from \"../../../../helpers/redux/actions/playerCore.actions\";\n\nconst MiniPlayerStaticVideoTag = () => {\n\n const dispatch = useAppDispatch();\n const params = useAppSelector(state => state.miniPlayer.params);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n if(params.currentTime) {\n dispatch(setPlayMiniPlayer(true));\n miniPlayerVideoTag().currentTime = params.currentTime;\n dispatch(setPlay(false));\n mainPlayerVideoTag()?.pause();\n }\n },[params.currentTime])\n\n return (\n <video \n poster={params.banner} \n onPlay={() => dispatch(setPlayMiniPlayer(true))}\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\n onError={handleVideoError}\n src={params.id} \n id={`mini-player-video-tag`} \n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\n autoPlay\n />\n )\n}\n\nexport default MiniPlayerStaticVideoTag;"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var chunkKSZ35TPK_js=require('./chunk-KSZ35TPK.js'),chunkHZASW2B2_js=require('./chunk-HZASW2B2.js'),chunkAK5TFAW3_js=require('./chunk-AK5TFAW3.js'),chunk3TPEXSZV_js=require('./chunk-3TPEXSZV.js');require('./chunk-5UGSCO4K.js');var chunkVUHZVVMS_js=require('./chunk-VUHZVVMS.js'),chunkAN6JAJSI_js=require('./chunk-AN6JAJSI.js'),u=require('hls.js'),react=require('react'),reactRedux=require('react-redux'),Qe=require('next/image'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var u__default=/*#__PURE__*/_interopDefault(u);var Qe__default=/*#__PURE__*/_interopDefault(Qe);chunkAN6JAJSI_js.e();chunkAN6JAJSI_js.e();var Ue=()=>{let a=null,{isEnded:r}=chunkAN6JAJSI_js.A(({controller:{isEnded:y}})=>({isEnded:y}),reactRedux.shallowEqual);react.useEffect(()=>(a=setInterval(()=>chunk3TPEXSZV_js.a(),chunkAK5TFAW3_js.c),()=>clearInterval(a)),[]),react.useEffect(()=>{chunkVUHZVVMS_js.t("isEnded")&&clearInterval(a);},[r]);},he=Ue;chunkAN6JAJSI_js.e();var Me=a=>{let[r,y]=react.useState([]),[s,c]=react.useState(0),{qualityLevels:i}=chunkAN6JAJSI_js.A(({controller:{qualityLevels:n}})=>({qualityLevels:n}),reactRedux.shallowEqual);react.useEffect(()=>{if(a){let n=[];switch(r.length){case 0:n=[a];break;case 1:n=[a,...r];break;case 2:n=[a,...r],chunkVUHZVVMS_js.w(chunkVUHZVVMS_js.I(`${n[0]}P`,`${n[1]}P`,i.indexOf(n[0])-i.indexOf(n[1])));break;default:n=[a,r[0],r[1]],n[1]!==n[2]&&chunkVUHZVVMS_js.w(chunkVUHZVVMS_js.I(`${n[1]}P`,`${n[2]}P`,i.indexOf(n[1])-i.indexOf(n[2])));break}y(n);}},[a]),react.useEffect(()=>{r.length===3&&r[0]===r[2]?(chunkVUHZVVMS_js.w(chunkVUHZVVMS_js.J(s,r)),y([]),c(0)):c(new Date().getTime());},[r]);},be=Me;chunkAN6JAJSI_js.e();var _e=()=>{react.useEffect(()=>{let a=()=>{chunk3TPEXSZV_js.a();};return window.addEventListener("beforeunload",a),()=>window.removeEventListener("beforeunload",a)},[]);},Le=_e;var $e=()=>{let[a,r]=react.useState(void 0),y=chunkAN6JAJSI_js.z(),{params:s,details:c,videoElementSizeInfo:i}=chunkAN6JAJSI_js.A(({videoData:{params:e,details:o,videoElementSizeInfo:E}})=>({params:e,details:o,videoElementSizeInfo:E}),reactRedux.shallowEqual),{currentTime:n,duration:Se}=chunkAN6JAJSI_js.A(({controller:{currentTime:e,duration:o,isEnded:E,firstPlay:w}})=>({currentTime:e,duration:o,isEnded:E,firstPlay:w}),reactRedux.shallowEqual),P=react.useRef(null),b=react.useRef(null),Te=react.useRef(0),L=react.useRef(0),R=react.useRef(0),V=react.useRef(0),C=react.useRef(0),Re=react.useRef(1),Ve=react.useRef(P.current?.currentTime||0);he(),Le();let v=c.stream_link||s.stream_link;return react.useEffect(()=>{let e=P.current;if(!e||!v)return;chunkVUHZVVMS_js.qa(C),R.current=Date.now(),chunkVUHZVVMS_js.xa(e);let o=new u__default.default(chunkHZASW2B2_js.c()),E=()=>o.loadSource(v),w=(t,p)=>chunkHZASW2B2_js.e(o,p),Ce=()=>chunkHZASW2B2_js.f(o,e),Ie=(t,p)=>chunkHZASW2B2_js.g(o,p,r),De=(t,p)=>chunkHZASW2B2_js.h(o,p,r),ke=(t,p)=>chunkHZASW2B2_js.i(p),I=t=>chunkHZASW2B2_js.j(t,L),D=t=>chunkHZASW2B2_js.k(t,L),k=t=>chunkHZASW2B2_js.l(t,b,e),Fe=t=>chunkHZASW2B2_js.r(t,b),F=t=>chunkHZASW2B2_js.n(t),x=t=>chunkHZASW2B2_js.o(t),H=()=>chunkHZASW2B2_js.p(e),U=t=>chunkHZASW2B2_js.q(t,e),B=t=>chunkHZASW2B2_js.a(t),M=()=>chunkHZASW2B2_js.D(e),O=()=>chunkHZASW2B2_js.m(Re,C,R,V,b,Te,L,Ve,e);return u__default.default.isSupported()?(o.on(u__default.default.Events.MEDIA_ATTACHED,E),o.on(u__default.default.Events.MANIFEST_PARSED,w),o.on(u__default.default.Events.FRAG_BUFFERED,Ce),o.on(u__default.default.Events.FRAG_CHANGED,Ie),o.on(u__default.default.Events.FRAG_PARSED,De),o.on(u__default.default.Events.ERROR,ke),o.attachMedia(e)):e.canPlayType("application/vnd.apple.mpegurl")&&(e.src=v,chunkHZASW2B2_js.b(),e.addEventListener("play",Fe),e.addEventListener("playing",chunkHZASW2B2_js.s),e.addEventListener("timeupdate",chunkHZASW2B2_js.t),e.addEventListener("ended",chunkHZASW2B2_js.u)),e.addEventListener("waiting",I),e.addEventListener("seeking",D),e.addEventListener("play",k),e.addEventListener("playing",O),e.addEventListener("pause",F),e.addEventListener("timeupdate",x),e.addEventListener("canplay",H),e.addEventListener("ended",U),e.addEventListener("error",B),document.addEventListener("visibilitychange",M),()=>{o.destroy(),e.removeEventListener("waiting",I),e.removeEventListener("seeking",D),e.removeEventListener("play",k),e.removeEventListener("playing",O),e.removeEventListener("pause",F),e.removeEventListener("timeupdate",x),e.removeEventListener("canplay",H),e.removeEventListener("ended",U),e.removeEventListener("error",B),document.removeEventListener("visibilitychange",M);}},[v]),react.useEffect(()=>{n<Se&&chunkVUHZVVMS_js.t("isEnded")&&y(chunkAN6JAJSI_js.u(false));},[n]),be(a),chunkKSZ35TPK_js.a(),chunkKSZ35TPK_js.c(),chunkKSZ35TPK_js.b(),chunkKSZ35TPK_js.d(),jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsx("video",{ref:P,playsInline:true,id:"player-tag",preload:"metadata",crossOrigin:"anonymous",poster:s.banner?s.banner:c.banner,autoPlay:!!chunkVUHZVVMS_js.t("hasAutoPlay")||!!s.advertisement,className:`pl-items-center pl-flex-1 pl-h-full ${!chunkVUHZVVMS_js.t("isTouchScreen")&&!chunkVUHZVVMS_js.t("isFullScreen")&&"!pl-rounded-[12px]"}`,style:{width:"100%",height:"100%",maxWidth:i.width?i.width:"100%",maxHeight:i.width?i.width<i.height?i.width*9/16:i.width*16/9:"100%"},children:jsxRuntime.jsx(Qe__default.default,{fill:true,style:{objectFit:"cover"},src:s.banner?s.banner:c.banner,onLoad:()=>V.current=Date.now(),alt:s.bannerAlt?s.bannerAlt:chunkVUHZVVMS_js.t("isStaticFormat")?"\u0628\u0646\u0631 \u0648\u06CC\u062F\u06CC\u0648 \u067E\u0644\u06CC\u0631 \u06A9\u0627\u0641\u0647 \u0648\u06CC\u062F\u06CC\u0648":c.title??""})})})},In=$e;module.exports=In;//# sourceMappingURL=nonStaticVideoTag-5HEUBWAN.js.map
|
|
2
|
-
//# sourceMappingURL=nonStaticVideoTag-5HEUBWAN.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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","videoRef","useRef","timerRef","waitingDurationRef","waitingTimerRef","initialWaitingDurationRef","bannerLoadingDurationRef","loadingDurationRef","loadingCounterRef","videoEntranceTimeRef","streamUrl","video","handlePageLoadTime","setupAutoplayBehavior","hls","Hls","handleHlsConfig","onMediaAttached","onManifestParsed","e","data","handleManifestParsed","onFragBuffered","handleFragBuffered","onFragChanged","handleFragChanged","onFragParsed","handleFragParsed","onError","handleHlsErrors","onWaiting","handleVideoWaiting","onSeeking","handleVideoSeeking","onPlay","handleVideoPlay","onIosPlay","handleIosVideoPlay","onPause","handleVideoPause","onTimeUpdate","handleVideoTimeUpdate","onCanPlay","handleVideoCanPlay","onEnded","handleVideoEnded","onVideoError","handleVideoError","onVisibilitychange","handleVideoVisibilityChange","onPlaying","handleVideoPlaying","appendQueryParamsToChunksIOS","handleIosVideoPlaying","handleIosVideoTimeUpdate","handleIosVideoEnded","setIsEnded","useJumpToCurrentTime_default","useAppendSubtitle_default","useHideSubtitle_default","useActiveSubtitleAutomatic_default","jsx","Fragment","Image","nonStaticVideoTag_default"],"mappings":"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","file":"nonStaticVideoTag-5HEUBWAN.js","sourcesContent":["\"use client\";\r\n\r\nimport Hls, { ErrorData } from \"hls.js\";\r\nimport { useEffect, useState, useRef } 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 { handlePageLoadTime, setupAutoplayBehavior } from \"../../../helpers/helpers\";\r\nimport {\r\n appendQueryParamsToChunksIOS,\r\n handleFragBuffered,\r\n handleFragChanged,\r\n handleFragParsed,\r\n handleHlsConfig,\r\n handleHlsErrors,\r\n handleIosVideoEnded,\r\n handleIosVideoPlay,\r\n handleIosVideoPlaying,\r\n handleIosVideoTimeUpdate,\r\n handleManifestParsed,\r\n handleVideoCanPlay,\r\n handleVideoEnded,\r\n handleVideoError,\r\n handleVideoPause,\r\n handleVideoPlay,\r\n handleVideoPlaying,\r\n handleVideoSeeking,\r\n handleVideoTimeUpdate,\r\n handleVideoVisibilityChange,\r\n handleVideoWaiting,\r\n} 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 useBeforeUnload from \"../../../helpers/hooks/useBeforeUnload\";\r\nimport useHideSubtitle from \"../../../helpers/hooks/useHideSubtitle\";\r\nimport useJumpToCurrentTime from \"../../../helpers/hooks/useJumpToCurrentTime\";\r\nimport useAppendSubtitle from \"../../../helpers/hooks/useAppendSubtitle\";\r\nimport useActiveSubtitleAutomatic from \"../../../helpers/hooks/useActiveSubtitleAutomatic\";\r\nimport Image from \"next/image\";\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\r\n const videoRef = useRef<HTMLVideoElement | null>(null);\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>(videoRef.current?.currentTime || 0);\r\n\r\n useContinuousPlaybackInterval();\r\n useBeforeUnload();\r\n\r\n const streamUrl = details.stream_link || params.stream_link;\r\n\r\n useEffect(() => {\r\n const video = videoRef.current;\r\n\r\n if (!video || !streamUrl) return;\r\n\r\n // ---- Page Load Time ----\r\n handlePageLoadTime(loadingDurationRef);\r\n initialWaitingDurationRef.current = Date.now();\r\n setupAutoplayBehavior(video);\r\n\r\n const hls = new Hls(handleHlsConfig());\r\n // ---------------- HLS EVENTS ----------------\r\n const onMediaAttached = () => hls.loadSource(streamUrl);\r\n const onManifestParsed = (e: any, data: any) => handleManifestParsed(hls, data);\r\n const onFragBuffered = () => handleFragBuffered(hls, video);\r\n const onFragChanged = (e: any, data: any) => handleFragChanged(hls, data, setQualityLevel);\r\n const onFragParsed = (e: any, data: any) => handleFragParsed(hls, data, setQualityLevel);\r\n const onError = (e: any, data: ErrorData) => handleHlsErrors(data);\r\n\r\n // ---------------- VIDEO EVENTS ----------------\r\n const onWaiting = (e: any) => handleVideoWaiting(e, waitingTimerRef);\r\n const onSeeking = (e: any) => handleVideoSeeking(e, waitingTimerRef);\r\n const onPlay = (e: any) => handleVideoPlay(e, timerRef, video);\r\n const onIosPlay = (e: any) => handleIosVideoPlay(e, timerRef);\r\n const onPause = (e: any) => handleVideoPause(e);\r\n const onTimeUpdate = (e: any) => handleVideoTimeUpdate(e);\r\n const onCanPlay = () => handleVideoCanPlay(video);\r\n const onEnded = (e: any) => handleVideoEnded(e, video);\r\n const onVideoError = (e: any) => handleVideoError(e);\r\n const onVisibilitychange = () => handleVideoVisibilityChange(video);\r\n const onPlaying = () =>\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 video,\r\n );\r\n\r\n // ---------------- INIT ----------------\r\n if (Hls.isSupported()) {\r\n hls.on(Hls.Events.MEDIA_ATTACHED, onMediaAttached);\r\n hls.on(Hls.Events.MANIFEST_PARSED, onManifestParsed);\r\n hls.on(Hls.Events.FRAG_BUFFERED, onFragBuffered);\r\n hls.on(Hls.Events.FRAG_CHANGED, onFragChanged);\r\n hls.on(Hls.Events.FRAG_PARSED, onFragParsed);\r\n hls.on(Hls.Events.ERROR, onError);\r\n\r\n hls.attachMedia(video);\r\n } else if (video.canPlayType(\"application/vnd.apple.mpegurl\")) {\r\n video.src = streamUrl;\r\n appendQueryParamsToChunksIOS();\r\n\r\n video.addEventListener(\"play\", onIosPlay);\r\n video.addEventListener(\"playing\", handleIosVideoPlaying);\r\n video.addEventListener(\"timeupdate\", handleIosVideoTimeUpdate);\r\n video.addEventListener(\"ended\", handleIosVideoEnded);\r\n }\r\n\r\n video.addEventListener(\"waiting\", onWaiting);\r\n video.addEventListener(\"seeking\", onSeeking);\r\n video.addEventListener(\"play\", onPlay);\r\n video.addEventListener(\"playing\", onPlaying);\r\n video.addEventListener(\"pause\", onPause);\r\n video.addEventListener(\"timeupdate\", onTimeUpdate);\r\n video.addEventListener(\"canplay\", onCanPlay);\r\n video.addEventListener(\"ended\", onEnded);\r\n video.addEventListener(\"error\", onVideoError);\r\n\r\n document.addEventListener(\"visibilitychange\", onVisibilitychange);\r\n\r\n // ---------------- CLEANUP ----------------\r\n return () => {\r\n hls.destroy();\r\n\r\n video.removeEventListener(\"waiting\", onWaiting);\r\n video.removeEventListener(\"seeking\", onSeeking);\r\n video.removeEventListener(\"play\", onPlay);\r\n video.removeEventListener(\"playing\", onPlaying);\r\n video.removeEventListener(\"pause\", onPause);\r\n video.removeEventListener(\"timeupdate\", onTimeUpdate);\r\n video.removeEventListener(\"canplay\", onCanPlay);\r\n video.removeEventListener(\"ended\", onEnded);\r\n video.removeEventListener(\"error\", onVideoError);\r\n\r\n document.removeEventListener(\"visibilitychange\", onVisibilitychange);\r\n };\r\n }, [streamUrl]);\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n useEffect(() => {\r\n if (currentTime < duration && conditions(ConditionName.isEnded)) dispatch(setIsEnded(false));\r\n }, [currentTime]);\r\n\r\n usePingPong(qualityLevel);\r\n\r\n useJumpToCurrentTime();\r\n useAppendSubtitle();\r\n useHideSubtitle();\r\n useActiveSubtitleAutomatic();\r\n\r\n return (\r\n <>\r\n <video\r\n ref={videoRef}\r\n playsInline\r\n id=\"player-tag\"\r\n preload=\"metadata\"\r\n crossOrigin=\"anonymous\"\r\n poster={params.banner ? params.banner : details.banner}\r\n autoPlay={!!conditions(ConditionName.hasAutoPlay) || !!params.advertisement}\r\n className={`pl-items-center pl-flex-1 pl-h-full ${\r\n !conditions(ConditionName.isTouchScreen) && !conditions(ConditionName.isFullScreen) && \"!pl-rounded-[12px]\"\r\n }`}\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 >\r\n <Image\r\n fill\r\n style={{ objectFit: \"cover\" }}\r\n src={params.banner ? params.banner : details.banner}\r\n onLoad={() => (bannerLoadingDurationRef.current = Date.now())}\r\n alt={params.bannerAlt ? params.bannerAlt : conditions(ConditionName.isStaticFormat) ? \"بنر ویدیو پلیر کافه ویدیو\" : (details.title ?? \"\")}\r\n />\r\n </video>\r\n </>\r\n );\r\n};\r\n\r\nexport default NonStaticVideoTag;\r\n","import { useEffect } from \"react\";\nimport { shallowEqual } from \"react-redux\";\nimport { useAppSelector } from \"../redux/hooks\";\nimport { continuousePlaybackIntervalTime } from \"../environment\";\nimport { ConditionName } from \"../interfaces/enums\";\nimport { conditions } from \"../conditions/conditions\";\nimport { handleContinuousPlayback } from \"../redux/actions/user.actions\";\n\nconst useContinuousPlaybackInterval = () => {\n let interval: any = null;\n\n const { isEnded } = useAppSelector(({ controller: { isEnded } }) => ({ isEnded }), shallowEqual);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n interval = setInterval(() => handleContinuousPlayback(), continuousePlaybackIntervalTime);\n return () => clearInterval(interval);\n }, []);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n if (conditions(ConditionName.isEnded)) clearInterval(interval);\n }, [isEnded]);\n};\n\nexport default useContinuousPlaybackInterval;\n","import { useEffect, useState } from \"react\";\nimport { shallowEqual } from \"react-redux\";\nimport { useAppSelector } from \"../redux/hooks\";\nimport { sendFluentLog } from \"../logs/fluentdLogger\";\nimport { autoQualityChangeLog, pingpongLog } from \"../logs/logs\";\n\nconst usePingPong = (qualityLevel?: number) => {\n const [qualityHistory, setQualityHistory] = useState<number[]>([]);\n const [startTimer, setStartTimer] = useState<number>(0);\n\n const { qualityLevels } = useAppSelector(({ controller: { qualityLevels } }) => ({ qualityLevels }), shallowEqual);\n\n useEffect(() => {\n if (qualityLevel) {\n let newQualityArray: number[] = [];\n switch (qualityHistory.length) {\n case 0:\n newQualityArray = [qualityLevel];\n break;\n case 1:\n newQualityArray = [qualityLevel, ...qualityHistory];\n break;\n case 2:\n newQualityArray = [qualityLevel, ...qualityHistory];\n sendFluentLog(\n autoQualityChangeLog(\n `${newQualityArray[0]}P`,\n `${newQualityArray[1]}P`,\n qualityLevels.indexOf(newQualityArray[0]) - qualityLevels.indexOf(newQualityArray[1])\n )\n );\n break;\n default:\n newQualityArray = [qualityLevel, qualityHistory[0], qualityHistory[1]];\n if (newQualityArray[1] !== newQualityArray[2])\n sendFluentLog(\n autoQualityChangeLog(\n `${newQualityArray[1]}P`,\n `${newQualityArray[2]}P`,\n qualityLevels.indexOf(newQualityArray[1]) - qualityLevels.indexOf(newQualityArray[2])\n )\n );\n break;\n }\n setQualityHistory(newQualityArray);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [qualityLevel]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n if (qualityHistory.length === 3 && qualityHistory[0] === qualityHistory[2]) {\n sendFluentLog(pingpongLog(startTimer, qualityHistory));\n setQualityHistory([]);\n setStartTimer(0);\n } else {\n setStartTimer(new Date().getTime());\n }\n }, [qualityHistory]);\n};\nexport default usePingPong;\n","import { useEffect } from \"react\";\nimport { handleContinuousPlayback } from \"../redux/actions/user.actions\";\n\nconst useBeforeUnload = () => {\n useEffect(() => {\n const handleBeforeUnload = () => {\n handleContinuousPlayback();\n };\n\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\n return () => window.removeEventListener(\"beforeunload\", handleBeforeUnload);\n }, []);\n};\n\nexport default useBeforeUnload;\n"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {a,c as c$1,b as b$1,d}from'./chunk-6LGS5W4B.mjs';import {c,b,s,t,u as u$1,e as e$1,f,g,h,i,j,k,l,r,n,o,p,q,a as a$1,D,m}from'./chunk-QFADUEGX.mjs';import {c as c$2}from'./chunk-2DV7FRU5.mjs';import {a as a$2}from'./chunk-UL5LQB3G.mjs';import'./chunk-HOAJ3EFI.mjs';import {qa,xa,t as t$1,w,I,J}from'./chunk-NLCBOGTI.mjs';import {e,z,A,u as u$2}from'./chunk-4QMWBTB5.mjs';import u from'hls.js';import {useState,useRef,useEffect}from'react';import {shallowEqual}from'react-redux';import $e from'next/image';import {jsx,Fragment}from'react/jsx-runtime';e();e();var Be=()=>{let a=null,{isEnded:r}=A(({controller:{isEnded:y}})=>({isEnded:y}),shallowEqual);useEffect(()=>(a=setInterval(()=>a$2(),c$2),()=>clearInterval(a)),[]),useEffect(()=>{t$1("isEnded")&&clearInterval(a);},[r]);},ge=Be;e();var Oe=a=>{let[r,y]=useState([]),[s,c]=useState(0),{qualityLevels:i}=A(({controller:{qualityLevels:n}})=>({qualityLevels:n}),shallowEqual);useEffect(()=>{if(a){let n=[];switch(r.length){case 0:n=[a];break;case 1:n=[a,...r];break;case 2:n=[a,...r],w(I(`${n[0]}P`,`${n[1]}P`,i.indexOf(n[0])-i.indexOf(n[1])));break;default:n=[a,r[0],r[1]],n[1]!==n[2]&&w(I(`${n[1]}P`,`${n[2]}P`,i.indexOf(n[1])-i.indexOf(n[2])));break}y(n);}},[a]),useEffect(()=>{r.length===3&&r[0]===r[2]?(w(J(s,r)),y([]),c(0)):c(new Date().getTime());},[r]);},Le=Oe;e();var Ne=()=>{useEffect(()=>{let a=()=>{a$2();};return window.addEventListener("beforeunload",a),()=>window.removeEventListener("beforeunload",a)},[]);},we=Ne;var Ge=()=>{let[a$2,r$1]=useState(void 0),y=z(),{params:s$1,details:c$2,videoElementSizeInfo:i$1}=A(({videoData:{params:e,details:o,videoElementSizeInfo:E}})=>({params:e,details:o,videoElementSizeInfo:E}),shallowEqual),{currentTime:n$1,duration:Te}=A(({controller:{currentTime:e,duration:o,isEnded:E,firstPlay:w}})=>({currentTime:e,duration:o,isEnded:E,firstPlay:w}),shallowEqual),P=useRef(null),b$2=useRef(null),Re=useRef(0),L=useRef(0),V=useRef(0),C=useRef(0),I=useRef(0),Ve=useRef(1),Ce=useRef(P.current?.currentTime||0);ge(),we();let v=c$2.stream_link||s$1.stream_link;return useEffect(()=>{let e=P.current;if(!e||!v)return;qa(I),V.current=Date.now(),xa(e);let o$1=new u(c()),E=()=>o$1.loadSource(v),w=(t,p)=>e$1(o$1,p),Ie=()=>f(o$1,e),De=(t,p)=>g(o$1,p,r$1),ke=(t,p)=>h(o$1,p,r$1),Fe=(t,p)=>i(p),D$1=t=>j(t,L),k$1=t=>k(t,L),F=t=>l(t,b$2,e),xe=t=>r(t,b$2),x=t=>n(t),H=t=>o(t),U=()=>p(e),B=t=>q(t,e),M=t=>a$1(t),O=()=>D(e),_=()=>m(Ve,I,V,C,b$2,Re,L,Ce,e);return u.isSupported()?(o$1.on(u.Events.MEDIA_ATTACHED,E),o$1.on(u.Events.MANIFEST_PARSED,w),o$1.on(u.Events.FRAG_BUFFERED,Ie),o$1.on(u.Events.FRAG_CHANGED,De),o$1.on(u.Events.FRAG_PARSED,ke),o$1.on(u.Events.ERROR,Fe),o$1.attachMedia(e)):e.canPlayType("application/vnd.apple.mpegurl")&&(e.src=v,b(),e.addEventListener("play",xe),e.addEventListener("playing",s),e.addEventListener("timeupdate",t),e.addEventListener("ended",u$1)),e.addEventListener("waiting",D$1),e.addEventListener("seeking",k$1),e.addEventListener("play",F),e.addEventListener("playing",_),e.addEventListener("pause",x),e.addEventListener("timeupdate",H),e.addEventListener("canplay",U),e.addEventListener("ended",B),e.addEventListener("error",M),document.addEventListener("visibilitychange",O),()=>{o$1.destroy(),e.removeEventListener("waiting",D$1),e.removeEventListener("seeking",k$1),e.removeEventListener("play",F),e.removeEventListener("playing",_),e.removeEventListener("pause",x),e.removeEventListener("timeupdate",H),e.removeEventListener("canplay",U),e.removeEventListener("ended",B),e.removeEventListener("error",M),document.removeEventListener("visibilitychange",O);}},[v]),useEffect(()=>{n$1<Te&&t$1("isEnded")&&y(u$2(false));},[n$1]),Le(a$2),a(),c$1(),b$1(),d(),jsx(Fragment,{children:jsx("video",{ref:P,playsInline:true,id:"player-tag",preload:"metadata",crossOrigin:"anonymous",poster:s$1.banner?s$1.banner:c$2.banner,autoPlay:!!t$1("hasAutoPlay")||!!s$1.advertisement,className:`pl-items-center pl-flex-1 pl-h-full ${!t$1("isTouchScreen")&&!t$1("isFullScreen")&&"!pl-rounded-[12px]"}`,style:{width:"100%",height:"100%",maxWidth:i$1.width?i$1.width:"100%",maxHeight:i$1.width?i$1.width<i$1.height?i$1.width*9/16:i$1.width*16/9:"100%"},children:jsx($e,{fill:true,style:{objectFit:"cover"},src:s$1.banner?s$1.banner:c$2.banner,onLoad:()=>C.current=Date.now(),alt:s$1.bannerAlt?s$1.bannerAlt:t$1("isStaticFormat")?"\u0628\u0646\u0631 \u0648\u06CC\u062F\u06CC\u0648 \u067E\u0644\u06CC\u0631 \u06A9\u0627\u0641\u0647 \u0648\u06CC\u062F\u06CC\u0648":c$2.title??""})})})},Dn=Ge;export{Dn as default};//# sourceMappingURL=nonStaticVideoTag-P47FI6UV.mjs.map
|
|
2
|
-
//# sourceMappingURL=nonStaticVideoTag-P47FI6UV.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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","videoRef","useRef","timerRef","waitingDurationRef","waitingTimerRef","initialWaitingDurationRef","bannerLoadingDurationRef","loadingDurationRef","loadingCounterRef","videoEntranceTimeRef","streamUrl","video","handlePageLoadTime","setupAutoplayBehavior","hls","Hls","handleHlsConfig","onMediaAttached","onManifestParsed","e","data","handleManifestParsed","onFragBuffered","handleFragBuffered","onFragChanged","handleFragChanged","onFragParsed","handleFragParsed","onError","handleHlsErrors","onWaiting","handleVideoWaiting","onSeeking","handleVideoSeeking","onPlay","handleVideoPlay","onIosPlay","handleIosVideoPlay","onPause","handleVideoPause","onTimeUpdate","handleVideoTimeUpdate","onCanPlay","handleVideoCanPlay","onEnded","handleVideoEnded","onVideoError","handleVideoError","onVisibilitychange","handleVideoVisibilityChange","onPlaying","handleVideoPlaying","appendQueryParamsToChunksIOS","handleIosVideoPlaying","handleIosVideoTimeUpdate","handleIosVideoEnded","setIsEnded","useJumpToCurrentTime_default","useAppendSubtitle_default","useHideSubtitle_default","useActiveSubtitleAutomatic_default","jsx","Fragment","Image","nonStaticVideoTag_default"],"mappings":"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","file":"nonStaticVideoTag-P47FI6UV.mjs","sourcesContent":["\"use client\";\r\n\r\nimport Hls, { ErrorData } from \"hls.js\";\r\nimport { useEffect, useState, useRef } 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 { handlePageLoadTime, setupAutoplayBehavior } from \"../../../helpers/helpers\";\r\nimport {\r\n appendQueryParamsToChunksIOS,\r\n handleFragBuffered,\r\n handleFragChanged,\r\n handleFragParsed,\r\n handleHlsConfig,\r\n handleHlsErrors,\r\n handleIosVideoEnded,\r\n handleIosVideoPlay,\r\n handleIosVideoPlaying,\r\n handleIosVideoTimeUpdate,\r\n handleManifestParsed,\r\n handleVideoCanPlay,\r\n handleVideoEnded,\r\n handleVideoError,\r\n handleVideoPause,\r\n handleVideoPlay,\r\n handleVideoPlaying,\r\n handleVideoSeeking,\r\n handleVideoTimeUpdate,\r\n handleVideoVisibilityChange,\r\n handleVideoWaiting,\r\n} 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 useBeforeUnload from \"../../../helpers/hooks/useBeforeUnload\";\r\nimport useHideSubtitle from \"../../../helpers/hooks/useHideSubtitle\";\r\nimport useJumpToCurrentTime from \"../../../helpers/hooks/useJumpToCurrentTime\";\r\nimport useAppendSubtitle from \"../../../helpers/hooks/useAppendSubtitle\";\r\nimport useActiveSubtitleAutomatic from \"../../../helpers/hooks/useActiveSubtitleAutomatic\";\r\nimport Image from \"next/image\";\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\r\n const videoRef = useRef<HTMLVideoElement | null>(null);\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>(videoRef.current?.currentTime || 0);\r\n\r\n useContinuousPlaybackInterval();\r\n useBeforeUnload();\r\n\r\n const streamUrl = details.stream_link || params.stream_link;\r\n\r\n useEffect(() => {\r\n const video = videoRef.current;\r\n\r\n if (!video || !streamUrl) return;\r\n\r\n // ---- Page Load Time ----\r\n handlePageLoadTime(loadingDurationRef);\r\n initialWaitingDurationRef.current = Date.now();\r\n setupAutoplayBehavior(video);\r\n\r\n const hls = new Hls(handleHlsConfig());\r\n // ---------------- HLS EVENTS ----------------\r\n const onMediaAttached = () => hls.loadSource(streamUrl);\r\n const onManifestParsed = (e: any, data: any) => handleManifestParsed(hls, data);\r\n const onFragBuffered = () => handleFragBuffered(hls, video);\r\n const onFragChanged = (e: any, data: any) => handleFragChanged(hls, data, setQualityLevel);\r\n const onFragParsed = (e: any, data: any) => handleFragParsed(hls, data, setQualityLevel);\r\n const onError = (e: any, data: ErrorData) => handleHlsErrors(data);\r\n\r\n // ---------------- VIDEO EVENTS ----------------\r\n const onWaiting = (e: any) => handleVideoWaiting(e, waitingTimerRef);\r\n const onSeeking = (e: any) => handleVideoSeeking(e, waitingTimerRef);\r\n const onPlay = (e: any) => handleVideoPlay(e, timerRef, video);\r\n const onIosPlay = (e: any) => handleIosVideoPlay(e, timerRef);\r\n const onPause = (e: any) => handleVideoPause(e);\r\n const onTimeUpdate = (e: any) => handleVideoTimeUpdate(e);\r\n const onCanPlay = () => handleVideoCanPlay(video);\r\n const onEnded = (e: any) => handleVideoEnded(e, video);\r\n const onVideoError = (e: any) => handleVideoError(e);\r\n const onVisibilitychange = () => handleVideoVisibilityChange(video);\r\n const onPlaying = () =>\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 video,\r\n );\r\n\r\n // ---------------- INIT ----------------\r\n if (Hls.isSupported()) {\r\n hls.on(Hls.Events.MEDIA_ATTACHED, onMediaAttached);\r\n hls.on(Hls.Events.MANIFEST_PARSED, onManifestParsed);\r\n hls.on(Hls.Events.FRAG_BUFFERED, onFragBuffered);\r\n hls.on(Hls.Events.FRAG_CHANGED, onFragChanged);\r\n hls.on(Hls.Events.FRAG_PARSED, onFragParsed);\r\n hls.on(Hls.Events.ERROR, onError);\r\n\r\n hls.attachMedia(video);\r\n } else if (video.canPlayType(\"application/vnd.apple.mpegurl\")) {\r\n video.src = streamUrl;\r\n appendQueryParamsToChunksIOS();\r\n\r\n video.addEventListener(\"play\", onIosPlay);\r\n video.addEventListener(\"playing\", handleIosVideoPlaying);\r\n video.addEventListener(\"timeupdate\", handleIosVideoTimeUpdate);\r\n video.addEventListener(\"ended\", handleIosVideoEnded);\r\n }\r\n\r\n video.addEventListener(\"waiting\", onWaiting);\r\n video.addEventListener(\"seeking\", onSeeking);\r\n video.addEventListener(\"play\", onPlay);\r\n video.addEventListener(\"playing\", onPlaying);\r\n video.addEventListener(\"pause\", onPause);\r\n video.addEventListener(\"timeupdate\", onTimeUpdate);\r\n video.addEventListener(\"canplay\", onCanPlay);\r\n video.addEventListener(\"ended\", onEnded);\r\n video.addEventListener(\"error\", onVideoError);\r\n\r\n document.addEventListener(\"visibilitychange\", onVisibilitychange);\r\n\r\n // ---------------- CLEANUP ----------------\r\n return () => {\r\n hls.destroy();\r\n\r\n video.removeEventListener(\"waiting\", onWaiting);\r\n video.removeEventListener(\"seeking\", onSeeking);\r\n video.removeEventListener(\"play\", onPlay);\r\n video.removeEventListener(\"playing\", onPlaying);\r\n video.removeEventListener(\"pause\", onPause);\r\n video.removeEventListener(\"timeupdate\", onTimeUpdate);\r\n video.removeEventListener(\"canplay\", onCanPlay);\r\n video.removeEventListener(\"ended\", onEnded);\r\n video.removeEventListener(\"error\", onVideoError);\r\n\r\n document.removeEventListener(\"visibilitychange\", onVisibilitychange);\r\n };\r\n }, [streamUrl]);\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n useEffect(() => {\r\n if (currentTime < duration && conditions(ConditionName.isEnded)) dispatch(setIsEnded(false));\r\n }, [currentTime]);\r\n\r\n usePingPong(qualityLevel);\r\n\r\n useJumpToCurrentTime();\r\n useAppendSubtitle();\r\n useHideSubtitle();\r\n useActiveSubtitleAutomatic();\r\n\r\n return (\r\n <>\r\n <video\r\n ref={videoRef}\r\n playsInline\r\n id=\"player-tag\"\r\n preload=\"metadata\"\r\n crossOrigin=\"anonymous\"\r\n poster={params.banner ? params.banner : details.banner}\r\n autoPlay={!!conditions(ConditionName.hasAutoPlay) || !!params.advertisement}\r\n className={`pl-items-center pl-flex-1 pl-h-full ${\r\n !conditions(ConditionName.isTouchScreen) && !conditions(ConditionName.isFullScreen) && \"!pl-rounded-[12px]\"\r\n }`}\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 >\r\n <Image\r\n fill\r\n style={{ objectFit: \"cover\" }}\r\n src={params.banner ? params.banner : details.banner}\r\n onLoad={() => (bannerLoadingDurationRef.current = Date.now())}\r\n alt={params.bannerAlt ? params.bannerAlt : conditions(ConditionName.isStaticFormat) ? \"بنر ویدیو پلیر کافه ویدیو\" : (details.title ?? \"\")}\r\n />\r\n </video>\r\n </>\r\n );\r\n};\r\n\r\nexport default NonStaticVideoTag;\r\n","import { useEffect } from \"react\";\nimport { shallowEqual } from \"react-redux\";\nimport { useAppSelector } from \"../redux/hooks\";\nimport { continuousePlaybackIntervalTime } from \"../environment\";\nimport { ConditionName } from \"../interfaces/enums\";\nimport { conditions } from \"../conditions/conditions\";\nimport { handleContinuousPlayback } from \"../redux/actions/user.actions\";\n\nconst useContinuousPlaybackInterval = () => {\n let interval: any = null;\n\n const { isEnded } = useAppSelector(({ controller: { isEnded } }) => ({ isEnded }), shallowEqual);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n interval = setInterval(() => handleContinuousPlayback(), continuousePlaybackIntervalTime);\n return () => clearInterval(interval);\n }, []);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n if (conditions(ConditionName.isEnded)) clearInterval(interval);\n }, [isEnded]);\n};\n\nexport default useContinuousPlaybackInterval;\n","import { useEffect, useState } from \"react\";\nimport { shallowEqual } from \"react-redux\";\nimport { useAppSelector } from \"../redux/hooks\";\nimport { sendFluentLog } from \"../logs/fluentdLogger\";\nimport { autoQualityChangeLog, pingpongLog } from \"../logs/logs\";\n\nconst usePingPong = (qualityLevel?: number) => {\n const [qualityHistory, setQualityHistory] = useState<number[]>([]);\n const [startTimer, setStartTimer] = useState<number>(0);\n\n const { qualityLevels } = useAppSelector(({ controller: { qualityLevels } }) => ({ qualityLevels }), shallowEqual);\n\n useEffect(() => {\n if (qualityLevel) {\n let newQualityArray: number[] = [];\n switch (qualityHistory.length) {\n case 0:\n newQualityArray = [qualityLevel];\n break;\n case 1:\n newQualityArray = [qualityLevel, ...qualityHistory];\n break;\n case 2:\n newQualityArray = [qualityLevel, ...qualityHistory];\n sendFluentLog(\n autoQualityChangeLog(\n `${newQualityArray[0]}P`,\n `${newQualityArray[1]}P`,\n qualityLevels.indexOf(newQualityArray[0]) - qualityLevels.indexOf(newQualityArray[1])\n )\n );\n break;\n default:\n newQualityArray = [qualityLevel, qualityHistory[0], qualityHistory[1]];\n if (newQualityArray[1] !== newQualityArray[2])\n sendFluentLog(\n autoQualityChangeLog(\n `${newQualityArray[1]}P`,\n `${newQualityArray[2]}P`,\n qualityLevels.indexOf(newQualityArray[1]) - qualityLevels.indexOf(newQualityArray[2])\n )\n );\n break;\n }\n setQualityHistory(newQualityArray);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [qualityLevel]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n if (qualityHistory.length === 3 && qualityHistory[0] === qualityHistory[2]) {\n sendFluentLog(pingpongLog(startTimer, qualityHistory));\n setQualityHistory([]);\n setStartTimer(0);\n } else {\n setStartTimer(new Date().getTime());\n }\n }, [qualityHistory]);\n};\nexport default usePingPong;\n","import { useEffect } from \"react\";\nimport { handleContinuousPlayback } from \"../redux/actions/user.actions\";\n\nconst useBeforeUnload = () => {\n useEffect(() => {\n const handleBeforeUnload = () => {\n handleContinuousPlayback();\n };\n\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\n return () => window.removeEventListener(\"beforeunload\", handleBeforeUnload);\n }, []);\n};\n\nexport default useBeforeUnload;\n"]}
|
package/notActive-DRH5BEL5.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var chunkCOYFW7R4_js=require('./chunk-COYFW7R4.js'),chunkAN6JAJSI_js=require('./chunk-AN6JAJSI.js'),s=require('next/image'),react=require('react'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var s__default=/*#__PURE__*/_interopDefault(s);chunkAN6JAJSI_js.e();var f=()=>{let t=chunkAN6JAJSI_js.z();return react.useEffect(()=>{t(chunkAN6JAJSI_js.l(false));},[t]),jsxRuntime.jsxs("div",{className:"pl-w-full pl-h-full pl-rounded-2xl pl-flex pl-flex-col pl-justify-center pl-select-none pl-pointer-events-none pl-items-center",children:[jsxRuntime.jsx("div",{className:"pl-flex pl-justify-center",children:jsxRuntime.jsx(s__default.default,{src:chunkCOYFW7R4_js.a.notFound,alt:"",width:120,height:70})}),jsxRuntime.jsx("h1",{className:"pl-text-[12px] pl-font-medium pl-text-white 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-white",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."})]})},x=f;module.exports=x;//# sourceMappingURL=notActive-DRH5BEL5.js.map
|
|
2
|
-
//# sourceMappingURL=notActive-DRH5BEL5.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/components/custom-components/notActive/notActive.tsx"],"names":["init_cjs_shims","NotActive","dispatch","useAppDispatch","useEffect","setIsLoading","jsxs","jsx","Image","importImages_default","notActive_default"],"mappings":"wTAAAA,kBAAAA,EAAAA,CAQA,IAAMC,EAAY,IAAM,CACtB,IAAMC,CAAAA,CAAWC,kBAAAA,EAAe,CAEhC,OAAAC,eAAAA,CAAU,IAAM,CACdF,CAAAA,CAASG,kBAAAA,CAAa,KAAK,CAAC,EAC9B,CAAA,CAAG,CAACH,CAAQ,CAAC,CAAA,CAGXI,eAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAW,gIAAA,CACd,QAAA,CAAA,CAAAC,cAAAA,CAAC,KAAA,CAAA,CAAI,UAAU,2BAAA,CACb,QAAA,CAAAA,cAAAA,CAACC,kBAAAA,CAAA,CAAM,GAAA,CAAKC,kBAAAA,CAAO,QAAA,CAAU,GAAA,CAAI,GAAG,KAAA,CAAO,GAAA,CAAK,MAAA,CAAQ,EAAA,CAAI,EAC9D,CAAA,CACAF,cAAAA,CAAC,IAAA,CAAA,CAAG,SAAA,CAAU,8DAA8D,QAAA,CAAA,4JAAA,CAA6B,CAAA,CACzGA,cAAAA,CAAC,GAAA,CAAA,CAAE,UAAU,6CAAA,CAA8C,QAAA,CAAA,8OAAA,CAA8C,CAAA,CAAA,CAC3G,CAEJ,EAEOG,CAAAA,CAAQT","file":"notActive-DRH5BEL5.js","sourcesContent":["\"use client\";\r\n\r\nimport Image from \"next/image\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { useEffect } from \"react\";\r\nimport { useAppDispatch } from \"../../../helpers/redux/hooks\";\r\nimport { setIsLoading } from \"../../../helpers/redux/slices/controllerSlice\";\r\n\r\nconst NotActive = () => {\r\n const dispatch = useAppDispatch();\r\n\r\n useEffect(() => {\r\n dispatch(setIsLoading(false));\r\n }, [dispatch]);\r\n\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-select-none pl-pointer-events-none pl-items-center`}>\r\n <div className=\"pl-flex pl-justify-center\">\r\n <Image src={IMAGES.notFound} alt=\"\" width={120} height={70} />\r\n </div>\r\n <h1 className=\"pl-text-[12px] pl-font-medium pl-text-white pl-mt-4 pl-mb-2\">ویدیویی برای نمایش وجود نداره</h1>\r\n <p className=\"pl-text-[12px] pl-font-medium pl-text-white\">میتونید ویدیوهای مشابه با اون رو مشاهده کنید.</p>\r\n </div>\r\n );\r\n};\r\n\r\nexport default NotActive;\r\n"]}
|
package/notActive-DSDPVSW4.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {a}from'./chunk-XKRBXZUB.mjs';import {e,z,l}from'./chunk-4QMWBTB5.mjs';import s from'next/image';import {useEffect}from'react';import {jsxs,jsx}from'react/jsx-runtime';e();var f=()=>{let t=z();return useEffect(()=>{t(l(false));},[t]),jsxs("div",{className:"pl-w-full pl-h-full pl-rounded-2xl pl-flex pl-flex-col pl-justify-center pl-select-none pl-pointer-events-none pl-items-center",children:[jsx("div",{className:"pl-flex pl-justify-center",children:jsx(s,{src:a.notFound,alt:"",width:120,height:70})}),jsx("h1",{className:"pl-text-[12px] pl-font-medium pl-text-white 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-white",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."})]})},v=f;export{v as default};//# sourceMappingURL=notActive-DSDPVSW4.mjs.map
|
|
2
|
-
//# sourceMappingURL=notActive-DSDPVSW4.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/components/custom-components/notActive/notActive.tsx"],"names":["init_esm_shims","NotActive","dispatch","useAppDispatch","useEffect","setIsLoading","jsxs","jsx","Image","importImages_default","notActive_default"],"mappings":"+KAAAA,CAAAA,EAAAA,CAQA,IAAMC,EAAY,IAAM,CACtB,IAAMC,CAAAA,CAAWC,CAAAA,EAAe,CAEhC,OAAAC,SAAAA,CAAU,IAAM,CACdF,CAAAA,CAASG,CAAAA,CAAa,KAAK,CAAC,EAC9B,CAAA,CAAG,CAACH,CAAQ,CAAC,CAAA,CAGXI,IAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAW,gIAAA,CACd,QAAA,CAAA,CAAAC,GAAAA,CAAC,KAAA,CAAA,CAAI,UAAU,2BAAA,CACb,QAAA,CAAAA,GAAAA,CAACC,CAAAA,CAAA,CAAM,GAAA,CAAKC,CAAAA,CAAO,QAAA,CAAU,GAAA,CAAI,GAAG,KAAA,CAAO,GAAA,CAAK,MAAA,CAAQ,EAAA,CAAI,EAC9D,CAAA,CACAF,GAAAA,CAAC,IAAA,CAAA,CAAG,SAAA,CAAU,8DAA8D,QAAA,CAAA,4JAAA,CAA6B,CAAA,CACzGA,GAAAA,CAAC,GAAA,CAAA,CAAE,UAAU,6CAAA,CAA8C,QAAA,CAAA,8OAAA,CAA8C,CAAA,CAAA,CAC3G,CAEJ,EAEOG,CAAAA,CAAQT","file":"notActive-DSDPVSW4.mjs","sourcesContent":["\"use client\";\r\n\r\nimport Image from \"next/image\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { useEffect } from \"react\";\r\nimport { useAppDispatch } from \"../../../helpers/redux/hooks\";\r\nimport { setIsLoading } from \"../../../helpers/redux/slices/controllerSlice\";\r\n\r\nconst NotActive = () => {\r\n const dispatch = useAppDispatch();\r\n\r\n useEffect(() => {\r\n dispatch(setIsLoading(false));\r\n }, [dispatch]);\r\n\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-select-none pl-pointer-events-none pl-items-center`}>\r\n <div className=\"pl-flex pl-justify-center\">\r\n <Image src={IMAGES.notFound} alt=\"\" width={120} height={70} />\r\n </div>\r\n <h1 className=\"pl-text-[12px] pl-font-medium pl-text-white pl-mt-4 pl-mb-2\">ویدیویی برای نمایش وجود نداره</h1>\r\n <p className=\"pl-text-[12px] pl-font-medium pl-text-white\">میتونید ویدیوهای مشابه با اون رو مشاهده کنید.</p>\r\n </div>\r\n );\r\n};\r\n\r\nexport default NotActive;\r\n"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {a}from'./chunk-QXX6LI3R.mjs';import'./chunk-P4O3IKAQ.mjs';import'./chunk-B4IVZEZN.mjs';import'./chunk-QXTVEBKD.mjs';import'./chunk-2DV7FRU5.mjs';import'./chunk-XKRBXZUB.mjs';import'./chunk-HOAJ3EFI.mjs';import {t}from'./chunk-NLCBOGTI.mjs';import {e}from'./chunk-4QMWBTB5.mjs';import {jsx}from'react/jsx-runtime';e();var l=()=>jsx("div",{className:`pl-w-full pl-aspect-video ${!t("isTouchScreen")&&!t("isFullScreen")&&"!pl-rounded-[12px]"}`,children:jsx(a,{})}),m=l;export{m as default};//# sourceMappingURL=staticPlayer-4CLY5WJL.mjs.map
|
|
2
|
-
//# sourceMappingURL=staticPlayer-4CLY5WJL.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/components/videoPlayer/staticPlayer/staticPlayer.tsx"],"names":["init_esm_shims","StaticPlayer","jsx","conditions","videoArea_default","staticPlayer_default"],"mappings":"iUAAAA,CAAAA,EAAAA,CAMA,IAAMC,CAAAA,CAAe,IAEjBC,GAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CAAW,CAAA,0BAAA,EACT,CAACC,CAAAA,CAAAA,eAAsC,GACvC,CAACA,CAAAA,CAAAA,cAAqC,CAAA,EACtC,oBACF,CAAA,CAAA,CAEA,QAAA,CAAAD,IAACE,CAAAA,CAAA,EAAU,CAAA,CACb,CAAA,CAIGC,CAAAA,CAAQJ","file":"staticPlayer-4CLY5WJL.mjs","sourcesContent":["\"use client\";\n\nimport { conditions } from \"../../../helpers/conditions/conditions\";\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\nimport VideoArea from \"../../custom-components/videoArea/videoArea\";\n\nconst StaticPlayer = () => {\n return (\n <div\n className={`pl-w-full pl-aspect-video ${\n !conditions(ConditionName.isTouchScreen) &&\n !conditions(ConditionName.isFullScreen) &&\n \"!pl-rounded-[12px]\"\n }`}\n >\n <VideoArea />\n </div>\n );\n};\n\nexport default StaticPlayer;\n"]}
|
package/staticPlayer-7UUHF6G2.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var chunkVF6ZSAIO_js=require('./chunk-VF6ZSAIO.js');require('./chunk-K4YPVDEE.js'),require('./chunk-X7QXUGD2.js'),require('./chunk-CG2KA4BX.js'),require('./chunk-AK5TFAW3.js'),require('./chunk-COYFW7R4.js'),require('./chunk-5UGSCO4K.js');var chunkVUHZVVMS_js=require('./chunk-VUHZVVMS.js'),chunkAN6JAJSI_js=require('./chunk-AN6JAJSI.js'),jsxRuntime=require('react/jsx-runtime');chunkAN6JAJSI_js.e();var l=()=>jsxRuntime.jsx("div",{className:`pl-w-full pl-aspect-video ${!chunkVUHZVVMS_js.t("isTouchScreen")&&!chunkVUHZVVMS_js.t("isFullScreen")&&"!pl-rounded-[12px]"}`,children:jsxRuntime.jsx(chunkVF6ZSAIO_js.a,{})}),a=l;module.exports=a;//# sourceMappingURL=staticPlayer-7UUHF6G2.js.map
|
|
2
|
-
//# sourceMappingURL=staticPlayer-7UUHF6G2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/components/videoPlayer/staticPlayer/staticPlayer.tsx"],"names":["init_cjs_shims","StaticPlayer","jsx","conditions","videoArea_default","staticPlayer_default"],"mappings":"uYAAAA,kBAAAA,EAAAA,CAMA,IAAMC,CAAAA,CAAe,IAEjBC,cAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CAAW,CAAA,0BAAA,EACT,CAACC,kBAAAA,CAAAA,eAAsC,GACvC,CAACA,kBAAAA,CAAAA,cAAqC,CAAA,EACtC,oBACF,CAAA,CAAA,CAEA,QAAA,CAAAD,eAACE,kBAAAA,CAAA,EAAU,CAAA,CACb,CAAA,CAIGC,CAAAA,CAAQJ","file":"staticPlayer-7UUHF6G2.js","sourcesContent":["\"use client\";\n\nimport { conditions } from \"../../../helpers/conditions/conditions\";\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\nimport VideoArea from \"../../custom-components/videoArea/videoArea\";\n\nconst StaticPlayer = () => {\n return (\n <div\n className={`pl-w-full pl-aspect-video ${\n !conditions(ConditionName.isTouchScreen) &&\n !conditions(ConditionName.isFullScreen) &&\n \"!pl-rounded-[12px]\"\n }`}\n >\n <VideoArea />\n </div>\n );\n};\n\nexport default StaticPlayer;\n"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {a,c,b as b$1,d}from'./chunk-6LGS5W4B.mjs';import {y,B,v,a as a$1,x,w,A as A$1,z as z$1}from'./chunk-QFADUEGX.mjs';import'./chunk-HOAJ3EFI.mjs';import {qa,t,b,xa,c as c$1}from'./chunk-NLCBOGTI.mjs';import {e,z,A}from'./chunk-4QMWBTB5.mjs';import {useRef,useEffect}from'react';import {shallowEqual}from'react-redux';import I from'next/image';import {jsxs,jsx}from'react/jsx-runtime';e();var $=()=>{let c$2=z(),{params:t$1}=A(({videoData:{params:e}})=>({params:e}),shallowEqual);A(({controller:{firstPlay:e}})=>({firstPlay:e}),shallowEqual);let m=useRef(0),u=useRef(0),p=useRef(null),F=useRef(null),r=useRef(null);return useEffect(()=>{let e=r.current;if(!e)return;let n=()=>A$1(F,e),a=()=>z$1();return e.addEventListener("loadeddata",n),e.addEventListener("canplay",a),e.readyState>=2&&n(),e.readyState>=3&&a(),()=>{e.removeEventListener("loadeddata",n),e.removeEventListener("canplay",a);}},[]),useEffect(()=>{qa(m),u.current=Date.now();},[]),useEffect(()=>{let e=()=>{let n=r.current?.getBoundingClientRect();n&&c$2(c$1(n));};return t("isFirstPlay")&&e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[t$1.id]),a(),useEffect(()=>{let e=r.current;if(!t$1.vhl_mainVideoSrc||!e)return;c$2(b({...t$1,id:t$1.vhl_mainVideoSrc}));let n=e.currentTime,a=()=>{e.currentTime=n,e.play().catch(()=>{e.muted=true,e.play();}),e.removeEventListener("canplay",a);};return e.addEventListener("canplay",a),e.src=t$1.vhl_mainVideoSrc+`?date=${Date.now()}`,e.load(),xa(e),()=>{e.removeEventListener("canplay",a);}},[t$1.vhl_mainVideoSrc]),c(),b$1(),d(),jsxs("div",{style:{position:"relative",width:"100%",height:"100%"},children:[t$1.banner&&jsx(I,{fill:true,src:t$1.banner,alt:t$1.bannerAlt??"\u0628\u0646\u0631 \u0648\u06CC\u062F\u06CC\u0648 \u067E\u0644\u06CC\u0631",style:{objectFit:"cover",pointerEvents:"none"}}),jsx("video",{playsInline:true,ref:r,id:"player-tag",preload:"metadata",crossOrigin:"anonymous",poster:t$1.banner??void 0,style:{width:"100%",height:"100%"},autoPlay:!!t("hasAutoPlay")||!!t$1.advertisement,className:`pl-w-full pl-h-full pl-items-center pl-flex-1 ${!t("isTouchScreen")&&!t("isFullScreen")&&"!pl-rounded-[12px]"}`,onError:a$1,onPause:v,onEnded:B,onTimeUpdate:y,onPlay:e=>w(e,p),onPlaying:e=>x(m,u,p,e.currentTarget),children:jsx("source",{src:t$1.id+`?date=${Date.now()}`})})]})},Z=$;export{Z as default};//# sourceMappingURL=staticVideoTag-JOPHGL3R.mjs.map
|
|
2
|
-
//# sourceMappingURL=staticVideoTag-JOPHGL3R.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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","initialWaitingRef","timerRef","intervalRef","videoRef","useEffect","video","onLoadedData","handleStaticVideoLoadedData","onCanPlay","handleStaticVideoCanPlay","handlePageLoadTime","handleResize","element","setVideoElementSizeInfo","conditions","useJumpToCurrentTime_default","setPlayerParams","currentTime","handleCanPlay","setupAutoplayBehavior","useAppendSubtitle_default","useHideSubtitle_default","useActiveSubtitleAutomatic_default","jsxs","jsx","Image","handleVideoError","handleStaticVideoPause","handleStaticVideoEnded","handleStaticVideoTimeUpdate","handleStaticVideoPlay","handleStaticVideoPlaying","staticVideoTag_default"],"mappings":"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","file":"staticVideoTag-JOPHGL3R.mjs","sourcesContent":["\"use client\";\r\n\r\nimport { useEffect, useRef } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { handlePageLoadTime, setupAutoplayBehavior } from \"../../../helpers/helpers\";\r\nimport { mainPlayerVideoTag } from \"../../../helpers/constants\";\r\nimport { setPlayerParams, setVideoElementSizeInfo } from \"../../../helpers/redux/slices/videoDataSlice\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport {\r\n handleStaticVideoCanPlay,\r\n handleStaticVideoEnded,\r\n handleStaticVideoLoadedData,\r\n handleStaticVideoPause,\r\n handleStaticVideoPlay,\r\n handleStaticVideoPlaying,\r\n handleStaticVideoTimeUpdate,\r\n handleVideoError,\r\n} from \"../../../helpers/redux/actions/playerCore.actions\";\r\nimport useJumpToCurrentTime from \"../../../helpers/hooks/useJumpToCurrentTime\";\r\nimport useHideSubtitle from \"../../../helpers/hooks/useHideSubtitle\";\r\nimport Image from \"next/image\";\r\nimport useAppendSubtitle from \"../../../helpers/hooks/useAppendSubtitle\";\r\nimport useActiveSubtitleAutomatic from \"../../../helpers/hooks/useActiveSubtitleAutomatic\";\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\r\n const loadingDurationRef = useRef<any>(0);\r\n const initialWaitingRef = useRef<any>(0);\r\n const timerRef = useRef<any>(null);\r\n const intervalRef = useRef<any>(null);\r\n const videoRef = useRef<HTMLVideoElement | null>(null);\r\n\r\n useEffect(() => {\r\n const video = videoRef.current;\r\n if (!video) return;\r\n\r\n const onLoadedData = () => handleStaticVideoLoadedData(intervalRef, video);\r\n const onCanPlay = () => handleStaticVideoCanPlay();\r\n\r\n video.addEventListener(\"loadeddata\", onLoadedData);\r\n video.addEventListener(\"canplay\", onCanPlay);\r\n\r\n if (video.readyState >= 2) onLoadedData();\r\n if (video.readyState >= 3) onCanPlay();\r\n\r\n return () => {\r\n video.removeEventListener(\"loadeddata\", onLoadedData);\r\n video.removeEventListener(\"canplay\", onCanPlay);\r\n };\r\n }, []);\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n useEffect(() => {\r\n handlePageLoadTime(loadingDurationRef);\r\n initialWaitingRef.current = Date.now();\r\n }, []);\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n useEffect(() => {\r\n const handleResize = () => {\r\n const element: any = videoRef.current?.getBoundingClientRect();\r\n if (element) dispatch(setVideoElementSizeInfo(element));\r\n };\r\n\r\n if (conditions(ConditionName.isFirstPlay)) handleResize();\r\n window.addEventListener(\"resize\", handleResize);\r\n return () => window.removeEventListener(\"resize\", handleResize);\r\n }, [params.id]);\r\n\r\n useJumpToCurrentTime();\r\n\r\n useEffect(() => {\r\n const video = videoRef.current;\r\n\r\n if (!params.vhl_mainVideoSrc || !video) return;\r\n\r\n dispatch(setPlayerParams({ ...params, id: params.vhl_mainVideoSrc }));\r\n const currentTime = video.currentTime;\r\n\r\n const handleCanPlay = () => {\r\n video.currentTime = currentTime;\r\n video.play().catch(() => {\r\n video.muted = true;\r\n video.play();\r\n });\r\n video.removeEventListener(\"canplay\", handleCanPlay);\r\n };\r\n\r\n video.addEventListener(\"canplay\", handleCanPlay);\r\n\r\n video.src = params.vhl_mainVideoSrc + `?date=${Date.now()}`;\r\n video.load();\r\n\r\n setupAutoplayBehavior(video);\r\n\r\n return () => {\r\n video.removeEventListener(\"canplay\", handleCanPlay);\r\n };\r\n }, [params.vhl_mainVideoSrc]);\r\n\r\n useAppendSubtitle();\r\n useHideSubtitle();\r\n useActiveSubtitleAutomatic();\r\n\r\n return (\r\n <div style={{ position: \"relative\", width: \"100%\", height: \"100%\" }}>\r\n {params.banner && (\r\n <Image fill src={params.banner} alt={params.bannerAlt ?? \"بنر ویدیو پلیر\"} style={{ objectFit: \"cover\", pointerEvents: \"none\" }} />\r\n )}\r\n\r\n <video\r\n playsInline\r\n ref={videoRef}\r\n id=\"player-tag\"\r\n preload=\"metadata\"\r\n crossOrigin=\"anonymous\"\r\n poster={params.banner ?? undefined}\r\n style={{ width: \"100%\", height: \"100%\" }}\r\n autoPlay={!!conditions(ConditionName.hasAutoPlay) || !!params.advertisement}\r\n className={`pl-w-full pl-h-full pl-items-center pl-flex-1 ${\r\n !conditions(ConditionName.isTouchScreen) && !conditions(ConditionName.isFullScreen) && \"!pl-rounded-[12px]\"\r\n }`}\r\n onError={handleVideoError}\r\n onPause={handleStaticVideoPause}\r\n onEnded={handleStaticVideoEnded}\r\n onTimeUpdate={handleStaticVideoTimeUpdate}\r\n onPlay={(e) => handleStaticVideoPlay(e, timerRef)}\r\n onPlaying={(e) => handleStaticVideoPlaying(loadingDurationRef, initialWaitingRef, timerRef, e.currentTarget)}\r\n >\r\n <source src={params.id + `?date=${Date.now()}`} />\r\n </video>\r\n </div>\r\n );\r\n};\r\n\r\nexport default StaticVideoTag;\r\n"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var chunkKSZ35TPK_js=require('./chunk-KSZ35TPK.js'),chunkHZASW2B2_js=require('./chunk-HZASW2B2.js');require('./chunk-5UGSCO4K.js');var chunkVUHZVVMS_js=require('./chunk-VUHZVVMS.js'),chunkAN6JAJSI_js=require('./chunk-AN6JAJSI.js'),react=require('react'),reactRedux=require('react-redux'),I=require('next/image'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var I__default=/*#__PURE__*/_interopDefault(I);chunkAN6JAJSI_js.e();var $=()=>{let c=chunkAN6JAJSI_js.z(),{params:t}=chunkAN6JAJSI_js.A(({videoData:{params:e}})=>({params:e}),reactRedux.shallowEqual);chunkAN6JAJSI_js.A(({controller:{firstPlay:e}})=>({firstPlay:e}),reactRedux.shallowEqual);let m=react.useRef(0),u=react.useRef(0),p=react.useRef(null),F=react.useRef(null),r=react.useRef(null);return react.useEffect(()=>{let e=r.current;if(!e)return;let n=()=>chunkHZASW2B2_js.A(F,e),a=()=>chunkHZASW2B2_js.z();return e.addEventListener("loadeddata",n),e.addEventListener("canplay",a),e.readyState>=2&&n(),e.readyState>=3&&a(),()=>{e.removeEventListener("loadeddata",n),e.removeEventListener("canplay",a);}},[]),react.useEffect(()=>{chunkVUHZVVMS_js.qa(m),u.current=Date.now();},[]),react.useEffect(()=>{let e=()=>{let n=r.current?.getBoundingClientRect();n&&c(chunkVUHZVVMS_js.c(n));};return chunkVUHZVVMS_js.t("isFirstPlay")&&e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[t.id]),chunkKSZ35TPK_js.a(),react.useEffect(()=>{let e=r.current;if(!t.vhl_mainVideoSrc||!e)return;c(chunkVUHZVVMS_js.b({...t,id:t.vhl_mainVideoSrc}));let n=e.currentTime,a=()=>{e.currentTime=n,e.play().catch(()=>{e.muted=true,e.play();}),e.removeEventListener("canplay",a);};return e.addEventListener("canplay",a),e.src=t.vhl_mainVideoSrc+`?date=${Date.now()}`,e.load(),chunkVUHZVVMS_js.xa(e),()=>{e.removeEventListener("canplay",a);}},[t.vhl_mainVideoSrc]),chunkKSZ35TPK_js.c(),chunkKSZ35TPK_js.b(),chunkKSZ35TPK_js.d(),jsxRuntime.jsxs("div",{style:{position:"relative",width:"100%",height:"100%"},children:[t.banner&&jsxRuntime.jsx(I__default.default,{fill:true,src:t.banner,alt:t.bannerAlt??"\u0628\u0646\u0631 \u0648\u06CC\u062F\u06CC\u0648 \u067E\u0644\u06CC\u0631",style:{objectFit:"cover",pointerEvents:"none"}}),jsxRuntime.jsx("video",{playsInline:true,ref:r,id:"player-tag",preload:"metadata",crossOrigin:"anonymous",poster:t.banner??void 0,style:{width:"100%",height:"100%"},autoPlay:!!chunkVUHZVVMS_js.t("hasAutoPlay")||!!t.advertisement,className:`pl-w-full pl-h-full pl-items-center pl-flex-1 ${!chunkVUHZVVMS_js.t("isTouchScreen")&&!chunkVUHZVVMS_js.t("isFullScreen")&&"!pl-rounded-[12px]"}`,onError:chunkHZASW2B2_js.a,onPause:chunkHZASW2B2_js.v,onEnded:chunkHZASW2B2_js.B,onTimeUpdate:chunkHZASW2B2_js.y,onPlay:e=>chunkHZASW2B2_js.w(e,p),onPlaying:e=>chunkHZASW2B2_js.x(m,u,p,e.currentTarget),children:jsxRuntime.jsx("source",{src:t.id+`?date=${Date.now()}`})})]})},Y=$;module.exports=Y;//# sourceMappingURL=staticVideoTag-OZZU5MWF.js.map
|
|
2
|
-
//# sourceMappingURL=staticVideoTag-OZZU5MWF.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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","initialWaitingRef","timerRef","intervalRef","videoRef","useEffect","video","onLoadedData","handleStaticVideoLoadedData","onCanPlay","handleStaticVideoCanPlay","handlePageLoadTime","handleResize","element","setVideoElementSizeInfo","conditions","useJumpToCurrentTime_default","setPlayerParams","currentTime","handleCanPlay","setupAutoplayBehavior","useAppendSubtitle_default","useHideSubtitle_default","useActiveSubtitleAutomatic_default","jsxs","jsx","Image","handleVideoError","handleStaticVideoPause","handleStaticVideoEnded","handleStaticVideoTimeUpdate","handleStaticVideoPlay","handleStaticVideoPlaying","staticVideoTag_default"],"mappings":"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","file":"staticVideoTag-OZZU5MWF.js","sourcesContent":["\"use client\";\r\n\r\nimport { useEffect, useRef } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { handlePageLoadTime, setupAutoplayBehavior } from \"../../../helpers/helpers\";\r\nimport { mainPlayerVideoTag } from \"../../../helpers/constants\";\r\nimport { setPlayerParams, setVideoElementSizeInfo } from \"../../../helpers/redux/slices/videoDataSlice\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport {\r\n handleStaticVideoCanPlay,\r\n handleStaticVideoEnded,\r\n handleStaticVideoLoadedData,\r\n handleStaticVideoPause,\r\n handleStaticVideoPlay,\r\n handleStaticVideoPlaying,\r\n handleStaticVideoTimeUpdate,\r\n handleVideoError,\r\n} from \"../../../helpers/redux/actions/playerCore.actions\";\r\nimport useJumpToCurrentTime from \"../../../helpers/hooks/useJumpToCurrentTime\";\r\nimport useHideSubtitle from \"../../../helpers/hooks/useHideSubtitle\";\r\nimport Image from \"next/image\";\r\nimport useAppendSubtitle from \"../../../helpers/hooks/useAppendSubtitle\";\r\nimport useActiveSubtitleAutomatic from \"../../../helpers/hooks/useActiveSubtitleAutomatic\";\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\r\n const loadingDurationRef = useRef<any>(0);\r\n const initialWaitingRef = useRef<any>(0);\r\n const timerRef = useRef<any>(null);\r\n const intervalRef = useRef<any>(null);\r\n const videoRef = useRef<HTMLVideoElement | null>(null);\r\n\r\n useEffect(() => {\r\n const video = videoRef.current;\r\n if (!video) return;\r\n\r\n const onLoadedData = () => handleStaticVideoLoadedData(intervalRef, video);\r\n const onCanPlay = () => handleStaticVideoCanPlay();\r\n\r\n video.addEventListener(\"loadeddata\", onLoadedData);\r\n video.addEventListener(\"canplay\", onCanPlay);\r\n\r\n if (video.readyState >= 2) onLoadedData();\r\n if (video.readyState >= 3) onCanPlay();\r\n\r\n return () => {\r\n video.removeEventListener(\"loadeddata\", onLoadedData);\r\n video.removeEventListener(\"canplay\", onCanPlay);\r\n };\r\n }, []);\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n useEffect(() => {\r\n handlePageLoadTime(loadingDurationRef);\r\n initialWaitingRef.current = Date.now();\r\n }, []);\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n useEffect(() => {\r\n const handleResize = () => {\r\n const element: any = videoRef.current?.getBoundingClientRect();\r\n if (element) dispatch(setVideoElementSizeInfo(element));\r\n };\r\n\r\n if (conditions(ConditionName.isFirstPlay)) handleResize();\r\n window.addEventListener(\"resize\", handleResize);\r\n return () => window.removeEventListener(\"resize\", handleResize);\r\n }, [params.id]);\r\n\r\n useJumpToCurrentTime();\r\n\r\n useEffect(() => {\r\n const video = videoRef.current;\r\n\r\n if (!params.vhl_mainVideoSrc || !video) return;\r\n\r\n dispatch(setPlayerParams({ ...params, id: params.vhl_mainVideoSrc }));\r\n const currentTime = video.currentTime;\r\n\r\n const handleCanPlay = () => {\r\n video.currentTime = currentTime;\r\n video.play().catch(() => {\r\n video.muted = true;\r\n video.play();\r\n });\r\n video.removeEventListener(\"canplay\", handleCanPlay);\r\n };\r\n\r\n video.addEventListener(\"canplay\", handleCanPlay);\r\n\r\n video.src = params.vhl_mainVideoSrc + `?date=${Date.now()}`;\r\n video.load();\r\n\r\n setupAutoplayBehavior(video);\r\n\r\n return () => {\r\n video.removeEventListener(\"canplay\", handleCanPlay);\r\n };\r\n }, [params.vhl_mainVideoSrc]);\r\n\r\n useAppendSubtitle();\r\n useHideSubtitle();\r\n useActiveSubtitleAutomatic();\r\n\r\n return (\r\n <div style={{ position: \"relative\", width: \"100%\", height: \"100%\" }}>\r\n {params.banner && (\r\n <Image fill src={params.banner} alt={params.bannerAlt ?? \"بنر ویدیو پلیر\"} style={{ objectFit: \"cover\", pointerEvents: \"none\" }} />\r\n )}\r\n\r\n <video\r\n playsInline\r\n ref={videoRef}\r\n id=\"player-tag\"\r\n preload=\"metadata\"\r\n crossOrigin=\"anonymous\"\r\n poster={params.banner ?? undefined}\r\n style={{ width: \"100%\", height: \"100%\" }}\r\n autoPlay={!!conditions(ConditionName.hasAutoPlay) || !!params.advertisement}\r\n className={`pl-w-full pl-h-full pl-items-center pl-flex-1 ${\r\n !conditions(ConditionName.isTouchScreen) && !conditions(ConditionName.isFullScreen) && \"!pl-rounded-[12px]\"\r\n }`}\r\n onError={handleVideoError}\r\n onPause={handleStaticVideoPause}\r\n onEnded={handleStaticVideoEnded}\r\n onTimeUpdate={handleStaticVideoTimeUpdate}\r\n onPlay={(e) => handleStaticVideoPlay(e, timerRef)}\r\n onPlaying={(e) => handleStaticVideoPlaying(loadingDurationRef, initialWaitingRef, timerRef, e.currentTarget)}\r\n >\r\n <source src={params.id + `?date=${Date.now()}`} />\r\n </video>\r\n </div>\r\n );\r\n};\r\n\r\nexport default StaticVideoTag;\r\n"]}
|
package/videoArea-PC67BM4S.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var chunkVF6ZSAIO_js=require('./chunk-VF6ZSAIO.js');require('./chunk-K4YPVDEE.js'),require('./chunk-X7QXUGD2.js'),require('./chunk-CG2KA4BX.js'),require('./chunk-AK5TFAW3.js'),require('./chunk-COYFW7R4.js'),require('./chunk-5UGSCO4K.js'),require('./chunk-VUHZVVMS.js'),require('./chunk-AN6JAJSI.js');module.exports=chunkVF6ZSAIO_js.a;//# sourceMappingURL=videoArea-PC67BM4S.js.map
|
|
2
|
-
//# sourceMappingURL=videoArea-PC67BM4S.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"videoArea-PC67BM4S.js"}
|
package/videoArea-W2FPLLPE.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export{a as default}from'./chunk-QXX6LI3R.mjs';import'./chunk-P4O3IKAQ.mjs';import'./chunk-B4IVZEZN.mjs';import'./chunk-QXTVEBKD.mjs';import'./chunk-2DV7FRU5.mjs';import'./chunk-XKRBXZUB.mjs';import'./chunk-HOAJ3EFI.mjs';import'./chunk-NLCBOGTI.mjs';import'./chunk-4QMWBTB5.mjs';//# sourceMappingURL=videoArea-W2FPLLPE.mjs.map
|
|
2
|
-
//# sourceMappingURL=videoArea-W2FPLLPE.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"videoArea-W2FPLLPE.mjs"}
|
package/vodPlayer-7T7LLFRE.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {b}from'./chunk-UL5LQB3G.mjs';import {a}from'./chunk-HOAJ3EFI.mjs';import {t}from'./chunk-NLCBOGTI.mjs';import {e,A as A$1}from'./chunk-4QMWBTB5.mjs';import {shallowEqual}from'react-redux';import {useEffect}from'react';import n from'next/dynamic';import {jsx,Fragment}from'react/jsx-runtime';e();e();e();var A=()=>{let{params:m}=A$1(({videoData:{params:e}})=>({params:e}),shallowEqual);A$1(({controller:{isEnded:e}})=>({isEnded:e}),shallowEqual),useEffect(()=>{t("getDetails")&&a();},[m.id,m.type]);},f=A;var y=()=>{f();},c=y;var x=n(()=>import('./videoArea-W2FPLLPE.mjs')),E=n(()=>import('./notActive-DSDPVSW4.mjs')),S=()=>{if(A$1(({videoData:{params:m,details:e,isFetchDetails:u,isValidAddress:v}})=>({params:m,details:e,isFetchDetails:u,isValidAddress:v}),shallowEqual),c(),useEffect(()=>{b();},[]),t("isFetchDetails"))return jsx(Fragment,{children:t("isValidAddress")?jsx("div",{className:`pl-max-h-[100dvh] pl-bg-dark-1 ${!t("isTouchScreen")&&!t("isFullScreen")&&"!pl-rounded-[12px]"}`,children:jsx(x,{})}):jsx("div",{className:"pl-w-full pl-aspect-video",children:jsx(E,{})})})},Q=S;export{Q as default};//# sourceMappingURL=vodPlayer-7T7LLFRE.mjs.map
|
|
2
|
-
//# sourceMappingURL=vodPlayer-7T7LLFRE.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/components/videoPlayer/vodPlayer/vodPlayer.tsx","../src/videoPlayerLibrary/helpers/hooks/useGetData/useGetData.tsx","../src/videoPlayerLibrary/helpers/hooks/useGetData/useGetDetails.tsx"],"names":["init_esm_shims","useGetDetails","params","useAppSelector","shallowEqual","isEnded","useEffect","conditions","getVodDetails","useGetDetails_default","useGetData","useGetData_default","VideoArea","dynamic","NotActive","VodPlayer","details","isFetchDetails","isValidAddress","handleApplyContinuousPlayback","jsx","Fragment","vodPlayer_default"],"mappings":"2SAAAA,CAAAA,EAAAA,CCAAA,ICAAA,CAAAA,EAAAA,CAOA,IAAMC,CAAAA,CAAgB,IAAM,CAC1B,GAAM,CAAE,MAAA,CAAAC,CAAO,EAAIC,GAAAA,CAAe,CAAC,CAAE,SAAA,CAAW,CAAE,OAAAD,CAAO,CAAE,KAAO,CAAE,MAAA,CAAAA,CAAO,CAAA,CAAA,CAAIE,YAAY,EAC3FD,GAAAA,CAAe,CAAC,CAAE,UAAA,CAAY,CAAE,QAAAE,CAAQ,CAAE,KAAO,CAAE,OAAA,CAAAA,CAAQ,CAAA,CAAA,CAAID,YAAY,EAE3EE,SAAAA,CAAU,IAAM,CACVC,CAAAA,CAAAA,YAAmC,CAAA,EAAGC,IAC5C,CAAA,CAAG,CAACN,CAAAA,CAAO,EAAA,CAAIA,EAAO,IAAI,CAAC,EAC7B,CAAA,CAEOO,CAAAA,CAAQR,EDbf,IAAMS,CAAAA,CAAa,IAAM,CACrBD,CAAAA,GAEJ,CAAA,CAEOE,CAAAA,CAAQD,EDGf,IAAME,CAAAA,CAAYC,EAAQ,IAAM,OAAO,0BAA6C,CAAC,CAAA,CAC/EC,EAAYD,CAAAA,CAAQ,IAAM,OAAO,0BAA6C,CAAC,EAE/EE,CAAAA,CAAY,IAAM,CAYtB,GAXAZ,GAAAA,CACE,CAAC,CAAE,SAAA,CAAW,CAAE,MAAA,CAAAD,CAAAA,CAAQ,QAAAc,CAAAA,CAAS,cAAA,CAAAC,EAAgB,cAAA,CAAAC,CAAe,CAAE,CAAA,IAAO,CAAE,OAAAhB,CAAAA,CAAQ,OAAA,CAAAc,EAAS,cAAA,CAAAC,CAAAA,CAAgB,eAAAC,CAAe,CAAA,CAAA,CAC3Hd,YACF,CAAA,CAEAO,CAAAA,GAEAL,SAAAA,CAAU,IAAM,CACda,CAAAA,GACF,EAAG,EAAE,EAEDZ,CAAAA,CAAAA,gBAAuC,CAAA,CACzC,OACEa,GAAAA,CAAAC,QAAAA,CAAA,CACG,QAAA,CAAAd,CAAAA,CAAAA,gBAAuC,EACtCa,GAAAA,CAAC,KAAA,CAAA,CACC,UAAW,CAAA,+BAAA,EACT,CAACb,iBAAsC,CAAA,EAAK,CAACA,gBAAqC,CAAA,EAAK,oBACzF,GAEA,QAAA,CAAAa,GAAAA,CAACR,EAAA,EAAU,CAAA,CACb,EAEAQ,GAAAA,CAAC,KAAA,CAAA,CAAI,UAAW,2BAAA,CACd,QAAA,CAAAA,IAACN,CAAAA,CAAA,EAAU,EACb,CAAA,CAEJ,CAEN,EAEOQ,CAAAA,CAAQP","file":"vodPlayer-7T7LLFRE.mjs","sourcesContent":["\"use client\";\n\nimport { shallowEqual } from \"react-redux\";\nimport { useAppSelector } from \"../../../helpers/redux/hooks\";\nimport useGetData from \"../../../helpers/hooks/useGetData/useGetData\";\nimport { conditions } from \"../../../helpers/conditions/conditions\";\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\nimport { handleApplyContinuousPlayback } from \"../../../helpers/redux/actions/user.actions\";\nimport dynamic from \"next/dynamic\";\nimport { useEffect } from \"react\";\n\nconst VideoArea = dynamic(() => import(\"../../custom-components/videoArea/videoArea\"));\nconst NotActive = dynamic(() => import(\"../../custom-components/notActive/notActive\"));\n\nconst VodPlayer = () => {\n useAppSelector(\n ({ videoData: { params, details, isFetchDetails, isValidAddress } }) => ({ params, details, isFetchDetails, isValidAddress }),\n shallowEqual,\n );\n\n useGetData();\n\n useEffect(() => {\n handleApplyContinuousPlayback();\n }, []);\n\n if (conditions(ConditionName.isFetchDetails))\n return (\n <>\n {conditions(ConditionName.isValidAddress) ? (\n <div\n className={`pl-max-h-[100dvh] pl-bg-dark-1 ${\n !conditions(ConditionName.isTouchScreen) && !conditions(ConditionName.isFullScreen) && \"!pl-rounded-[12px]\"\n }`}\n >\n <VideoArea />\n </div>\n ) : (\n <div className={`pl-w-full pl-aspect-video`}>\n <NotActive />\n </div>\n )}\n </>\n );\n};\n\nexport default VodPlayer;\n","import useGetDetails from \"./useGetDetails\";\nimport useGetMarkers from \"./useGetMarkers\";\n\nconst useGetData = () => {\n useGetDetails();\n // useGetMarkers();\n};\n\nexport default useGetData;\n","import { useEffect } from \"react\";\nimport { conditions } from \"../../conditions/conditions\";\nimport { shallowEqual } from \"react-redux\";\nimport { useAppSelector } from \"../../redux/hooks\";\nimport { ConditionName } from \"../../interfaces/enums\";\nimport { getVodDetails } from \"../../redux/actions/videoData.actions\";\n\nconst useGetDetails = () => {\n const { params } = useAppSelector(({ videoData: { params } }) => ({ params }), shallowEqual);\n useAppSelector(({ controller: { isEnded } }) => ({ isEnded }), shallowEqual);\n\n useEffect(() => {\n if (conditions(ConditionName.getDetails)) getVodDetails();\n }, [params.id, params.type]);\n};\n\nexport default useGetDetails;\n"]}
|
package/vodPlayer-BXPUGCRK.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var chunk3TPEXSZV_js=require('./chunk-3TPEXSZV.js'),chunk5UGSCO4K_js=require('./chunk-5UGSCO4K.js'),chunkVUHZVVMS_js=require('./chunk-VUHZVVMS.js'),chunkAN6JAJSI_js=require('./chunk-AN6JAJSI.js'),reactRedux=require('react-redux'),react=require('react'),c=require('next/dynamic'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var c__default=/*#__PURE__*/_interopDefault(c);chunkAN6JAJSI_js.e();chunkAN6JAJSI_js.e();chunkAN6JAJSI_js.e();var h=()=>{let{params:m}=chunkAN6JAJSI_js.A(({videoData:{params:e}})=>({params:e}),reactRedux.shallowEqual);chunkAN6JAJSI_js.A(({controller:{isEnded:e}})=>({isEnded:e}),reactRedux.shallowEqual),react.useEffect(()=>{chunkVUHZVVMS_js.t("getDetails")&&chunk5UGSCO4K_js.a();},[m.id,m.type]);},d=h;var A=()=>{d();},f=A;var N=c__default.default(()=>import('./videoArea-PC67BM4S.js')),x=c__default.default(()=>import('./notActive-DRH5BEL5.js')),E=()=>{if(chunkAN6JAJSI_js.A(({videoData:{params:m,details:e,isFetchDetails:n,isValidAddress:u}})=>({params:m,details:e,isFetchDetails:n,isValidAddress:u}),reactRedux.shallowEqual),f(),react.useEffect(()=>{chunk3TPEXSZV_js.b();},[]),chunkVUHZVVMS_js.t("isFetchDetails"))return jsxRuntime.jsx(jsxRuntime.Fragment,{children:chunkVUHZVVMS_js.t("isValidAddress")?jsxRuntime.jsx("div",{className:`pl-max-h-[100dvh] pl-bg-dark-1 ${!chunkVUHZVVMS_js.t("isTouchScreen")&&!chunkVUHZVVMS_js.t("isFullScreen")&&"!pl-rounded-[12px]"}`,children:jsxRuntime.jsx(N,{})}):jsxRuntime.jsx("div",{className:"pl-w-full pl-aspect-video",children:jsxRuntime.jsx(x,{})})})},O=E;module.exports=O;//# sourceMappingURL=vodPlayer-BXPUGCRK.js.map
|
|
2
|
-
//# sourceMappingURL=vodPlayer-BXPUGCRK.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/components/videoPlayer/vodPlayer/vodPlayer.tsx","../src/videoPlayerLibrary/helpers/hooks/useGetData/useGetData.tsx","../src/videoPlayerLibrary/helpers/hooks/useGetData/useGetDetails.tsx"],"names":["init_cjs_shims","useGetDetails","params","useAppSelector","shallowEqual","isEnded","useEffect","conditions","getVodDetails","useGetDetails_default","useGetData","useGetData_default","VideoArea","dynamic","NotActive","VodPlayer","details","isFetchDetails","isValidAddress","handleApplyContinuousPlayback","jsx","Fragment","vodPlayer_default"],"mappings":"4bAAAA,kBAAAA,EAAAA,CCAAA,qBCAAA,kBAAAA,EAAAA,CAOA,IAAMC,CAAAA,CAAgB,IAAM,CAC1B,GAAM,CAAE,MAAA,CAAAC,CAAO,EAAIC,kBAAAA,CAAe,CAAC,CAAE,SAAA,CAAW,CAAE,OAAAD,CAAO,CAAE,KAAO,CAAE,MAAA,CAAAA,CAAO,CAAA,CAAA,CAAIE,uBAAY,EAC3FD,kBAAAA,CAAe,CAAC,CAAE,UAAA,CAAY,CAAE,QAAAE,CAAQ,CAAE,KAAO,CAAE,OAAA,CAAAA,CAAQ,CAAA,CAAA,CAAID,uBAAY,EAE3EE,eAAAA,CAAU,IAAM,CACVC,kBAAAA,CAAAA,YAAmC,CAAA,EAAGC,qBAC5C,CAAA,CAAG,CAACN,CAAAA,CAAO,EAAA,CAAIA,EAAO,IAAI,CAAC,EAC7B,CAAA,CAEOO,CAAAA,CAAQR,EDbf,IAAMS,CAAAA,CAAa,IAAM,CACrBD,CAAAA,GAEJ,CAAA,CAEOE,CAAAA,CAAQD,EDGf,IAAME,CAAAA,CAAYC,mBAAQ,IAAM,OAAO,yBAA6C,CAAC,CAAA,CAC/EC,EAAYD,kBAAAA,CAAQ,IAAM,OAAO,yBAA6C,CAAC,EAE/EE,CAAAA,CAAY,IAAM,CAYtB,GAXAZ,kBAAAA,CACE,CAAC,CAAE,SAAA,CAAW,CAAE,MAAA,CAAAD,CAAAA,CAAQ,QAAAc,CAAAA,CAAS,cAAA,CAAAC,EAAgB,cAAA,CAAAC,CAAe,CAAE,CAAA,IAAO,CAAE,OAAAhB,CAAAA,CAAQ,OAAA,CAAAc,EAAS,cAAA,CAAAC,CAAAA,CAAgB,eAAAC,CAAe,CAAA,CAAA,CAC3Hd,uBACF,CAAA,CAEAO,CAAAA,GAEAL,eAAAA,CAAU,IAAM,CACda,kBAAAA,GACF,EAAG,EAAE,EAEDZ,kBAAAA,CAAAA,gBAAuC,CAAA,CACzC,OACEa,cAAAA,CAAAC,mBAAAA,CAAA,CACG,QAAA,CAAAd,kBAAAA,CAAAA,gBAAuC,EACtCa,cAAAA,CAAC,KAAA,CAAA,CACC,UAAW,CAAA,+BAAA,EACT,CAACb,kCAAsC,CAAA,EAAK,CAACA,iCAAqC,CAAA,EAAK,oBACzF,GAEA,QAAA,CAAAa,cAAAA,CAACR,EAAA,EAAU,CAAA,CACb,EAEAQ,cAAAA,CAAC,KAAA,CAAA,CAAI,UAAW,2BAAA,CACd,QAAA,CAAAA,eAACN,CAAAA,CAAA,EAAU,EACb,CAAA,CAEJ,CAEN,EAEOQ,CAAAA,CAAQP","file":"vodPlayer-BXPUGCRK.js","sourcesContent":["\"use client\";\n\nimport { shallowEqual } from \"react-redux\";\nimport { useAppSelector } from \"../../../helpers/redux/hooks\";\nimport useGetData from \"../../../helpers/hooks/useGetData/useGetData\";\nimport { conditions } from \"../../../helpers/conditions/conditions\";\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\nimport { handleApplyContinuousPlayback } from \"../../../helpers/redux/actions/user.actions\";\nimport dynamic from \"next/dynamic\";\nimport { useEffect } from \"react\";\n\nconst VideoArea = dynamic(() => import(\"../../custom-components/videoArea/videoArea\"));\nconst NotActive = dynamic(() => import(\"../../custom-components/notActive/notActive\"));\n\nconst VodPlayer = () => {\n useAppSelector(\n ({ videoData: { params, details, isFetchDetails, isValidAddress } }) => ({ params, details, isFetchDetails, isValidAddress }),\n shallowEqual,\n );\n\n useGetData();\n\n useEffect(() => {\n handleApplyContinuousPlayback();\n }, []);\n\n if (conditions(ConditionName.isFetchDetails))\n return (\n <>\n {conditions(ConditionName.isValidAddress) ? (\n <div\n className={`pl-max-h-[100dvh] pl-bg-dark-1 ${\n !conditions(ConditionName.isTouchScreen) && !conditions(ConditionName.isFullScreen) && \"!pl-rounded-[12px]\"\n }`}\n >\n <VideoArea />\n </div>\n ) : (\n <div className={`pl-w-full pl-aspect-video`}>\n <NotActive />\n </div>\n )}\n </>\n );\n};\n\nexport default VodPlayer;\n","import useGetDetails from \"./useGetDetails\";\nimport useGetMarkers from \"./useGetMarkers\";\n\nconst useGetData = () => {\n useGetDetails();\n // useGetMarkers();\n};\n\nexport default useGetData;\n","import { useEffect } from \"react\";\nimport { conditions } from \"../../conditions/conditions\";\nimport { shallowEqual } from \"react-redux\";\nimport { useAppSelector } from \"../../redux/hooks\";\nimport { ConditionName } from \"../../interfaces/enums\";\nimport { getVodDetails } from \"../../redux/actions/videoData.actions\";\n\nconst useGetDetails = () => {\n const { params } = useAppSelector(({ videoData: { params } }) => ({ params }), shallowEqual);\n useAppSelector(({ controller: { isEnded } }) => ({ isEnded }), shallowEqual);\n\n useEffect(() => {\n if (conditions(ConditionName.getDetails)) getVodDetails();\n }, [params.id, params.type]);\n};\n\nexport default useGetDetails;\n"]}
|