cafe-video-player 2.4.13 → 2.4.14
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.js +1 -1
- package/index.js.map +1 -1
- package/index.mjs +1 -1
- package/index.mjs.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var chunk4O5NY3UP_js=require('./chunk-4O5NY3UP.js'),chunkTVDVQALL_js=require('./chunk-TVDVQALL.js'),chunkU6DIKZH7_js=require('./chunk-U6DIKZH7.js'),chunk2DZLYHGU_js=require('./chunk-2DZLYHGU.js'),chunkF2C5C3HI_js=require('./chunk-F2C5C3HI.js'),chunk5FTEBU6O_js=require('./chunk-5FTEBU6O.js'),chunkWO4IQUGO_js=require('./chunk-WO4IQUGO.js'),reactRedux=require('react-redux'),Ae=require('react'),C=require('next/dynamic'),jsxRuntime=require('react/jsx-runtime'),_e=require('next/legacy/image'),I=require('hls.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Ae__default=/*#__PURE__*/_interopDefault(Ae);var C__default=/*#__PURE__*/_interopDefault(C);var _e__default=/*#__PURE__*/_interopDefault(_e);var I__default=/*#__PURE__*/_interopDefault(I);chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var ye=e=>{let r=chunkF2C5C3HI_js.ga(),t={},o=()=>{r(chunkF2C5C3HI_js.s(t)),r(chunkF2C5C3HI_js.x(true));},s=()=>{e.uuid&&(localStorage.setItem("hamrahiUUID",e.uuid),t.uuid=e.uuid);},T=()=>{t={provider:"cafevdo",...e};},p=async()=>{t={uuid:chunkF2C5C3HI_js.Q(),provider:"cafevdo",...e,subtitles:[],id:e.id?window.atob(e.id):void 0,banner:e.banner&&e.banner!=="undefined"?e.banner:void 0};},de=async()=>{t={},Object.keys(e).includes("type")&&(String(e.type)==="vod"?T():String(e.type)==="static"&&p(),s(),o());},ce=async()=>{let fe=await chunkU6DIKZH7_js.c(e.subtitles);r(chunkF2C5C3HI_js.s({...t,subtitles:fe}));};Ae.useEffect(()=>{setTimeout(()=>{String(e.type)==="static"&&e.subtitles&&e.subtitles.length&&ce();},
|
|
1
|
+
'use strict';var chunk4O5NY3UP_js=require('./chunk-4O5NY3UP.js'),chunkTVDVQALL_js=require('./chunk-TVDVQALL.js'),chunkU6DIKZH7_js=require('./chunk-U6DIKZH7.js'),chunk2DZLYHGU_js=require('./chunk-2DZLYHGU.js'),chunkF2C5C3HI_js=require('./chunk-F2C5C3HI.js'),chunk5FTEBU6O_js=require('./chunk-5FTEBU6O.js'),chunkWO4IQUGO_js=require('./chunk-WO4IQUGO.js'),reactRedux=require('react-redux'),Ae=require('react'),C=require('next/dynamic'),jsxRuntime=require('react/jsx-runtime'),_e=require('next/legacy/image'),I=require('hls.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Ae__default=/*#__PURE__*/_interopDefault(Ae);var C__default=/*#__PURE__*/_interopDefault(C);var _e__default=/*#__PURE__*/_interopDefault(_e);var I__default=/*#__PURE__*/_interopDefault(I);chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var ye=e=>{let r=chunkF2C5C3HI_js.ga(),t={},o=()=>{r(chunkF2C5C3HI_js.s(t)),r(chunkF2C5C3HI_js.x(true));},s=()=>{e.uuid&&(localStorage.setItem("hamrahiUUID",e.uuid),t.uuid=e.uuid);},T=()=>{t={provider:"cafevdo",...e};},p=async()=>{t={uuid:chunkF2C5C3HI_js.Q(),provider:"cafevdo",...e,subtitles:[],id:e.id?window.atob(e.id):void 0,banner:e.banner&&e.banner!=="undefined"?e.banner:void 0};},de=async()=>{t={},Object.keys(e).includes("type")&&(String(e.type)==="vod"?T():String(e.type)==="static"&&p(),s(),o());},ce=async()=>{let fe=await chunkU6DIKZH7_js.c(e.subtitles);r(chunkF2C5C3HI_js.s({...t,subtitles:fe}));};Ae.useEffect(()=>{setTimeout(()=>{String(e.type)==="static"&&e.subtitles&&e.subtitles.length&&ce();},10);},[]),Ae.useEffect(()=>{de();},[e]);},Z=ye;chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var he=(e,r)=>{let t=Ae.useRef(r);Ae.useEffect(()=>{t.current=r;},[]),Ae.useEffect(()=>{let o=s=>{s.code===e&&!["INPUT","TEXTAREA"].includes(s.target.nodeName)&&!s.target.isContentEditable&&t.current(s);};return document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)},[e]);},f=he;var ge=()=>{f("Space",e=>{chunkF2C5C3HI_js.fa("isPressKeySpace")&&chunk2DZLYHGU_js.a(e);}),f("ArrowRight",e=>{chunkF2C5C3HI_js.fa("isPressKeyArrowRight")&&chunk2DZLYHGU_js.e("forward",15,e);}),f("ArrowLeft",e=>{chunkF2C5C3HI_js.fa("isPressKeyArrowLeft")&&chunk2DZLYHGU_js.e("backward",15,e);}),f("KeyI",()=>{chunkF2C5C3HI_js.fa("isPressKeyI")&&chunkF2C5C3HI_js.la().requestPictureInPicture();}),f("KeyF",()=>{chunkF2C5C3HI_js.fa("isPressKeyF")&&chunk2DZLYHGU_js.f();}),f("KeyM",()=>{if(chunkF2C5C3HI_js.fa("isPressKeyM")){let{settings:e}=chunkF2C5C3HI_js.P.getState().user;chunk2DZLYHGU_js.d(e.volume?0:50);}}),f("KeyC",()=>{chunkF2C5C3HI_js.fa("isPressKeyC")&&chunkU6DIKZH7_js.b();});},q=ge;var be=C__default.default(()=>import('./staticPlayer-4NZG4AO2.js')),Ie=C__default.default(()=>import('./vodPlayer-ZJ6N4F56.js')),Te=C__default.default(()=>import('./VideoHighLighter-CF2XOGI5.js')),Ee=e=>{let{params:r}=chunkF2C5C3HI_js.ha(({videoData:{isReady:o,params:s}})=>({isReady:o,params:s}),reactRedux.shallowEqual);if(Ae.useEffect(()=>(r.id&&e.params.id!==r.id&&chunkF2C5C3HI_js.Y(),()=>{r.id&&chunkF2C5C3HI_js.Y();}),[e.params.id]),Z(e.params),q(),chunkF2C5C3HI_js.ha(({controller:{isFullScreen:o}})=>({isFullScreen:o}),reactRedux.shallowEqual),e.params.vhl_status)return jsxRuntime.jsx(Te,{});let t=jsxRuntime.jsx(jsxRuntime.Fragment,{});return chunkF2C5C3HI_js.fa("isReady")&&(t=jsxRuntime.jsx("div",{className:`${!chunkF2C5C3HI_js.fa("isTouchScreen")&&"pl-rounded-[12px]"}`,style:{touchAction:"pan-y",userSelect:"none"},children:chunkF2C5C3HI_js.fa("isStaticFormat")?jsxRuntime.jsx(be,{}):jsxRuntime.jsx(Ie,{})})),jsxRuntime.jsxs("div",{dir:"rtl",className:`pl-relative pl-rounded-[12px] pl-w-full pl-h-full pl-aspect-video ${chunkF2C5C3HI_js.fa("isFullScreen")&&"!pl-overflow-hidden !pl-fixed !pl-top-0 !pl-right-0 !pl-w-screen !pl-h-screen !pl-rounded-none !pl-z-[1000000]"}`,style:{zIndex:1e6},id:"parent-player",children:[chunkF2C5C3HI_js.fa("isFirstPlay")&&jsxRuntime.jsx("div",{className:`pl-absolute pl-bg-black pl-w-full pl-h-full pl-aspect-video ${!chunkF2C5C3HI_js.fa("isTouchScreen")&&!chunkF2C5C3HI_js.fa("isFullScreen")&&"pl-rounded-[12px]"}`,children:jsxRuntime.jsx(chunkTVDVQALL_js.a,{})}),t]})},re=Ee;chunkWO4IQUGO_js.e();var N=class extends Ae__default.default.Component{state={hasError:false,error:null,errorInfo:null};static getDerivedStateFromError(r){return {hasError:true}}componentDidCatch(r,t){this.setState({error:r,errorInfo:t}),chunkF2C5C3HI_js.Fa({type:"OTHER_ERROR",message:r.message});}render(){return this.state.hasError?jsxRuntime.jsx(jsxRuntime.Fragment,{}):this.props.children}},b=N;var De=({params:e})=>jsxRuntime.jsx(reactRedux.Provider,{store:chunkF2C5C3HI_js.P,children:jsxRuntime.jsx(b,{children:jsxRuntime.jsx(re,{params:e})})});chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var Ke=()=>(chunkF2C5C3HI_js.ha(({miniPlayer:{play:e}})=>({play:e}),reactRedux.shallowEqual),jsxRuntime.jsx("div",{className:`${!chunkF2C5C3HI_js.fa("isTouchScreen")&&"hover:pl-scale-125"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`,onContextMenu:e=>e.preventDefault(),children:jsxRuntime.jsx(_e__default.default,{alt:"",src:chunkF2C5C3HI_js.fa("isPlayMiniPlayer")?chunk5FTEBU6O_js.a.bigPause:chunk5FTEBU6O_js.a.bigPlay,width:20,height:20,onClick:e=>chunk2DZLYHGU_js.c(e),onDoubleClick:e=>e.stopPropagation(),className:`${chunkF2C5C3HI_js.fa("isPlayMiniPlayer")?"pl-big-play-icon":"pl-big-pause-icon"}`})})),te=Ke;chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var ke=()=>{let e=chunkF2C5C3HI_js.ga(),r=chunkF2C5C3HI_js.ha(o=>o.miniPlayer.details),t=chunkF2C5C3HI_js.ha(o=>o.miniPlayer.params);return Ae.useEffect(()=>{let o=new I__default.default(chunk4O5NY3UP_js.d());return I__default.default.isSupported()?(o.attachMedia(document.getElementById("mini-player-video-tag")),o.on(I__default.default.Events.MEDIA_ATTACHED,()=>chunk4O5NY3UP_js.C(o))):chunkF2C5C3HI_js.la().canPlayType("application/vnd.apple.mpegurl")&&(chunkF2C5C3HI_js.la().src=r.stream_link,chunk4O5NY3UP_js.b()),()=>{e(chunkF2C5C3HI_js.O()),o.detachMedia(),o.off(I__default.default.Events.MEDIA_ATTACHED,()=>chunk4O5NY3UP_js.C(o));}},[]),Ae.useEffect(()=>{t.currentTime&&(e(chunkF2C5C3HI_js.N(true)),chunkF2C5C3HI_js.ma().currentTime=t.currentTime,e(chunkF2C5C3HI_js.a(false)),chunkF2C5C3HI_js.la()?.pause());},[t.currentTime]),jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsx("video",{onPlay:()=>e(chunkF2C5C3HI_js.N(true)),onEnded:()=>e(chunkF2C5C3HI_js.N(false)),onError:chunk4O5NY3UP_js.a,poster:t.banner?t.banner:r.banner,id:"mini-player-video-tag",className:"pl-absolute pl-bg-black pl-w-full pl-h-full",autoPlay:true,muted:true})})},le=ke;chunkWO4IQUGO_js.e();var He=()=>{let e=chunkF2C5C3HI_js.ga(),r=chunkF2C5C3HI_js.ha(t=>t.miniPlayer.params);return Ae.useEffect(()=>{r.currentTime&&(e(chunkF2C5C3HI_js.N(true)),chunkF2C5C3HI_js.ma().currentTime=r.currentTime,e(chunkF2C5C3HI_js.a(false)),chunkF2C5C3HI_js.la()?.pause());},[r.currentTime]),jsxRuntime.jsx("video",{poster:r.banner,onPlay:()=>e(chunkF2C5C3HI_js.N(true)),onEnded:()=>e(chunkF2C5C3HI_js.N(false)),onError:chunk4O5NY3UP_js.a,src:r.id,id:"mini-player-video-tag",className:"pl-absolute pl-bg-black pl-w-full pl-h-full",autoPlay:true})},ne=He;var ze=()=>{let e=chunkF2C5C3HI_js.ha(r=>r.miniPlayer.params.type);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:e==="static"?jsxRuntime.jsx(ne,{}):jsxRuntime.jsx(le,{})})},se=ze;var pe=({params:e})=>{let r=chunkF2C5C3HI_js.ga(),t=chunkF2C5C3HI_js.ha(p=>p.miniPlayer.details),o=chunkF2C5C3HI_js.ha(p=>p.miniPlayer.params);chunkF2C5C3HI_js.ha(p=>p.miniPlayer.play);let s=chunkF2C5C3HI_js.ha(p=>p.videoData.params);Ae.useEffect(()=>{r(chunkF2C5C3HI_js.L(e));},[]);let T=async()=>await chunkU6DIKZH7_js.a(e.id);return Ae.useEffect(()=>{e.id&&e.type==="vod"&&T();},[e.id]),jsxRuntime.jsx(jsxRuntime.Fragment,{children:t.stream_link||o.type==="static"&&o.id?jsxRuntime.jsxs("div",{id:"miniPlayer-video-area",style:{zIndex:1000003},className:"pl-relative pl-w-full pl-h-full",children:[jsxRuntime.jsx("div",{className:`pl-absolute pl-z-[1000000] pl-top-3 pl-right-3 pl-cursor-pointer ${chunkF2C5C3HI_js.fa("isActiveElements")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,onClick:()=>{s.id===o.id&&(chunkF2C5C3HI_js.la().currentTime=chunkF2C5C3HI_js.ma().currentTime,r(chunkF2C5C3HI_js.c(chunkF2C5C3HI_js.ma().currentTime))),localStorage.setItem("close-miniPlayer","true"),e.onClose();},children:jsxRuntime.jsx(_e__default.default,{className:"pl-cursor-pointer",src:chunk5FTEBU6O_js.a.closeSquare,alt:"close-square",width:16,height:16})}),jsxRuntime.jsx("div",{className:`pl-w-full pl-absolute pl-bottom-0 animate__animated animate__faster pl-z-[1000000] ${chunkF2C5C3HI_js.fa("isActiveElements")&&!chunkF2C5C3HI_js.fa("isLoading")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,children:jsxRuntime.jsx("div",{className:"pl-w-full pl-flex pl-justify-center",children:jsxRuntime.jsx(te,{})})}),jsxRuntime.jsx(se,{})]}):jsxRuntime.jsx("div",{className:"pl-w-full pl-h-full pl-bg-white"})})};var Qe=({params:e})=>jsxRuntime.jsx(reactRedux.Provider,{store:chunkF2C5C3HI_js.P,children:jsxRuntime.jsx(b,{children:jsxRuntime.jsx(pe,{params:e})})});exports.MiniPlayerLibrary=Qe;exports.VideoPlayerLibrary=De;//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/index.ts","../src/videoPlayerLibrary/videoPlayerLibrary.tsx","../src/videoPlayerLibrary/components/videoPlayer/videoPlayer.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleParams.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleKeyPress.tsx","../src/videoPlayerLibrary/helpers/hooks/useKeyPress.tsx","../src/videoPlayerLibrary/helpers/errorBoundary/errorBoundary.tsx","../src/videoPlayerLibrary/miniPlayerLibrary.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/miniPlayer.tsx","../src/videoPlayerLibrary/components/custom-components/playPause/miniPlayerPlayPause.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/videoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerNonStaticVideoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerStaticVideoTag.tsx"],"names":["init_cjs_shims","useHandleParams","query","dispatch","useAppDispatch","queryParams","handleSetParamsInRedux","setPlayerParams","setIsReady","handleAddUUID","handleVodParams","handleStaticParams","getUUID","handleParams","handleValidateSubtitlesInStatic","validSubtitles","filterValidSubtitles","useEffect","useHandleParams_default","useKeyPress","key","cb","callbackRef","useRef","handleKeyPress","event","useKeyPress_default","useHandleKeyPress","conditions","handlePlayPause","handleBackwardForward","mainPlayerVideoTag","handleFullScreen","settings","store_default","handleChangeSoundVolume","handleSubtitle","useHandleKeyPress_default","StaticPlayer","dynamic","VodPlayer","VideoHighLighter","VideoPlayer","props","params","useAppSelector","isReady","shallowEqual","clearRedux","isFullScreen","jsx","element","Fragment","jsxs","loader_default","videoPlayer_default","ErrorBoundary","React","error","errorInfo","errorLogProvider","errorBoundary_default","VideoPlayerLibrary","Provider","MiniPlayerPlayPause","play","Image","importImages_default","handlePlayerPauseMiniPlayer","miniPlayerPlayPause_default","MiniPlayerNonStaticVideoTag","details","state","hls","Hls","handleMiniPlayerHlsConfig","handleMiniPlayerMediaAttached","appendQueryParamsToChunksIOS","setClearMiniPlayerSlice","setPlayMiniPlayer","miniPlayerVideoTag","setPlay","handleVideoError","miniPlayerNonStaticVideoTag_default","MiniPlayerStaticVideoTag","miniPlayerStaticVideoTag_default","VideoTag","type","videoTag_default","MiniPlayer","miniPlayerParams","mainPlayerParams","setMiniPlayerInfo","handleGetDetail","getVodDetails","setCurrentTime","MiniPlayerLibrary"],"mappings":"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","file":"index.js","sourcesContent":["export { VideoPlayerLibrary } from \"./videoPlayerLibrary\";\r\nexport { MiniPlayerLibrary } from \"./miniPlayerLibrary\";\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport VideoPlayer from \"./components/videoPlayer/videoPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const VideoPlayerLibrary = ({ params }: { params: IParams }) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <VideoPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport { conditions } from \"../../helpers/conditions/conditions\";\r\nimport useHandleParams from \"../../helpers/hooks/useHandleParams\";\r\nimport { ConditionName, zIndex } from \"../../helpers/interfaces/enums\";\r\nimport { IParams } from \"../../helpers/interfaces/interfaces\";\r\nimport { useAppSelector } from \"../../helpers/redux/hooks\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport dynamic from \"next/dynamic\";\r\nimport useHandleKeyPress from \"../../helpers/hooks/useHandleKeyPress\";\r\nimport { useEffect } from \"react\";\r\nimport { clearRedux } from \"../../helpers/helpers\";\r\nimport Loader from \"../custom-components/loader/loader\";\r\n\r\nconst StaticPlayer = dynamic(() => import(\"./staticPlayer/staticPlayer\"));\r\nconst VodPlayer = dynamic(() => import(\"./vodPlayer/vodPlayer\"));\r\nconst VideoHighLighter = dynamic(() => import(\"./videoHighLighter/VideoHighLighter\"));\r\n\r\ninterface IProps {\r\n params: IParams;\r\n}\r\n\r\nconst VideoPlayer = (props: IProps) => {\r\n const { params } = useAppSelector(({ videoData: { isReady, params } }) => ({ isReady, params }), shallowEqual);\r\n useEffect(() => {\r\n if (params.id && props.params.id !== params.id) {\r\n // if (params.type === PlayerTypes.static) {\r\n // mainPlayerVideoTag()?.pause();\r\n // mainPlayerVideoTag().removeAttribute(\"src\");\r\n // mainPlayerVideoTag().load();\r\n // }\r\n clearRedux();\r\n }\r\n return () => {\r\n if (params.id) clearRedux();\r\n };\r\n }, [props.params.id]);\r\n\r\n useHandleParams(props.params);\r\n useHandleKeyPress();\r\n useAppSelector(({ controller: { isFullScreen } }) => ({ isFullScreen }), shallowEqual);\r\n\r\n if (props.params.vhl_status) return <VideoHighLighter />;\r\n\r\n let element = <></>;\r\n if (conditions(ConditionName.isReady)) {\r\n element = (\r\n <div\r\n className={`${!conditions(ConditionName.isTouchScreen) && \"pl-rounded-[12px]\"}`}\r\n style={{ touchAction: \"pan-y\", userSelect: \"none\" }}\r\n >\r\n {conditions(ConditionName.isStaticFormat) ? <StaticPlayer /> : <VodPlayer />}\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n dir=\"rtl\"\r\n className={`pl-relative pl-rounded-[12px] pl-w-full pl-h-full pl-aspect-video ${\r\n conditions(ConditionName.isFullScreen) && \"!pl-overflow-hidden !pl-fixed !pl-top-0 !pl-right-0 !pl-w-screen !pl-h-screen !pl-rounded-none !pl-z-[1000000]\"\r\n }`}\r\n style={{zIndex: zIndex.videoPlayerInFullScreen}}\r\n id=\"parent-player\"\r\n >\r\n {conditions(ConditionName.isFirstPlay) && (\r\n <div\r\n className={`pl-absolute pl-bg-black pl-w-full pl-h-full pl-aspect-video ${\r\n !conditions(ConditionName.isTouchScreen) && !conditions(ConditionName.isFullScreen) && \"pl-rounded-[12px]\"\r\n }`}\r\n >\r\n <Loader />\r\n </div>\r\n )}\r\n {element}\r\n </div>\r\n );\r\n};\r\n\r\nexport default VideoPlayer;\r\n","\"use client\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { getUUID } from \"../helpers\";\r\nimport { useAppDispatch } from \"../redux/hooks\";\r\nimport { IParams } from \"../interfaces/interfaces\";\r\nimport { setIsReady, setPlayerParams } from \"../redux/slices/videoDataSlice\";\r\nimport { PlayerTypes } from \"../interfaces/enums\";\r\nimport { filterValidSubtitles } from \"../redux/actions/videoData.actions\";\r\n\r\nconst useHandleParams = (query: any) => {\r\n const dispatch = useAppDispatch();\r\n\r\n let queryParams: IParams = {};\r\n\r\n const handleSetParamsInRedux = () => {\r\n dispatch(setPlayerParams(queryParams));\r\n dispatch(setIsReady(true));\r\n };\r\n\r\n const handleAddUUID = () => {\r\n if (!!query.uuid) {\r\n localStorage.setItem(\"hamrahiUUID\", query.uuid!);\r\n queryParams.uuid = query.uuid;\r\n }\r\n };\r\n\r\n const handleVodParams = () => {\r\n queryParams = {\r\n provider: \"cafevdo\",\r\n ...query,\r\n };\r\n };\r\n\r\n const handleStaticParams = async () => {\r\n queryParams = {\r\n uuid: getUUID(),\r\n provider: \"cafevdo\",\r\n ...query,\r\n subtitles: [],\r\n id: query.id ? window.atob(query.id) : undefined,\r\n banner: query.banner && query.banner !== \"undefined\" ? query.banner : undefined,\r\n };\r\n };\r\n\r\n const handleParams = async () => {\r\n queryParams = {};\r\n if (Object.keys(query).includes(\"type\")) {\r\n if (String(query.type) === PlayerTypes.vod) handleVodParams();\r\n else if (String(query.type) === PlayerTypes.static) handleStaticParams();\r\n handleAddUUID();\r\n handleSetParamsInRedux();\r\n }\r\n };\r\n\r\n const handleValidateSubtitlesInStatic = async () => {\r\n const validSubtitles = await filterValidSubtitles(query.subtitles);\r\n dispatch(setPlayerParams({ ...queryParams, subtitles: validSubtitles }));\r\n };\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n if (String(query.type) === PlayerTypes.static && query.subtitles && query.subtitles.length) handleValidateSubtitlesInStatic();\r\n }, 0);\r\n }, []);\r\n\r\n useEffect(() => {\r\n handleParams();\r\n }, [query]);\r\n};\r\n\r\nexport default useHandleParams;\r\n","import { conditions } from \"../conditions/conditions\";\r\nimport { mainPlayerVideoTag } from \"../constants\";\r\nimport { ConditionName } from \"../interfaces/enums\";\r\nimport { handleBackwardForward, handleChangeSoundVolume, handleFullScreen, handlePlayPause } from \"../redux/actions/controller.actions\";\r\nimport { handleSubtitle } from \"../redux/actions/videoData.actions\";\r\nimport store from \"../redux/store\";\r\nimport useKeyPress from \"./useKeyPress\";\r\n\r\nconst useHandleKeyPress = () => {\r\n useKeyPress(\"Space\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeySpace)) handlePlayPause(event);\r\n });\r\n useKeyPress(\"ArrowRight\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowRight)) handleBackwardForward(\"forward\", 15, event);\r\n });\r\n useKeyPress(\"ArrowLeft\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowLeft)) handleBackwardForward(\"backward\", 15, event);\r\n });\r\n useKeyPress(\"KeyI\", () => {\r\n if (conditions(ConditionName.isPressKeyI)) mainPlayerVideoTag().requestPictureInPicture();\r\n });\r\n useKeyPress(\"KeyF\", () => {\r\n if (conditions(ConditionName.isPressKeyF)) handleFullScreen();\r\n });\r\n useKeyPress(\"KeyM\", () => {\r\n if (conditions(ConditionName.isPressKeyM)) {\r\n const { settings } = store.getState().user;\r\n handleChangeSoundVolume(settings.volume ? 0 : 50);\r\n }\r\n });\r\n useKeyPress(\"KeyC\", () => {\r\n if (conditions(ConditionName.isPressKeyC)) handleSubtitle();\r\n });\r\n};\r\n\r\nexport default useHandleKeyPress;\r\n","import { useEffect, useRef } from \"react\";\r\n\r\nconst useKeyPress = (key: string, cb: any) => {\r\n const callbackRef = useRef(cb);\r\n\r\n useEffect(() => {\r\n callbackRef.current = cb;\r\n }, []);\r\n\r\n useEffect(() => {\r\n const handleKeyPress = (event: any) => {\r\n if (event.code === key && ![\"INPUT\", \"TEXTAREA\"].includes(event.target.nodeName) && !event.target.isContentEditable) callbackRef.current(event);\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleKeyPress);\r\n\r\n return () => document.removeEventListener(\"keydown\", handleKeyPress);\r\n }, [key]);\r\n};\r\nexport default useKeyPress;\r\n","import React from \"react\";\r\nimport { errorLogProvider } from \"./errorBoundaryFunctions\";\r\n\r\nclass ErrorBoundary extends React.Component {\r\n state = { hasError: false, error: null, errorInfo: null };\r\n\r\n static getDerivedStateFromError(error: any) {\r\n // Update state so the next render will show the fallback UI.\r\n return { hasError: true };\r\n }\r\n\r\n componentDidCatch(error: any, errorInfo: any) {\r\n // You can also log the error to an error reporting service\r\n this.setState({ error: error, errorInfo: errorInfo });\r\n errorLogProvider({ type: \"OTHER_ERROR\", message: error.message });\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n return <></>;\r\n }\r\n\r\n return (this.props as any).children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IMiniPlayerParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport { MiniPlayer } from \"./components/custom-components/miniPlayer/miniPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const MiniPlayerLibrary = ({\r\n params,\r\n}: {\r\n params: IMiniPlayerParams;\r\n}) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <MiniPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport Image from \"next/legacy/image\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { ConditionName, zIndex } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { useEffect } from \"react\";\r\nimport { IMiniPlayerParams } from \"../../../helpers/interfaces/interfaces\";\r\nimport { setMiniPlayerInfo } from \"../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport MiniPlayerPlayPause from \"../playPause/miniPlayerPlayPause\";\r\nimport VideoTag from \"./videoTag/videoTag\";\r\nimport { getVodDetails } from \"../../../helpers/redux/actions/videoData.actions\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../helpers/constants\";\r\nimport { setCurrentTime } from \"../../../helpers/redux/slices/controllerSlice\";\r\n\r\nexport const MiniPlayer = ({ params }: { params: IMiniPlayerParams }) => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector(state => state.miniPlayer.details);\r\n const miniPlayerParams = useAppSelector(state => state.miniPlayer.params);\r\n useAppSelector(state => state.miniPlayer.play);\r\n const mainPlayerParams = useAppSelector(state => state.videoData.params);\r\n \r\n useEffect(() => {\r\n dispatch(setMiniPlayerInfo(params));\r\n },[])\r\n\r\n const handleGetDetail = async () => await getVodDetails(params.id);\r\n\r\n useEffect(() => {\r\n if(params.id && params.type === \"vod\") handleGetDetail();\r\n },[params.id])\r\n\r\n return (\r\n <>\r\n {details.stream_link || (miniPlayerParams.type === \"static\" && !!miniPlayerParams.id) ? (\r\n <div id=\"miniPlayer-video-area\" style={{zIndex: zIndex.miniPlayer}} className=\"pl-relative pl-w-full pl-h-full\">\r\n <div \r\n className={`pl-absolute pl-z-[1000000] pl-top-3 pl-right-3 pl-cursor-pointer ${conditions(ConditionName.isActiveElements) ? \"animate__fadeIn pl-pointer-events-auto\" : \"animate__fadeOut pl-pointer-events-none\" }`} \r\n onClick={() => {\r\n if(mainPlayerParams.id === miniPlayerParams.id) {\r\n mainPlayerVideoTag().currentTime = miniPlayerVideoTag().currentTime;\r\n dispatch(setCurrentTime(miniPlayerVideoTag().currentTime));\r\n }\r\n localStorage.setItem(\"close-miniPlayer\", \"true\");\r\n params.onClose();\r\n }}\r\n > \r\n <Image\r\n className=\"pl-cursor-pointer\"\r\n src={IMAGES.closeSquare}\r\n alt=\"close-square\"\r\n width={16}\r\n height={16}\r\n />\r\n </div>\r\n <div className={`pl-w-full pl-absolute pl-bottom-0 animate__animated animate__faster pl-z-[1000000] ${conditions(ConditionName.isActiveElements) && !conditions(ConditionName.isLoading)\r\n ? \"animate__fadeIn pl-pointer-events-auto\"\r\n : \"animate__fadeOut pl-pointer-events-none\"\r\n }`}>\r\n <div className=\"pl-w-full pl-flex pl-justify-center\">\r\n <MiniPlayerPlayPause />\r\n </div>\r\n </div>\r\n <VideoTag />\r\n </div>\r\n ) : (\r\n <div className=\"pl-w-full pl-h-full pl-bg-white\" />\r\n )}\r\n\r\n </>\r\n )\r\n}","import { shallowEqual } from \"react-redux\";\r\nimport { useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { handlePlayerPauseMiniPlayer } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport Image from \"next/legacy/image\";\r\n\r\nconst MiniPlayerPlayPause = () => {\r\n useAppSelector(({ miniPlayer: { play } }) => ({ play }), shallowEqual);\r\n\r\n return (\r\n <div\r\n className={`${!conditions(ConditionName.isTouchScreen) && \"hover:pl-scale-125\"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`}\r\n onContextMenu={(event) => event.preventDefault()}\r\n >\r\n <Image\r\n alt=\"\"\r\n src={conditions(ConditionName.isPlayMiniPlayer) ? IMAGES.bigPause : IMAGES.bigPlay}\r\n width={20}\r\n height={20}\r\n onClick={(event: any) => handlePlayerPauseMiniPlayer(event)}\r\n onDoubleClick={(event: any) => event.stopPropagation()}\r\n className={`${conditions(ConditionName.isPlayMiniPlayer) ? \"pl-big-play-icon\" : \"pl-big-pause-icon\"}`}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default MiniPlayerPlayPause;\r\n","import { PlayerTypes } from \"../../../../helpers/interfaces/enums\";\r\nimport { useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport MiniPlayerNonStaticVideoTag from \"./miniPlayerNonStaticVideoTag\";\r\nimport MiniPlayerStaticVideoTag from \"./miniPlayerStaticVideoTag\";\r\n\r\nconst VideoTag = () => {\r\n \r\n const type = useAppSelector(state => state.miniPlayer.params.type);\r\n return (\r\n <>{type === PlayerTypes.static ? <MiniPlayerStaticVideoTag /> : <MiniPlayerNonStaticVideoTag />}</>\r\n )\r\n}\r\n\r\nexport default VideoTag;","import Hls from \"hls.js\";\r\nimport { useEffect } from \"react\";\r\nimport {\r\n appendQueryParamsToChunksIOS,\r\n handleMiniPlayerHlsConfig,\r\n handleMiniPlayerMediaAttached,\r\n handleVideoError,\r\n} from \"../../../../helpers/redux/actions/playerCore.actions\";\r\nimport {\r\n useAppDispatch,\r\n useAppSelector,\r\n} from \"../../../../helpers/redux/hooks\";\r\nimport {\r\n mainPlayerVideoTag,\r\n miniPlayerVideoTag,\r\n} from \"../../../../helpers/constants\";\r\nimport {\r\n setClearMiniPlayerSlice,\r\n setPlayMiniPlayer,\r\n} from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\n\r\nconst MiniPlayerNonStaticVideoTag = () => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector((state) => state.miniPlayer.details);\r\n const params = useAppSelector((state) => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n let hls = new Hls(handleMiniPlayerHlsConfig());\r\n if (Hls.isSupported()) {\r\n hls.attachMedia(\r\n document.getElementById(`mini-player-video-tag`) as HTMLMediaElement\r\n );\r\n hls.on(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n } else if (\r\n mainPlayerVideoTag().canPlayType(\"application/vnd.apple.mpegurl\")\r\n ) {\r\n mainPlayerVideoTag().src = details.stream_link!;\r\n\r\n // Append Query Parameter to .ts Chunks\r\n appendQueryParamsToChunksIOS();\r\n }\r\n return () => {\r\n dispatch(setClearMiniPlayerSlice());\r\n hls.detachMedia();\r\n hls.off(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag()?.pause();\r\n }\r\n }, [params.currentTime]);\r\n\r\n return (\r\n <>\r\n <video\r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n poster={params.banner ? params.banner : details.banner}\r\n id={`mini-player-video-tag`}\r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay={true}\r\n muted={true}\r\n />\r\n </>\r\n );\r\n};\r\n\r\nexport default MiniPlayerNonStaticVideoTag;\r\n","import { useEffect } from \"react\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../../helpers/constants\";\r\nimport { setPlayMiniPlayer } from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\nimport { handleVideoError } from \"../../../../helpers/redux/actions/playerCore.actions\";\r\n\r\nconst MiniPlayerStaticVideoTag = () => {\r\n\r\n const dispatch = useAppDispatch();\r\n const params = useAppSelector(state => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n if(params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag()?.pause();\r\n }\r\n },[params.currentTime])\r\n\r\n return (\r\n <video \r\n poster={params.banner} \r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n src={params.id} \r\n id={`mini-player-video-tag`} \r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay\r\n />\r\n )\r\n}\r\n\r\nexport default MiniPlayerStaticVideoTag;"]}
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/index.ts","../src/videoPlayerLibrary/videoPlayerLibrary.tsx","../src/videoPlayerLibrary/components/videoPlayer/videoPlayer.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleParams.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleKeyPress.tsx","../src/videoPlayerLibrary/helpers/hooks/useKeyPress.tsx","../src/videoPlayerLibrary/helpers/errorBoundary/errorBoundary.tsx","../src/videoPlayerLibrary/miniPlayerLibrary.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/miniPlayer.tsx","../src/videoPlayerLibrary/components/custom-components/playPause/miniPlayerPlayPause.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/videoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerNonStaticVideoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerStaticVideoTag.tsx"],"names":["init_cjs_shims","useHandleParams","query","dispatch","useAppDispatch","queryParams","handleSetParamsInRedux","setPlayerParams","setIsReady","handleAddUUID","handleVodParams","handleStaticParams","getUUID","handleParams","handleValidateSubtitlesInStatic","validSubtitles","filterValidSubtitles","useEffect","useHandleParams_default","useKeyPress","key","cb","callbackRef","useRef","handleKeyPress","event","useKeyPress_default","useHandleKeyPress","conditions","handlePlayPause","handleBackwardForward","mainPlayerVideoTag","handleFullScreen","settings","store_default","handleChangeSoundVolume","handleSubtitle","useHandleKeyPress_default","StaticPlayer","dynamic","VodPlayer","VideoHighLighter","VideoPlayer","props","params","useAppSelector","isReady","shallowEqual","clearRedux","isFullScreen","jsx","element","Fragment","jsxs","loader_default","videoPlayer_default","ErrorBoundary","React","error","errorInfo","errorLogProvider","errorBoundary_default","VideoPlayerLibrary","Provider","MiniPlayerPlayPause","play","Image","importImages_default","handlePlayerPauseMiniPlayer","miniPlayerPlayPause_default","MiniPlayerNonStaticVideoTag","details","state","hls","Hls","handleMiniPlayerHlsConfig","handleMiniPlayerMediaAttached","appendQueryParamsToChunksIOS","setClearMiniPlayerSlice","setPlayMiniPlayer","miniPlayerVideoTag","setPlay","handleVideoError","miniPlayerNonStaticVideoTag_default","MiniPlayerStaticVideoTag","miniPlayerStaticVideoTag_default","VideoTag","type","videoTag_default","MiniPlayer","miniPlayerParams","mainPlayerParams","setMiniPlayerInfo","handleGetDetail","getVodDetails","setCurrentTime","MiniPlayerLibrary"],"mappings":"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","file":"index.js","sourcesContent":["export { VideoPlayerLibrary } from \"./videoPlayerLibrary\";\r\nexport { MiniPlayerLibrary } from \"./miniPlayerLibrary\";\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport VideoPlayer from \"./components/videoPlayer/videoPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const VideoPlayerLibrary = ({ params }: { params: IParams }) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <VideoPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport { conditions } from \"../../helpers/conditions/conditions\";\r\nimport useHandleParams from \"../../helpers/hooks/useHandleParams\";\r\nimport { ConditionName, zIndex } from \"../../helpers/interfaces/enums\";\r\nimport { IParams } from \"../../helpers/interfaces/interfaces\";\r\nimport { useAppSelector } from \"../../helpers/redux/hooks\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport dynamic from \"next/dynamic\";\r\nimport useHandleKeyPress from \"../../helpers/hooks/useHandleKeyPress\";\r\nimport { useEffect } from \"react\";\r\nimport { clearRedux } from \"../../helpers/helpers\";\r\nimport Loader from \"../custom-components/loader/loader\";\r\n\r\nconst StaticPlayer = dynamic(() => import(\"./staticPlayer/staticPlayer\"));\r\nconst VodPlayer = dynamic(() => import(\"./vodPlayer/vodPlayer\"));\r\nconst VideoHighLighter = dynamic(() => import(\"./videoHighLighter/VideoHighLighter\"));\r\n\r\ninterface IProps {\r\n params: IParams;\r\n}\r\n\r\nconst VideoPlayer = (props: IProps) => {\r\n const { params } = useAppSelector(({ videoData: { isReady, params } }) => ({ isReady, params }), shallowEqual);\r\n useEffect(() => {\r\n if (params.id && props.params.id !== params.id) {\r\n // if (params.type === PlayerTypes.static) {\r\n // mainPlayerVideoTag()?.pause();\r\n // mainPlayerVideoTag().removeAttribute(\"src\");\r\n // mainPlayerVideoTag().load();\r\n // }\r\n clearRedux();\r\n }\r\n return () => {\r\n if (params.id) clearRedux();\r\n };\r\n }, [props.params.id]);\r\n\r\n useHandleParams(props.params);\r\n useHandleKeyPress();\r\n useAppSelector(({ controller: { isFullScreen } }) => ({ isFullScreen }), shallowEqual);\r\n\r\n if (props.params.vhl_status) return <VideoHighLighter />;\r\n\r\n let element = <></>;\r\n if (conditions(ConditionName.isReady)) {\r\n element = (\r\n <div\r\n className={`${!conditions(ConditionName.isTouchScreen) && \"pl-rounded-[12px]\"}`}\r\n style={{ touchAction: \"pan-y\", userSelect: \"none\" }}\r\n >\r\n {conditions(ConditionName.isStaticFormat) ? <StaticPlayer /> : <VodPlayer />}\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n dir=\"rtl\"\r\n className={`pl-relative pl-rounded-[12px] pl-w-full pl-h-full pl-aspect-video ${\r\n conditions(ConditionName.isFullScreen) && \"!pl-overflow-hidden !pl-fixed !pl-top-0 !pl-right-0 !pl-w-screen !pl-h-screen !pl-rounded-none !pl-z-[1000000]\"\r\n }`}\r\n style={{zIndex: zIndex.videoPlayerInFullScreen}}\r\n id=\"parent-player\"\r\n >\r\n {conditions(ConditionName.isFirstPlay) && (\r\n <div\r\n className={`pl-absolute pl-bg-black pl-w-full pl-h-full pl-aspect-video ${\r\n !conditions(ConditionName.isTouchScreen) && !conditions(ConditionName.isFullScreen) && \"pl-rounded-[12px]\"\r\n }`}\r\n >\r\n <Loader />\r\n </div>\r\n )}\r\n {element}\r\n </div>\r\n );\r\n};\r\n\r\nexport default VideoPlayer;\r\n","\"use client\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { getUUID } from \"../helpers\";\r\nimport { useAppDispatch } from \"../redux/hooks\";\r\nimport { IParams } from \"../interfaces/interfaces\";\r\nimport { setIsReady, setPlayerParams } from \"../redux/slices/videoDataSlice\";\r\nimport { PlayerTypes } from \"../interfaces/enums\";\r\nimport { filterValidSubtitles } from \"../redux/actions/videoData.actions\";\r\n\r\nconst useHandleParams = (query: any) => {\r\n const dispatch = useAppDispatch();\r\n\r\n let queryParams: IParams = {};\r\n\r\n const handleSetParamsInRedux = () => {\r\n dispatch(setPlayerParams(queryParams));\r\n dispatch(setIsReady(true));\r\n };\r\n\r\n const handleAddUUID = () => {\r\n if (!!query.uuid) {\r\n localStorage.setItem(\"hamrahiUUID\", query.uuid!);\r\n queryParams.uuid = query.uuid;\r\n }\r\n };\r\n\r\n const handleVodParams = () => {\r\n queryParams = {\r\n provider: \"cafevdo\",\r\n ...query,\r\n };\r\n };\r\n\r\n const handleStaticParams = async () => {\r\n queryParams = {\r\n uuid: getUUID(),\r\n provider: \"cafevdo\",\r\n ...query,\r\n subtitles: [],\r\n id: query.id ? window.atob(query.id) : undefined,\r\n banner: query.banner && query.banner !== \"undefined\" ? query.banner : undefined,\r\n };\r\n };\r\n\r\n const handleParams = async () => {\r\n queryParams = {};\r\n if (Object.keys(query).includes(\"type\")) {\r\n if (String(query.type) === PlayerTypes.vod) handleVodParams();\r\n else if (String(query.type) === PlayerTypes.static) handleStaticParams();\r\n handleAddUUID();\r\n handleSetParamsInRedux();\r\n }\r\n };\r\n\r\n const handleValidateSubtitlesInStatic = async () => {\r\n const validSubtitles = await filterValidSubtitles(query.subtitles);\r\n dispatch(setPlayerParams({ ...queryParams, subtitles: validSubtitles }));\r\n };\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n if (String(query.type) === PlayerTypes.static && query.subtitles && query.subtitles.length) handleValidateSubtitlesInStatic();\r\n }, 10);\r\n }, []);\r\n\r\n useEffect(() => {\r\n handleParams();\r\n }, [query]);\r\n};\r\n\r\nexport default useHandleParams;\r\n","import { conditions } from \"../conditions/conditions\";\r\nimport { mainPlayerVideoTag } from \"../constants\";\r\nimport { ConditionName } from \"../interfaces/enums\";\r\nimport { handleBackwardForward, handleChangeSoundVolume, handleFullScreen, handlePlayPause } from \"../redux/actions/controller.actions\";\r\nimport { handleSubtitle } from \"../redux/actions/videoData.actions\";\r\nimport store from \"../redux/store\";\r\nimport useKeyPress from \"./useKeyPress\";\r\n\r\nconst useHandleKeyPress = () => {\r\n useKeyPress(\"Space\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeySpace)) handlePlayPause(event);\r\n });\r\n useKeyPress(\"ArrowRight\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowRight)) handleBackwardForward(\"forward\", 15, event);\r\n });\r\n useKeyPress(\"ArrowLeft\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowLeft)) handleBackwardForward(\"backward\", 15, event);\r\n });\r\n useKeyPress(\"KeyI\", () => {\r\n if (conditions(ConditionName.isPressKeyI)) mainPlayerVideoTag().requestPictureInPicture();\r\n });\r\n useKeyPress(\"KeyF\", () => {\r\n if (conditions(ConditionName.isPressKeyF)) handleFullScreen();\r\n });\r\n useKeyPress(\"KeyM\", () => {\r\n if (conditions(ConditionName.isPressKeyM)) {\r\n const { settings } = store.getState().user;\r\n handleChangeSoundVolume(settings.volume ? 0 : 50);\r\n }\r\n });\r\n useKeyPress(\"KeyC\", () => {\r\n if (conditions(ConditionName.isPressKeyC)) handleSubtitle();\r\n });\r\n};\r\n\r\nexport default useHandleKeyPress;\r\n","import { useEffect, useRef } from \"react\";\r\n\r\nconst useKeyPress = (key: string, cb: any) => {\r\n const callbackRef = useRef(cb);\r\n\r\n useEffect(() => {\r\n callbackRef.current = cb;\r\n }, []);\r\n\r\n useEffect(() => {\r\n const handleKeyPress = (event: any) => {\r\n if (event.code === key && ![\"INPUT\", \"TEXTAREA\"].includes(event.target.nodeName) && !event.target.isContentEditable) callbackRef.current(event);\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleKeyPress);\r\n\r\n return () => document.removeEventListener(\"keydown\", handleKeyPress);\r\n }, [key]);\r\n};\r\nexport default useKeyPress;\r\n","import React from \"react\";\r\nimport { errorLogProvider } from \"./errorBoundaryFunctions\";\r\n\r\nclass ErrorBoundary extends React.Component {\r\n state = { hasError: false, error: null, errorInfo: null };\r\n\r\n static getDerivedStateFromError(error: any) {\r\n // Update state so the next render will show the fallback UI.\r\n return { hasError: true };\r\n }\r\n\r\n componentDidCatch(error: any, errorInfo: any) {\r\n // You can also log the error to an error reporting service\r\n this.setState({ error: error, errorInfo: errorInfo });\r\n errorLogProvider({ type: \"OTHER_ERROR\", message: error.message });\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n return <></>;\r\n }\r\n\r\n return (this.props as any).children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IMiniPlayerParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport { MiniPlayer } from \"./components/custom-components/miniPlayer/miniPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const MiniPlayerLibrary = ({\r\n params,\r\n}: {\r\n params: IMiniPlayerParams;\r\n}) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <MiniPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport Image from \"next/legacy/image\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { ConditionName, zIndex } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { useEffect } from \"react\";\r\nimport { IMiniPlayerParams } from \"../../../helpers/interfaces/interfaces\";\r\nimport { setMiniPlayerInfo } from \"../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport MiniPlayerPlayPause from \"../playPause/miniPlayerPlayPause\";\r\nimport VideoTag from \"./videoTag/videoTag\";\r\nimport { getVodDetails } from \"../../../helpers/redux/actions/videoData.actions\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../helpers/constants\";\r\nimport { setCurrentTime } from \"../../../helpers/redux/slices/controllerSlice\";\r\n\r\nexport const MiniPlayer = ({ params }: { params: IMiniPlayerParams }) => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector(state => state.miniPlayer.details);\r\n const miniPlayerParams = useAppSelector(state => state.miniPlayer.params);\r\n useAppSelector(state => state.miniPlayer.play);\r\n const mainPlayerParams = useAppSelector(state => state.videoData.params);\r\n \r\n useEffect(() => {\r\n dispatch(setMiniPlayerInfo(params));\r\n },[])\r\n\r\n const handleGetDetail = async () => await getVodDetails(params.id);\r\n\r\n useEffect(() => {\r\n if(params.id && params.type === \"vod\") handleGetDetail();\r\n },[params.id])\r\n\r\n return (\r\n <>\r\n {details.stream_link || (miniPlayerParams.type === \"static\" && !!miniPlayerParams.id) ? (\r\n <div id=\"miniPlayer-video-area\" style={{zIndex: zIndex.miniPlayer}} className=\"pl-relative pl-w-full pl-h-full\">\r\n <div \r\n className={`pl-absolute pl-z-[1000000] pl-top-3 pl-right-3 pl-cursor-pointer ${conditions(ConditionName.isActiveElements) ? \"animate__fadeIn pl-pointer-events-auto\" : \"animate__fadeOut pl-pointer-events-none\" }`} \r\n onClick={() => {\r\n if(mainPlayerParams.id === miniPlayerParams.id) {\r\n mainPlayerVideoTag().currentTime = miniPlayerVideoTag().currentTime;\r\n dispatch(setCurrentTime(miniPlayerVideoTag().currentTime));\r\n }\r\n localStorage.setItem(\"close-miniPlayer\", \"true\");\r\n params.onClose();\r\n }}\r\n > \r\n <Image\r\n className=\"pl-cursor-pointer\"\r\n src={IMAGES.closeSquare}\r\n alt=\"close-square\"\r\n width={16}\r\n height={16}\r\n />\r\n </div>\r\n <div className={`pl-w-full pl-absolute pl-bottom-0 animate__animated animate__faster pl-z-[1000000] ${conditions(ConditionName.isActiveElements) && !conditions(ConditionName.isLoading)\r\n ? \"animate__fadeIn pl-pointer-events-auto\"\r\n : \"animate__fadeOut pl-pointer-events-none\"\r\n }`}>\r\n <div className=\"pl-w-full pl-flex pl-justify-center\">\r\n <MiniPlayerPlayPause />\r\n </div>\r\n </div>\r\n <VideoTag />\r\n </div>\r\n ) : (\r\n <div className=\"pl-w-full pl-h-full pl-bg-white\" />\r\n )}\r\n\r\n </>\r\n )\r\n}","import { shallowEqual } from \"react-redux\";\r\nimport { useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { handlePlayerPauseMiniPlayer } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport Image from \"next/legacy/image\";\r\n\r\nconst MiniPlayerPlayPause = () => {\r\n useAppSelector(({ miniPlayer: { play } }) => ({ play }), shallowEqual);\r\n\r\n return (\r\n <div\r\n className={`${!conditions(ConditionName.isTouchScreen) && \"hover:pl-scale-125\"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`}\r\n onContextMenu={(event) => event.preventDefault()}\r\n >\r\n <Image\r\n alt=\"\"\r\n src={conditions(ConditionName.isPlayMiniPlayer) ? IMAGES.bigPause : IMAGES.bigPlay}\r\n width={20}\r\n height={20}\r\n onClick={(event: any) => handlePlayerPauseMiniPlayer(event)}\r\n onDoubleClick={(event: any) => event.stopPropagation()}\r\n className={`${conditions(ConditionName.isPlayMiniPlayer) ? \"pl-big-play-icon\" : \"pl-big-pause-icon\"}`}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default MiniPlayerPlayPause;\r\n","import { PlayerTypes } from \"../../../../helpers/interfaces/enums\";\r\nimport { useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport MiniPlayerNonStaticVideoTag from \"./miniPlayerNonStaticVideoTag\";\r\nimport MiniPlayerStaticVideoTag from \"./miniPlayerStaticVideoTag\";\r\n\r\nconst VideoTag = () => {\r\n \r\n const type = useAppSelector(state => state.miniPlayer.params.type);\r\n return (\r\n <>{type === PlayerTypes.static ? <MiniPlayerStaticVideoTag /> : <MiniPlayerNonStaticVideoTag />}</>\r\n )\r\n}\r\n\r\nexport default VideoTag;","import Hls from \"hls.js\";\r\nimport { useEffect } from \"react\";\r\nimport {\r\n appendQueryParamsToChunksIOS,\r\n handleMiniPlayerHlsConfig,\r\n handleMiniPlayerMediaAttached,\r\n handleVideoError,\r\n} from \"../../../../helpers/redux/actions/playerCore.actions\";\r\nimport {\r\n useAppDispatch,\r\n useAppSelector,\r\n} from \"../../../../helpers/redux/hooks\";\r\nimport {\r\n mainPlayerVideoTag,\r\n miniPlayerVideoTag,\r\n} from \"../../../../helpers/constants\";\r\nimport {\r\n setClearMiniPlayerSlice,\r\n setPlayMiniPlayer,\r\n} from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\n\r\nconst MiniPlayerNonStaticVideoTag = () => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector((state) => state.miniPlayer.details);\r\n const params = useAppSelector((state) => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n let hls = new Hls(handleMiniPlayerHlsConfig());\r\n if (Hls.isSupported()) {\r\n hls.attachMedia(\r\n document.getElementById(`mini-player-video-tag`) as HTMLMediaElement\r\n );\r\n hls.on(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n } else if (\r\n mainPlayerVideoTag().canPlayType(\"application/vnd.apple.mpegurl\")\r\n ) {\r\n mainPlayerVideoTag().src = details.stream_link!;\r\n\r\n // Append Query Parameter to .ts Chunks\r\n appendQueryParamsToChunksIOS();\r\n }\r\n return () => {\r\n dispatch(setClearMiniPlayerSlice());\r\n hls.detachMedia();\r\n hls.off(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag()?.pause();\r\n }\r\n }, [params.currentTime]);\r\n\r\n return (\r\n <>\r\n <video\r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n poster={params.banner ? params.banner : details.banner}\r\n id={`mini-player-video-tag`}\r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay={true}\r\n muted={true}\r\n />\r\n </>\r\n );\r\n};\r\n\r\nexport default MiniPlayerNonStaticVideoTag;\r\n","import { useEffect } from \"react\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../../helpers/constants\";\r\nimport { setPlayMiniPlayer } from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\nimport { handleVideoError } from \"../../../../helpers/redux/actions/playerCore.actions\";\r\n\r\nconst MiniPlayerStaticVideoTag = () => {\r\n\r\n const dispatch = useAppDispatch();\r\n const params = useAppSelector(state => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n if(params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag()?.pause();\r\n }\r\n },[params.currentTime])\r\n\r\n return (\r\n <video \r\n poster={params.banner} \r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n src={params.id} \r\n id={`mini-player-video-tag`} \r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay\r\n />\r\n )\r\n}\r\n\r\nexport default MiniPlayerStaticVideoTag;"]}
|
package/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a as a$4,d,C,b}from'./chunk-2DUSBJXF.mjs';import {a}from'./chunk-OEFD3YXU.mjs';import {a as a$1,c as c$2,b as b$1}from'./chunk-GVMYW6V2.mjs';import {c as c$1,a as a$5,e as e$1,f,d as d$1}from'./chunk-LDY7HB2V.mjs';import {Fa,P,ha,Y,fa,ga,L,ma,la,c,s,N as N$1,a as a$3,O,Q,x}from'./chunk-DDFF72BQ.mjs';import {a as a$2}from'./chunk-TM66GJCG.mjs';import {e}from'./chunk-NXC6LNWJ.mjs';import {Provider,shallowEqual}from'react-redux';import Ve,{useEffect,useRef}from'react';import N from'next/dynamic';import {jsx,Fragment,jsxs}from'react/jsx-runtime';import Ke from'next/legacy/image';import T from'hls.js';e();e();e();e();var Pe=e=>{let r=ga(),t={},o=()=>{r(s(t)),r(x(true));},m=()=>{e.uuid&&(localStorage.setItem("hamrahiUUID",e.uuid),t.uuid=e.uuid);},E=()=>{t={provider:"cafevdo",...e};},d=async()=>{t={uuid:Q(),provider:"cafevdo",...e,subtitles:[],id:e.id?window.atob(e.id):void 0,banner:e.banner&&e.banner!=="undefined"?e.banner:void 0};},ce=async()=>{t={},Object.keys(e).includes("type")&&(String(e.type)==="vod"?E():String(e.type)==="static"&&d(),m(),o());},fe=async()=>{let ue=await c$2(e.subtitles);r(s({...t,subtitles:ue}));};useEffect(()=>{setTimeout(()=>{String(e.type)==="static"&&e.subtitles&&e.subtitles.length&&fe();},
|
|
1
|
+
import {a as a$4,d,C,b}from'./chunk-2DUSBJXF.mjs';import {a}from'./chunk-OEFD3YXU.mjs';import {a as a$1,c as c$2,b as b$1}from'./chunk-GVMYW6V2.mjs';import {c as c$1,a as a$5,e as e$1,f,d as d$1}from'./chunk-LDY7HB2V.mjs';import {Fa,P,ha,Y,fa,ga,L,ma,la,c,s,N as N$1,a as a$3,O,Q,x}from'./chunk-DDFF72BQ.mjs';import {a as a$2}from'./chunk-TM66GJCG.mjs';import {e}from'./chunk-NXC6LNWJ.mjs';import {Provider,shallowEqual}from'react-redux';import Ve,{useEffect,useRef}from'react';import N from'next/dynamic';import {jsx,Fragment,jsxs}from'react/jsx-runtime';import Ke from'next/legacy/image';import T from'hls.js';e();e();e();e();var Pe=e=>{let r=ga(),t={},o=()=>{r(s(t)),r(x(true));},m=()=>{e.uuid&&(localStorage.setItem("hamrahiUUID",e.uuid),t.uuid=e.uuid);},E=()=>{t={provider:"cafevdo",...e};},d=async()=>{t={uuid:Q(),provider:"cafevdo",...e,subtitles:[],id:e.id?window.atob(e.id):void 0,banner:e.banner&&e.banner!=="undefined"?e.banner:void 0};},ce=async()=>{t={},Object.keys(e).includes("type")&&(String(e.type)==="vod"?E():String(e.type)==="static"&&d(),m(),o());},fe=async()=>{let ue=await c$2(e.subtitles);r(s({...t,subtitles:ue}));};useEffect(()=>{setTimeout(()=>{String(e.type)==="static"&&e.subtitles&&e.subtitles.length&&fe();},10);},[]),useEffect(()=>{ce();},[e]);},j=Pe;e();e();var ge=(e,r)=>{let t=useRef(r);useEffect(()=>{t.current=r;},[]),useEffect(()=>{let o=m=>{m.code===e&&!["INPUT","TEXTAREA"].includes(m.target.nodeName)&&!m.target.isContentEditable&&t.current(m);};return document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)},[e]);},u=ge;var ve=()=>{u("Space",e=>{fa("isPressKeySpace")&&a$5(e);}),u("ArrowRight",e=>{fa("isPressKeyArrowRight")&&e$1("forward",15,e);}),u("ArrowLeft",e=>{fa("isPressKeyArrowLeft")&&e$1("backward",15,e);}),u("KeyI",()=>{fa("isPressKeyI")&&la().requestPictureInPicture();}),u("KeyF",()=>{fa("isPressKeyF")&&f();}),u("KeyM",()=>{if(fa("isPressKeyM")){let{settings:e}=P.getState().user;d$1(e.volume?0:50);}}),u("KeyC",()=>{fa("isPressKeyC")&&b$1();});},ee=ve;var Ie=N(()=>import('./staticPlayer-MI6U2CZN.mjs')),Te=N(()=>import('./vodPlayer-SDDCK73X.mjs')),Ee=N(()=>import('./VideoHighLighter-TCRPT5IP.mjs')),Me=e=>{let{params:r}=ha(({videoData:{isReady:o,params:m}})=>({isReady:o,params:m}),shallowEqual);if(useEffect(()=>(r.id&&e.params.id!==r.id&&Y(),()=>{r.id&&Y();}),[e.params.id]),j(e.params),ee(),ha(({controller:{isFullScreen:o}})=>({isFullScreen:o}),shallowEqual),e.params.vhl_status)return jsx(Ee,{});let t=jsx(Fragment,{});return fa("isReady")&&(t=jsx("div",{className:`${!fa("isTouchScreen")&&"pl-rounded-[12px]"}`,style:{touchAction:"pan-y",userSelect:"none"},children:fa("isStaticFormat")?jsx(Ie,{}):jsx(Te,{})})),jsxs("div",{dir:"rtl",className:`pl-relative pl-rounded-[12px] pl-w-full pl-h-full pl-aspect-video ${fa("isFullScreen")&&"!pl-overflow-hidden !pl-fixed !pl-top-0 !pl-right-0 !pl-w-screen !pl-h-screen !pl-rounded-none !pl-z-[1000000]"}`,style:{zIndex:1e6},id:"parent-player",children:[fa("isFirstPlay")&&jsx("div",{className:`pl-absolute pl-bg-black pl-w-full pl-h-full pl-aspect-video ${!fa("isTouchScreen")&&!fa("isFullScreen")&&"pl-rounded-[12px]"}`,children:jsx(a,{})}),t]})},ie=Me;e();var D=class extends Ve.Component{state={hasError:false,error:null,errorInfo:null};static getDerivedStateFromError(r){return {hasError:true}}componentDidCatch(r,t){this.setState({error:r,errorInfo:t}),Fa({type:"OTHER_ERROR",message:r.message});}render(){return this.state.hasError?jsx(Fragment,{}):this.props.children}},I=D;var xe=({params:e})=>jsx(Provider,{store:P,children:jsx(I,{children:jsx(ie,{params:e})})});e();e();e();var ke=()=>(ha(({miniPlayer:{play:e}})=>({play:e}),shallowEqual),jsx("div",{className:`${!fa("isTouchScreen")&&"hover:pl-scale-125"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`,onContextMenu:e=>e.preventDefault(),children:jsx(Ke,{alt:"",src:fa("isPlayMiniPlayer")?a$2.bigPause:a$2.bigPlay,width:20,height:20,onClick:e=>c$1(e),onDoubleClick:e=>e.stopPropagation(),className:`${fa("isPlayMiniPlayer")?"pl-big-play-icon":"pl-big-pause-icon"}`})})),ae=ke;e();e();var Re=()=>{let e=ga(),r=ha(o=>o.miniPlayer.details),t=ha(o=>o.miniPlayer.params);return useEffect(()=>{let o=new T(d());return T.isSupported()?(o.attachMedia(document.getElementById("mini-player-video-tag")),o.on(T.Events.MEDIA_ATTACHED,()=>C(o))):la().canPlayType("application/vnd.apple.mpegurl")&&(la().src=r.stream_link,b()),()=>{e(O()),o.detachMedia(),o.off(T.Events.MEDIA_ATTACHED,()=>C(o));}},[]),useEffect(()=>{t.currentTime&&(e(N$1(true)),ma().currentTime=t.currentTime,e(a$3(false)),la()?.pause());},[t.currentTime]),jsx(Fragment,{children:jsx("video",{onPlay:()=>e(N$1(true)),onEnded:()=>e(N$1(false)),onError:a$4,poster:t.banner?t.banner:r.banner,id:"mini-player-video-tag",className:"pl-absolute pl-bg-black pl-w-full pl-h-full",autoPlay:true,muted:true})})},ne=Re;e();var Fe=()=>{let e=ga(),r=ha(t=>t.miniPlayer.params);return useEffect(()=>{r.currentTime&&(e(N$1(true)),ma().currentTime=r.currentTime,e(a$3(false)),la()?.pause());},[r.currentTime]),jsx("video",{poster:r.banner,onPlay:()=>e(N$1(true)),onEnded:()=>e(N$1(false)),onError:a$4,src:r.id,id:"mini-player-video-tag",className:"pl-absolute pl-bg-black pl-w-full pl-h-full",autoPlay:true})},se=Fe;var Ue=()=>{let e=ha(r=>r.miniPlayer.params.type);return jsx(Fragment,{children:e==="static"?jsx(se,{}):jsx(ne,{})})},me=Ue;var de=({params:e})=>{let r=ga(),t=ha(d=>d.miniPlayer.details),o=ha(d=>d.miniPlayer.params);ha(d=>d.miniPlayer.play);let m=ha(d=>d.videoData.params);useEffect(()=>{r(L(e));},[]);let E=async()=>await a$1(e.id);return useEffect(()=>{e.id&&e.type==="vod"&&E();},[e.id]),jsx(Fragment,{children:t.stream_link||o.type==="static"&&o.id?jsxs("div",{id:"miniPlayer-video-area",style:{zIndex:1000003},className:"pl-relative pl-w-full pl-h-full",children:[jsx("div",{className:`pl-absolute pl-z-[1000000] pl-top-3 pl-right-3 pl-cursor-pointer ${fa("isActiveElements")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,onClick:()=>{m.id===o.id&&(la().currentTime=ma().currentTime,r(c(ma().currentTime))),localStorage.setItem("close-miniPlayer","true"),e.onClose();},children:jsx(Ke,{className:"pl-cursor-pointer",src:a$2.closeSquare,alt:"close-square",width:16,height:16})}),jsx("div",{className:`pl-w-full pl-absolute pl-bottom-0 animate__animated animate__faster pl-z-[1000000] ${fa("isActiveElements")&&!fa("isLoading")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,children:jsx("div",{className:"pl-w-full pl-flex pl-justify-center",children:jsx(ae,{})})}),jsx(me,{})]}):jsx("div",{className:"pl-w-full pl-h-full pl-bg-white"})})};var Xe=({params:e})=>jsx(Provider,{store:P,children:jsx(I,{children:jsx(de,{params:e})})});export{Xe as MiniPlayerLibrary,xe as VideoPlayerLibrary};//# sourceMappingURL=index.mjs.map
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/index.ts","../src/videoPlayerLibrary/videoPlayerLibrary.tsx","../src/videoPlayerLibrary/components/videoPlayer/videoPlayer.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleParams.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleKeyPress.tsx","../src/videoPlayerLibrary/helpers/hooks/useKeyPress.tsx","../src/videoPlayerLibrary/helpers/errorBoundary/errorBoundary.tsx","../src/videoPlayerLibrary/miniPlayerLibrary.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/miniPlayer.tsx","../src/videoPlayerLibrary/components/custom-components/playPause/miniPlayerPlayPause.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/videoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerNonStaticVideoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerStaticVideoTag.tsx"],"names":["init_esm_shims","useHandleParams","query","dispatch","useAppDispatch","queryParams","handleSetParamsInRedux","setPlayerParams","setIsReady","handleAddUUID","handleVodParams","handleStaticParams","getUUID","handleParams","handleValidateSubtitlesInStatic","validSubtitles","filterValidSubtitles","useEffect","useHandleParams_default","useKeyPress","key","cb","callbackRef","useRef","handleKeyPress","event","useKeyPress_default","useHandleKeyPress","conditions","handlePlayPause","handleBackwardForward","mainPlayerVideoTag","handleFullScreen","settings","store_default","handleChangeSoundVolume","handleSubtitle","useHandleKeyPress_default","StaticPlayer","dynamic","VodPlayer","VideoHighLighter","VideoPlayer","props","params","useAppSelector","isReady","shallowEqual","clearRedux","isFullScreen","jsx","element","Fragment","jsxs","loader_default","videoPlayer_default","ErrorBoundary","React","error","errorInfo","errorLogProvider","errorBoundary_default","VideoPlayerLibrary","Provider","MiniPlayerPlayPause","play","Image","importImages_default","handlePlayerPauseMiniPlayer","miniPlayerPlayPause_default","MiniPlayerNonStaticVideoTag","details","state","hls","Hls","handleMiniPlayerHlsConfig","handleMiniPlayerMediaAttached","appendQueryParamsToChunksIOS","setClearMiniPlayerSlice","setPlayMiniPlayer","miniPlayerVideoTag","setPlay","handleVideoError","miniPlayerNonStaticVideoTag_default","MiniPlayerStaticVideoTag","miniPlayerStaticVideoTag_default","VideoTag","type","videoTag_default","MiniPlayer","miniPlayerParams","mainPlayerParams","setMiniPlayerInfo","handleGetDetail","getVodDetails","setCurrentTime","MiniPlayerLibrary"],"mappings":"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","file":"index.mjs","sourcesContent":["export { VideoPlayerLibrary } from \"./videoPlayerLibrary\";\r\nexport { MiniPlayerLibrary } from \"./miniPlayerLibrary\";\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport VideoPlayer from \"./components/videoPlayer/videoPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const VideoPlayerLibrary = ({ params }: { params: IParams }) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <VideoPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport { conditions } from \"../../helpers/conditions/conditions\";\r\nimport useHandleParams from \"../../helpers/hooks/useHandleParams\";\r\nimport { ConditionName, zIndex } from \"../../helpers/interfaces/enums\";\r\nimport { IParams } from \"../../helpers/interfaces/interfaces\";\r\nimport { useAppSelector } from \"../../helpers/redux/hooks\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport dynamic from \"next/dynamic\";\r\nimport useHandleKeyPress from \"../../helpers/hooks/useHandleKeyPress\";\r\nimport { useEffect } from \"react\";\r\nimport { clearRedux } from \"../../helpers/helpers\";\r\nimport Loader from \"../custom-components/loader/loader\";\r\n\r\nconst StaticPlayer = dynamic(() => import(\"./staticPlayer/staticPlayer\"));\r\nconst VodPlayer = dynamic(() => import(\"./vodPlayer/vodPlayer\"));\r\nconst VideoHighLighter = dynamic(() => import(\"./videoHighLighter/VideoHighLighter\"));\r\n\r\ninterface IProps {\r\n params: IParams;\r\n}\r\n\r\nconst VideoPlayer = (props: IProps) => {\r\n const { params } = useAppSelector(({ videoData: { isReady, params } }) => ({ isReady, params }), shallowEqual);\r\n useEffect(() => {\r\n if (params.id && props.params.id !== params.id) {\r\n // if (params.type === PlayerTypes.static) {\r\n // mainPlayerVideoTag()?.pause();\r\n // mainPlayerVideoTag().removeAttribute(\"src\");\r\n // mainPlayerVideoTag().load();\r\n // }\r\n clearRedux();\r\n }\r\n return () => {\r\n if (params.id) clearRedux();\r\n };\r\n }, [props.params.id]);\r\n\r\n useHandleParams(props.params);\r\n useHandleKeyPress();\r\n useAppSelector(({ controller: { isFullScreen } }) => ({ isFullScreen }), shallowEqual);\r\n\r\n if (props.params.vhl_status) return <VideoHighLighter />;\r\n\r\n let element = <></>;\r\n if (conditions(ConditionName.isReady)) {\r\n element = (\r\n <div\r\n className={`${!conditions(ConditionName.isTouchScreen) && \"pl-rounded-[12px]\"}`}\r\n style={{ touchAction: \"pan-y\", userSelect: \"none\" }}\r\n >\r\n {conditions(ConditionName.isStaticFormat) ? <StaticPlayer /> : <VodPlayer />}\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n dir=\"rtl\"\r\n className={`pl-relative pl-rounded-[12px] pl-w-full pl-h-full pl-aspect-video ${\r\n conditions(ConditionName.isFullScreen) && \"!pl-overflow-hidden !pl-fixed !pl-top-0 !pl-right-0 !pl-w-screen !pl-h-screen !pl-rounded-none !pl-z-[1000000]\"\r\n }`}\r\n style={{zIndex: zIndex.videoPlayerInFullScreen}}\r\n id=\"parent-player\"\r\n >\r\n {conditions(ConditionName.isFirstPlay) && (\r\n <div\r\n className={`pl-absolute pl-bg-black pl-w-full pl-h-full pl-aspect-video ${\r\n !conditions(ConditionName.isTouchScreen) && !conditions(ConditionName.isFullScreen) && \"pl-rounded-[12px]\"\r\n }`}\r\n >\r\n <Loader />\r\n </div>\r\n )}\r\n {element}\r\n </div>\r\n );\r\n};\r\n\r\nexport default VideoPlayer;\r\n","\"use client\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { getUUID } from \"../helpers\";\r\nimport { useAppDispatch } from \"../redux/hooks\";\r\nimport { IParams } from \"../interfaces/interfaces\";\r\nimport { setIsReady, setPlayerParams } from \"../redux/slices/videoDataSlice\";\r\nimport { PlayerTypes } from \"../interfaces/enums\";\r\nimport { filterValidSubtitles } from \"../redux/actions/videoData.actions\";\r\n\r\nconst useHandleParams = (query: any) => {\r\n const dispatch = useAppDispatch();\r\n\r\n let queryParams: IParams = {};\r\n\r\n const handleSetParamsInRedux = () => {\r\n dispatch(setPlayerParams(queryParams));\r\n dispatch(setIsReady(true));\r\n };\r\n\r\n const handleAddUUID = () => {\r\n if (!!query.uuid) {\r\n localStorage.setItem(\"hamrahiUUID\", query.uuid!);\r\n queryParams.uuid = query.uuid;\r\n }\r\n };\r\n\r\n const handleVodParams = () => {\r\n queryParams = {\r\n provider: \"cafevdo\",\r\n ...query,\r\n };\r\n };\r\n\r\n const handleStaticParams = async () => {\r\n queryParams = {\r\n uuid: getUUID(),\r\n provider: \"cafevdo\",\r\n ...query,\r\n subtitles: [],\r\n id: query.id ? window.atob(query.id) : undefined,\r\n banner: query.banner && query.banner !== \"undefined\" ? query.banner : undefined,\r\n };\r\n };\r\n\r\n const handleParams = async () => {\r\n queryParams = {};\r\n if (Object.keys(query).includes(\"type\")) {\r\n if (String(query.type) === PlayerTypes.vod) handleVodParams();\r\n else if (String(query.type) === PlayerTypes.static) handleStaticParams();\r\n handleAddUUID();\r\n handleSetParamsInRedux();\r\n }\r\n };\r\n\r\n const handleValidateSubtitlesInStatic = async () => {\r\n const validSubtitles = await filterValidSubtitles(query.subtitles);\r\n dispatch(setPlayerParams({ ...queryParams, subtitles: validSubtitles }));\r\n };\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n if (String(query.type) === PlayerTypes.static && query.subtitles && query.subtitles.length) handleValidateSubtitlesInStatic();\r\n }, 0);\r\n }, []);\r\n\r\n useEffect(() => {\r\n handleParams();\r\n }, [query]);\r\n};\r\n\r\nexport default useHandleParams;\r\n","import { conditions } from \"../conditions/conditions\";\r\nimport { mainPlayerVideoTag } from \"../constants\";\r\nimport { ConditionName } from \"../interfaces/enums\";\r\nimport { handleBackwardForward, handleChangeSoundVolume, handleFullScreen, handlePlayPause } from \"../redux/actions/controller.actions\";\r\nimport { handleSubtitle } from \"../redux/actions/videoData.actions\";\r\nimport store from \"../redux/store\";\r\nimport useKeyPress from \"./useKeyPress\";\r\n\r\nconst useHandleKeyPress = () => {\r\n useKeyPress(\"Space\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeySpace)) handlePlayPause(event);\r\n });\r\n useKeyPress(\"ArrowRight\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowRight)) handleBackwardForward(\"forward\", 15, event);\r\n });\r\n useKeyPress(\"ArrowLeft\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowLeft)) handleBackwardForward(\"backward\", 15, event);\r\n });\r\n useKeyPress(\"KeyI\", () => {\r\n if (conditions(ConditionName.isPressKeyI)) mainPlayerVideoTag().requestPictureInPicture();\r\n });\r\n useKeyPress(\"KeyF\", () => {\r\n if (conditions(ConditionName.isPressKeyF)) handleFullScreen();\r\n });\r\n useKeyPress(\"KeyM\", () => {\r\n if (conditions(ConditionName.isPressKeyM)) {\r\n const { settings } = store.getState().user;\r\n handleChangeSoundVolume(settings.volume ? 0 : 50);\r\n }\r\n });\r\n useKeyPress(\"KeyC\", () => {\r\n if (conditions(ConditionName.isPressKeyC)) handleSubtitle();\r\n });\r\n};\r\n\r\nexport default useHandleKeyPress;\r\n","import { useEffect, useRef } from \"react\";\r\n\r\nconst useKeyPress = (key: string, cb: any) => {\r\n const callbackRef = useRef(cb);\r\n\r\n useEffect(() => {\r\n callbackRef.current = cb;\r\n }, []);\r\n\r\n useEffect(() => {\r\n const handleKeyPress = (event: any) => {\r\n if (event.code === key && ![\"INPUT\", \"TEXTAREA\"].includes(event.target.nodeName) && !event.target.isContentEditable) callbackRef.current(event);\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleKeyPress);\r\n\r\n return () => document.removeEventListener(\"keydown\", handleKeyPress);\r\n }, [key]);\r\n};\r\nexport default useKeyPress;\r\n","import React from \"react\";\r\nimport { errorLogProvider } from \"./errorBoundaryFunctions\";\r\n\r\nclass ErrorBoundary extends React.Component {\r\n state = { hasError: false, error: null, errorInfo: null };\r\n\r\n static getDerivedStateFromError(error: any) {\r\n // Update state so the next render will show the fallback UI.\r\n return { hasError: true };\r\n }\r\n\r\n componentDidCatch(error: any, errorInfo: any) {\r\n // You can also log the error to an error reporting service\r\n this.setState({ error: error, errorInfo: errorInfo });\r\n errorLogProvider({ type: \"OTHER_ERROR\", message: error.message });\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n return <></>;\r\n }\r\n\r\n return (this.props as any).children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IMiniPlayerParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport { MiniPlayer } from \"./components/custom-components/miniPlayer/miniPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const MiniPlayerLibrary = ({\r\n params,\r\n}: {\r\n params: IMiniPlayerParams;\r\n}) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <MiniPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport Image from \"next/legacy/image\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { ConditionName, zIndex } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { useEffect } from \"react\";\r\nimport { IMiniPlayerParams } from \"../../../helpers/interfaces/interfaces\";\r\nimport { setMiniPlayerInfo } from \"../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport MiniPlayerPlayPause from \"../playPause/miniPlayerPlayPause\";\r\nimport VideoTag from \"./videoTag/videoTag\";\r\nimport { getVodDetails } from \"../../../helpers/redux/actions/videoData.actions\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../helpers/constants\";\r\nimport { setCurrentTime } from \"../../../helpers/redux/slices/controllerSlice\";\r\n\r\nexport const MiniPlayer = ({ params }: { params: IMiniPlayerParams }) => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector(state => state.miniPlayer.details);\r\n const miniPlayerParams = useAppSelector(state => state.miniPlayer.params);\r\n useAppSelector(state => state.miniPlayer.play);\r\n const mainPlayerParams = useAppSelector(state => state.videoData.params);\r\n \r\n useEffect(() => {\r\n dispatch(setMiniPlayerInfo(params));\r\n },[])\r\n\r\n const handleGetDetail = async () => await getVodDetails(params.id);\r\n\r\n useEffect(() => {\r\n if(params.id && params.type === \"vod\") handleGetDetail();\r\n },[params.id])\r\n\r\n return (\r\n <>\r\n {details.stream_link || (miniPlayerParams.type === \"static\" && !!miniPlayerParams.id) ? (\r\n <div id=\"miniPlayer-video-area\" style={{zIndex: zIndex.miniPlayer}} className=\"pl-relative pl-w-full pl-h-full\">\r\n <div \r\n className={`pl-absolute pl-z-[1000000] pl-top-3 pl-right-3 pl-cursor-pointer ${conditions(ConditionName.isActiveElements) ? \"animate__fadeIn pl-pointer-events-auto\" : \"animate__fadeOut pl-pointer-events-none\" }`} \r\n onClick={() => {\r\n if(mainPlayerParams.id === miniPlayerParams.id) {\r\n mainPlayerVideoTag().currentTime = miniPlayerVideoTag().currentTime;\r\n dispatch(setCurrentTime(miniPlayerVideoTag().currentTime));\r\n }\r\n localStorage.setItem(\"close-miniPlayer\", \"true\");\r\n params.onClose();\r\n }}\r\n > \r\n <Image\r\n className=\"pl-cursor-pointer\"\r\n src={IMAGES.closeSquare}\r\n alt=\"close-square\"\r\n width={16}\r\n height={16}\r\n />\r\n </div>\r\n <div className={`pl-w-full pl-absolute pl-bottom-0 animate__animated animate__faster pl-z-[1000000] ${conditions(ConditionName.isActiveElements) && !conditions(ConditionName.isLoading)\r\n ? \"animate__fadeIn pl-pointer-events-auto\"\r\n : \"animate__fadeOut pl-pointer-events-none\"\r\n }`}>\r\n <div className=\"pl-w-full pl-flex pl-justify-center\">\r\n <MiniPlayerPlayPause />\r\n </div>\r\n </div>\r\n <VideoTag />\r\n </div>\r\n ) : (\r\n <div className=\"pl-w-full pl-h-full pl-bg-white\" />\r\n )}\r\n\r\n </>\r\n )\r\n}","import { shallowEqual } from \"react-redux\";\r\nimport { useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { handlePlayerPauseMiniPlayer } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport Image from \"next/legacy/image\";\r\n\r\nconst MiniPlayerPlayPause = () => {\r\n useAppSelector(({ miniPlayer: { play } }) => ({ play }), shallowEqual);\r\n\r\n return (\r\n <div\r\n className={`${!conditions(ConditionName.isTouchScreen) && \"hover:pl-scale-125\"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`}\r\n onContextMenu={(event) => event.preventDefault()}\r\n >\r\n <Image\r\n alt=\"\"\r\n src={conditions(ConditionName.isPlayMiniPlayer) ? IMAGES.bigPause : IMAGES.bigPlay}\r\n width={20}\r\n height={20}\r\n onClick={(event: any) => handlePlayerPauseMiniPlayer(event)}\r\n onDoubleClick={(event: any) => event.stopPropagation()}\r\n className={`${conditions(ConditionName.isPlayMiniPlayer) ? \"pl-big-play-icon\" : \"pl-big-pause-icon\"}`}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default MiniPlayerPlayPause;\r\n","import { PlayerTypes } from \"../../../../helpers/interfaces/enums\";\r\nimport { useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport MiniPlayerNonStaticVideoTag from \"./miniPlayerNonStaticVideoTag\";\r\nimport MiniPlayerStaticVideoTag from \"./miniPlayerStaticVideoTag\";\r\n\r\nconst VideoTag = () => {\r\n \r\n const type = useAppSelector(state => state.miniPlayer.params.type);\r\n return (\r\n <>{type === PlayerTypes.static ? <MiniPlayerStaticVideoTag /> : <MiniPlayerNonStaticVideoTag />}</>\r\n )\r\n}\r\n\r\nexport default VideoTag;","import Hls from \"hls.js\";\r\nimport { useEffect } from \"react\";\r\nimport {\r\n appendQueryParamsToChunksIOS,\r\n handleMiniPlayerHlsConfig,\r\n handleMiniPlayerMediaAttached,\r\n handleVideoError,\r\n} from \"../../../../helpers/redux/actions/playerCore.actions\";\r\nimport {\r\n useAppDispatch,\r\n useAppSelector,\r\n} from \"../../../../helpers/redux/hooks\";\r\nimport {\r\n mainPlayerVideoTag,\r\n miniPlayerVideoTag,\r\n} from \"../../../../helpers/constants\";\r\nimport {\r\n setClearMiniPlayerSlice,\r\n setPlayMiniPlayer,\r\n} from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\n\r\nconst MiniPlayerNonStaticVideoTag = () => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector((state) => state.miniPlayer.details);\r\n const params = useAppSelector((state) => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n let hls = new Hls(handleMiniPlayerHlsConfig());\r\n if (Hls.isSupported()) {\r\n hls.attachMedia(\r\n document.getElementById(`mini-player-video-tag`) as HTMLMediaElement\r\n );\r\n hls.on(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n } else if (\r\n mainPlayerVideoTag().canPlayType(\"application/vnd.apple.mpegurl\")\r\n ) {\r\n mainPlayerVideoTag().src = details.stream_link!;\r\n\r\n // Append Query Parameter to .ts Chunks\r\n appendQueryParamsToChunksIOS();\r\n }\r\n return () => {\r\n dispatch(setClearMiniPlayerSlice());\r\n hls.detachMedia();\r\n hls.off(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag()?.pause();\r\n }\r\n }, [params.currentTime]);\r\n\r\n return (\r\n <>\r\n <video\r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n poster={params.banner ? params.banner : details.banner}\r\n id={`mini-player-video-tag`}\r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay={true}\r\n muted={true}\r\n />\r\n </>\r\n );\r\n};\r\n\r\nexport default MiniPlayerNonStaticVideoTag;\r\n","import { useEffect } from \"react\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../../helpers/constants\";\r\nimport { setPlayMiniPlayer } from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\nimport { handleVideoError } from \"../../../../helpers/redux/actions/playerCore.actions\";\r\n\r\nconst MiniPlayerStaticVideoTag = () => {\r\n\r\n const dispatch = useAppDispatch();\r\n const params = useAppSelector(state => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n if(params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag()?.pause();\r\n }\r\n },[params.currentTime])\r\n\r\n return (\r\n <video \r\n poster={params.banner} \r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n src={params.id} \r\n id={`mini-player-video-tag`} \r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay\r\n />\r\n )\r\n}\r\n\r\nexport default MiniPlayerStaticVideoTag;"]}
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/index.ts","../src/videoPlayerLibrary/videoPlayerLibrary.tsx","../src/videoPlayerLibrary/components/videoPlayer/videoPlayer.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleParams.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleKeyPress.tsx","../src/videoPlayerLibrary/helpers/hooks/useKeyPress.tsx","../src/videoPlayerLibrary/helpers/errorBoundary/errorBoundary.tsx","../src/videoPlayerLibrary/miniPlayerLibrary.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/miniPlayer.tsx","../src/videoPlayerLibrary/components/custom-components/playPause/miniPlayerPlayPause.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/videoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerNonStaticVideoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerStaticVideoTag.tsx"],"names":["init_esm_shims","useHandleParams","query","dispatch","useAppDispatch","queryParams","handleSetParamsInRedux","setPlayerParams","setIsReady","handleAddUUID","handleVodParams","handleStaticParams","getUUID","handleParams","handleValidateSubtitlesInStatic","validSubtitles","filterValidSubtitles","useEffect","useHandleParams_default","useKeyPress","key","cb","callbackRef","useRef","handleKeyPress","event","useKeyPress_default","useHandleKeyPress","conditions","handlePlayPause","handleBackwardForward","mainPlayerVideoTag","handleFullScreen","settings","store_default","handleChangeSoundVolume","handleSubtitle","useHandleKeyPress_default","StaticPlayer","dynamic","VodPlayer","VideoHighLighter","VideoPlayer","props","params","useAppSelector","isReady","shallowEqual","clearRedux","isFullScreen","jsx","element","Fragment","jsxs","loader_default","videoPlayer_default","ErrorBoundary","React","error","errorInfo","errorLogProvider","errorBoundary_default","VideoPlayerLibrary","Provider","MiniPlayerPlayPause","play","Image","importImages_default","handlePlayerPauseMiniPlayer","miniPlayerPlayPause_default","MiniPlayerNonStaticVideoTag","details","state","hls","Hls","handleMiniPlayerHlsConfig","handleMiniPlayerMediaAttached","appendQueryParamsToChunksIOS","setClearMiniPlayerSlice","setPlayMiniPlayer","miniPlayerVideoTag","setPlay","handleVideoError","miniPlayerNonStaticVideoTag_default","MiniPlayerStaticVideoTag","miniPlayerStaticVideoTag_default","VideoTag","type","videoTag_default","MiniPlayer","miniPlayerParams","mainPlayerParams","setMiniPlayerInfo","handleGetDetail","getVodDetails","setCurrentTime","MiniPlayerLibrary"],"mappings":"omBAAAA,CAAAA,EAAAA,CCAAA,ICAAA,ICAAA,CAEA,EAAA,CAQA,IAAMC,EAAAA,CAAmBC,CAAe,EAAA,CACtC,IAAMC,CAAWC,CAAAA,EAAAA,EAEbC,CAAAA,CAAAA,CAAuB,EAErBC,CAAAA,CAAAA,CAAyB,IAAM,CACnCH,EAASI,CAAgBF,CAAAA,CAAW,CAAC,CAAA,CACrCF,EAASK,CAAW,CAAA,IAAI,CAAC,EAC3B,EAEMC,CAAgB,CAAA,IAAM,CACpBP,CAAAA,CAAM,OACV,YAAa,CAAA,OAAA,CAAQ,aAAeA,CAAAA,CAAAA,CAAM,IAAK,CAC/CG,CAAAA,CAAAA,CAAY,IAAOH,CAAAA,CAAAA,CAAM,MAE7B,CAEMQ,CAAAA,CAAAA,CAAkB,IAAM,CAC5BL,EAAc,CACZ,QAAA,CAAU,SACV,CAAA,GAAGH,CACL,EACF,CAAA,CAEMS,CAAqB,CAAA,SAAY,CACrCN,CAAc,CAAA,CACZ,IAAMO,CAAAA,CAAAA,GACN,QAAU,CAAA,SAAA,CACV,GAAGV,CAAAA,CACH,UAAW,EAAC,CACZ,EAAIA,CAAAA,CAAAA,CAAM,GAAK,MAAO,CAAA,IAAA,CAAKA,CAAM,CAAA,EAAE,EAAI,MACvC,CAAA,MAAA,CAAQA,CAAM,CAAA,MAAA,EAAUA,EAAM,MAAW,GAAA,WAAA,CAAcA,CAAM,CAAA,MAAA,CAAS,MACxE,EACF,CAAA,CAEMW,EAAe,CAAA,SAAY,CAC/BR,CAAc,CAAA,EACV,CAAA,MAAA,CAAO,KAAKH,CAAK,CAAA,CAAE,QAAS,CAAA,MAAM,IAChC,MAAOA,CAAAA,CAAAA,CAAM,IAAI,CAAA,GAAM,MAAiBQ,CAAgB,EAAA,CACnD,MAAOR,CAAAA,CAAAA,CAAM,IAAI,CAAM,GAAA,QAAA,EAAoBS,CAAmB,EAAA,CACvEF,GACAH,CAAAA,CAAAA,EAEJ,EAAA,CAAA,CAEMQ,GAAkC,SAAY,CAClD,IAAMC,EAAAA,CAAiB,MAAMC,GAAqBd,CAAAA,CAAAA,CAAM,SAAS,CAAA,CACjEC,EAASI,CAAgB,CAAA,CAAE,GAAGF,CAAAA,CAAa,UAAWU,EAAe,CAAC,CAAC,EACzE,EAEAE,SAAU,CAAA,IAAM,CACd,UAAW,CAAA,IAAM,CACX,MAAOf,CAAAA,CAAAA,CAAM,IAAI,CAAA,GAAM,UAAsBA,CAAM,CAAA,SAAA,EAAaA,CAAM,CAAA,SAAA,CAAU,QAAQY,EAAgC,GAC9H,CAAG,CAAA,EAAE,EACP,CAAG,CAAA,EAAE,CAAA,CAELG,UAAU,IAAM,CACdJ,EAAa,GACf,EAAG,CAACX,CAAK,CAAC,EACZ,EAEOgB,CAAQjB,CAAAA,EAAAA,CCvEfD,ICAAA,CAAA,EAAA,CAEA,IAAMmB,EAAAA,CAAc,CAACC,CAAaC,CAAAA,CAAAA,GAAY,CAC1C,IAAMC,EAAcC,MAAOF,CAAAA,CAAE,CAE7BJ,CAAAA,SAAAA,CAAU,IAAM,CACZK,CAAAA,CAAY,OAAUD,CAAAA,EAC1B,EAAG,EAAE,CAELJ,CAAAA,SAAAA,CAAU,IAAM,CACZ,IAAMO,CAAkBC,CAAAA,CAAAA,EAAe,CAC/BA,CAAM,CAAA,IAAA,GAASL,GAAO,CAAC,CAAC,QAAS,UAAU,CAAA,CAAE,QAASK,CAAAA,CAAAA,CAAM,OAAO,QAAQ,CAAA,EAAK,CAACA,CAAAA,CAAM,OAAO,iBAAmBH,EAAAA,CAAAA,CAAY,OAAQG,CAAAA,CAAK,EAClJ,CAEA,CAAA,OAAA,QAAA,CAAS,gBAAiB,CAAA,SAAA,CAAWD,CAAc,CAE5C,CAAA,IAAM,QAAS,CAAA,mBAAA,CAAoB,UAAWA,CAAc,CACvE,CAAG,CAAA,CAACJ,CAAG,CAAC,EACZ,CACOM,CAAAA,CAAAA,CAAQP,GDXf,IAAMQ,EAAAA,CAAoB,IAAM,CAC5BD,EAAY,OAAUD,CAAAA,CAAAA,EAAe,CAC7BG,EAAAA,CAAAA,iBAAwC,GAAGC,GAAgBJ,CAAAA,CAAK,EACxE,CAAC,EACDC,CAAY,CAAA,YAAA,CAAeD,CAAe,EAAA,CAClCG,yBAA6C,CAAGE,EAAAA,GAAAA,CAAsB,SAAW,CAAA,EAAA,CAAIL,CAAK,EAClG,CAAC,CACDC,CAAAA,CAAAA,CAAY,YAAcD,CAAe,EAAA,CACjCG,EAA4C,CAAA,qBAAA,CAAA,EAAGE,IAAsB,UAAY,CAAA,EAAA,CAAIL,CAAK,EAClG,CAAC,CACDC,CAAAA,CAAAA,CAAY,OAAQ,IAAM,CAClBE,gBAAoC,CAAGG,EAAAA,EAAAA,EAAqB,CAAA,uBAAA,GACpE,CAAC,CAAA,CACDL,CAAY,CAAA,MAAA,CAAQ,IAAM,CAClBE,EAAAA,CAAAA,aAAoC,CAAGI,EAAAA,CAAAA,GAC/C,CAAC,CAAA,CACDN,CAAY,CAAA,MAAA,CAAQ,IAAM,CACtB,GAAIE,EAAoC,CAAA,aAAA,CAAA,CAAG,CACvC,GAAM,CAAE,QAAAK,CAAAA,CAAS,EAAIC,CAAM,CAAA,QAAA,EAAW,CAAA,IAAA,CACtCC,IAAwBF,CAAS,CAAA,MAAA,CAAS,CAAI,CAAA,EAAE,EACpD,CACJ,CAAC,CACDP,CAAAA,CAAAA,CAAY,OAAQ,IAAM,CAClBE,EAAoC,CAAA,aAAA,CAAA,EAAGQ,MAC/C,CAAC,EACL,CAAA,CAEOC,GAAQV,EFzBf,CAIA,IAAMW,GAAeC,CAAQ,CAAA,IAAM,OAAO,6BAA6B,CAAC,CAClEC,CAAAA,EAAAA,CAAYD,EAAQ,IAAM,OAAO,0BAAuB,CAAC,CAAA,CACzDE,EAAmBF,CAAAA,CAAAA,CAAQ,IAAM,OAAO,iCAAqC,CAAC,CAAA,CAM9EG,GAAeC,CAAkB,EAAA,CACrC,GAAM,CAAE,OAAAC,CAAO,CAAA,CAAIC,EAAe,CAAA,CAAC,CAAE,SAAW,CAAA,CAAE,OAAAC,CAAAA,CAAAA,CAAS,OAAAF,CAAO,CAAE,CAAO,IAAA,CAAE,QAAAE,CAAS,CAAA,MAAA,CAAAF,CAAO,CAAA,CAAA,CAAIG,YAAY,CAmB7G,CAAA,GAlBA9B,SAAU,CAAA,KACJ2B,EAAO,EAAMD,EAAAA,CAAAA,CAAM,MAAO,CAAA,EAAA,GAAOC,EAAO,EAM1CI,EAAAA,CAAAA,EAEK,CAAA,IAAM,CACPJ,CAAO,CAAA,EAAA,EAAII,CAAW,GAC5B,GACC,CAACL,CAAAA,CAAM,MAAO,CAAA,EAAE,CAAC,CAEpBzB,CAAAA,CAAAA,CAAgByB,CAAM,CAAA,MAAM,EAC5BN,EAAkB,EAAA,CAClBQ,EAAe,CAAA,CAAC,CAAE,UAAY,CAAA,CAAE,YAAAI,CAAAA,CAAa,CAAE,CAAO,IAAA,CAAE,aAAAA,CAAa,CAAA,CAAA,CAAIF,YAAY,CAEjFJ,CAAAA,CAAAA,CAAM,MAAO,CAAA,UAAA,CAAY,OAAOO,GAACT,CAAAA,EAAAA,CAAA,EAAiB,CAAA,CAEtD,IAAIU,CAAUD,CAAAA,GAAAA,CAAAE,QAAA,CAAA,EAAE,EAChB,OAAIxB,EAAAA,CAAAA,SAAgC,CAClCuB,GAAAA,CAAAA,CACED,IAAC,KACC,CAAA,CAAA,SAAA,CAAW,CAAG,EAAA,CAACtB,kBAAsC,CAAK,EAAA,mBAAmB,CAC7E,CAAA,CAAA,KAAA,CAAO,CAAE,WAAa,CAAA,OAAA,CAAS,UAAY,CAAA,MAAO,EAEjD,QAAAA,CAAAA,EAAAA,CAAAA,gBAAuC,CAAIsB,CAAAA,GAAAA,CAACZ,GAAA,EAAa,CAAA,CAAKY,GAACV,CAAAA,EAAAA,CAAA,EAAU,CAC5E,CAAA,CAAA,CAAA,CAKFa,IAAC,CAAA,KAAA,CAAA,CACC,IAAI,KACJ,CAAA,SAAA,CAAW,CACTzB,kEAAAA,EAAAA,EAAAA,CAAAA,cAAqC,GAAK,gHAC5C,CAAA,CAAA,CACA,KAAO,CAAA,CAAC,UAAsC,CAC9C,CAAA,EAAA,CAAG,eAEF,CAAA,QAAA,CAAA,CAAAA,gBAAoC,CACnCsB,EAAAA,GAAAA,CAAC,KACC,CAAA,CAAA,SAAA,CAAW,+DACT,CAACtB,EAAAA,CAAAA,eAAsC,CAAK,EAAA,CAACA,iBAAqC,CAAK,EAAA,mBACzF,GAEA,QAAAsB,CAAAA,GAAAA,CAACI,EAAA,EAAO,CAAA,CACV,CAEDH,CAAAA,CAAAA,CAAAA,CACH,CAEJ,CAEOI,CAAAA,EAAAA,CAAQb,EI/Ef1C,CAAAA,CAAAA,EAAAA,CAGA,IAAMwD,CAAAA,CAAN,cAA4BC,EAAM,CAAA,SAAU,CACxC,KAAA,CAAQ,CAAE,QAAU,CAAA,KAAA,CAAO,KAAO,CAAA,IAAA,CAAM,UAAW,IAAK,CAAA,CAExD,OAAO,wBAAA,CAAyBC,EAAY,CAExC,OAAO,CAAE,QAAA,CAAU,IAAK,CAC5B,CAEA,iBAAkBA,CAAAA,CAAAA,CAAYC,EAAgB,CAE1C,IAAA,CAAK,QAAS,CAAA,CAAE,MAAOD,CAAO,CAAA,SAAA,CAAWC,CAAU,CAAC,EACpDC,EAAiB,CAAA,CAAE,IAAM,CAAA,aAAA,CAAe,QAASF,CAAM,CAAA,OAAQ,CAAC,EACpE,CAEA,MAAS,EAAA,CACL,OAAI,IAAA,CAAK,MAAM,QACJR,CAAAA,GAAAA,CAAAE,QAAA,CAAA,EAAE,EAGL,IAAK,CAAA,KAAA,CAAc,QAC/B,CACJ,CAAA,CAEOS,EAAQL,CLdP,KAJKM,EAAqB,CAAA,CAAC,CAAE,MAAA,CAAAlB,CAAO,CAExCM,GAAAA,GAAAA,CAACa,QAAA,CAAA,CAAS,MAAO7B,CACf,CAAA,QAAA,CAAAgB,GAACW,CAAAA,CAAAA,CAAA,CACC,QAAAX,CAAAA,GAAAA,CAACK,EAAA,CAAA,CAAY,OAAQX,CAAQ,CAAA,CAAA,CAC/B,CACF,CAAA,EMdJ5C,ICAAA,ICAAA,CAAA,EAAA,CAQA,IAAMgE,GAAsB,KACxBnB,EAAAA,CAAe,CAAC,CAAE,WAAY,CAAE,IAAA,CAAAoB,CAAK,CAAE,KAAO,CAAE,IAAA,CAAAA,CAAK,CAAA,CAAA,CAAIlB,YAAY,CAGjEG,CAAAA,GAAAA,CAAC,KACG,CAAA,CAAA,SAAA,CAAW,GAAG,CAACtB,EAAAA,CAAAA,eAAsC,CAAK,EAAA,oBAAoB,4DAC9E,aAAgBH,CAAAA,CAAAA,EAAUA,CAAM,CAAA,cAAA,GAEhC,QAAAyB,CAAAA,GAAAA,CAACgB,EAAA,CAAA,CACG,IAAI,EACJ,CAAA,GAAA,CAAKtC,EAAyC,CAAA,kBAAA,CAAA,CAAIuC,IAAO,QAAWA,CAAAA,GAAAA,CAAO,OAC3E,CAAA,KAAA,CAAO,GACP,MAAQ,CAAA,EAAA,CACR,OAAU1C,CAAAA,CAAAA,EAAe2C,IAA4B3C,CAAK,CAAA,CAC1D,aAAgBA,CAAAA,CAAAA,EAAeA,EAAM,eAAgB,EAAA,CACrD,SAAW,CAAA,CAAA,EAAGG,qBAAyC,CAAI,CAAA,kBAAA,CAAqB,mBAAmB,CAAA,CAAA,CACvG,EACJ,CAIDyC,CAAAA,CAAAA,EAAAA,CAAQL,EC7BfhE,CAAAA,CAAAA,EAAAA,CCAAA,IAsBA,IAAMsE,EAAAA,CAA8B,IAAM,CACxC,IAAMnE,CAAWC,CAAAA,EAAAA,GACXmE,CAAU1B,CAAAA,EAAAA,CAAgB2B,CAAUA,EAAAA,CAAAA,CAAM,WAAW,OAAO,CAAA,CAC5D5B,CAASC,CAAAA,EAAAA,CAAgB2B,GAAUA,CAAM,CAAA,UAAA,CAAW,MAAM,CAEhE,CAAA,OAAAvD,UAAU,IAAM,CACd,IAAIwD,CAAAA,CAAM,IAAIC,CAAIC,CAAAA,CAAAA,EAA2B,CAAA,CAC7C,OAAID,CAAI,CAAA,WAAA,EACND,EAAAA,CAAAA,CAAI,YACF,QAAS,CAAA,cAAA,CAAe,uBAAuB,CACjD,EACAA,CAAI,CAAA,EAAA,CAAGC,CAAI,CAAA,MAAA,CAAO,eAAgB,IAChCE,CAAAA,CAA8BH,CAAG,CACnC,GAEA1C,EAAmB,EAAA,CAAE,WAAY,CAAA,+BAA+B,IAEhEA,EAAmB,EAAA,CAAE,GAAMwC,CAAAA,CAAAA,CAAQ,YAGnCM,CAA6B,EAAA,CAAA,CAExB,IAAM,CACX1E,EAAS2E,CAAwB,EAAC,CAClCL,CAAAA,CAAAA,CAAI,aACJA,CAAAA,CAAAA,CAAI,GAAIC,CAAAA,CAAAA,CAAI,OAAO,cAAgB,CAAA,IACjCE,CAA8BH,CAAAA,CAAG,CACnC,EACF,CACF,CAAG,CAAA,EAAE,CAELxD,CAAAA,SAAAA,CAAU,IAAM,CACV2B,EAAO,WACTzC,GAAAA,CAAAA,CAAS4E,GAAkB,CAAA,IAAI,CAAC,CAChCC,CAAAA,EAAAA,GAAqB,WAAcpC,CAAAA,CAAAA,CAAO,YAC1CzC,CAAS8E,CAAAA,GAAAA,CAAQ,KAAK,CAAC,EACvBlD,EAAmB,EAAA,EAAG,KAAM,EAAA,EAEhC,EAAG,CAACa,CAAAA,CAAO,WAAW,CAAC,EAGrBM,GAAAE,CAAAA,QAAAA,CAAA,CACE,QAAA,CAAAF,IAAC,OACC,CAAA,CAAA,MAAA,CAAQ,IAAM/C,CAAAA,CAAS4E,IAAkB,IAAI,CAAC,CAC9C,CAAA,OAAA,CAAS,IAAM5E,CAAS4E,CAAAA,GAAAA,CAAkB,KAAK,CAAC,EAChD,OAASG,CAAAA,GAAAA,CACT,MAAQtC,CAAAA,CAAAA,CAAO,OAASA,CAAO,CAAA,MAAA,CAAS2B,CAAQ,CAAA,MAAA,CAChD,GAAI,uBACJ,CAAA,SAAA,CAAU,6CACV,CAAA,QAAA,CAAU,KACV,KAAO,CAAA,IAAA,CACT,CACF,CAAA,CAEJ,EAEOY,EAAQb,CAAAA,EAAAA,CC9EftE,CAAA,EAAA,CAOA,IAAMoF,EAAAA,CAA2B,IAAM,CAEnC,IAAMjF,CAAWC,CAAAA,EAAAA,EACXwC,CAAAA,CAAAA,CAASC,GAAe2B,CAASA,EAAAA,CAAAA,CAAM,WAAW,MAAM,CAAA,CAE9D,OAAAvD,SAAU,CAAA,IAAM,CACT2B,CAAAA,CAAO,cACNzC,CAAS4E,CAAAA,GAAAA,CAAkB,IAAI,CAAC,EAChCC,EAAmB,EAAA,CAAE,WAAcpC,CAAAA,CAAAA,CAAO,YAC1CzC,CAAS8E,CAAAA,GAAAA,CAAQ,KAAK,CAAC,EACvBlD,EAAmB,EAAA,EAAG,KAAM,EAAA,EAEpC,EAAE,CAACa,CAAAA,CAAO,WAAW,CAAC,EAGlBM,GAAC,CAAA,OAAA,CAAA,CACG,MAAQN,CAAAA,CAAAA,CAAO,OACf,MAAQ,CAAA,IAAMzC,CAAS4E,CAAAA,GAAAA,CAAkB,IAAI,CAAC,CAAA,CAC9C,OAAS,CAAA,IAAM5E,EAAS4E,GAAkB,CAAA,KAAK,CAAC,CAAA,CAChD,QAASG,GACT,CAAA,GAAA,CAAKtC,CAAO,CAAA,EAAA,CACZ,GAAI,uBACJ,CAAA,SAAA,CAAU,6CACV,CAAA,QAAA,CAAQ,KACZ,CAER,CAAA,CAEOyC,EAAQD,CAAAA,EAAAA,CF9Bf,IAAME,EAAW,CAAA,IAAM,CAEnB,IAAMC,EAAO1C,EAAe2B,CAAAA,CAAAA,EAASA,EAAM,UAAW,CAAA,MAAA,CAAO,IAAI,CACjE,CAAA,OACItB,GAAAE,CAAAA,QAAAA,CAAA,CAAG,QAAAmC,CAAAA,CAAAA,GAAS,QAAqBrC,CAAAA,GAAAA,CAACmC,GAAA,EAAyB,CAAA,CAAKnC,GAACiC,CAAAA,EAAAA,CAAA,EAA4B,CAAG,CAAA,CAExG,CAEOK,CAAAA,EAAAA,CAAQF,GFGR,IAAMG,EAAAA,CAAa,CAAC,CAAE,MAAA,CAAA7C,CAAO,CAAA,GAAqC,CACrE,IAAMzC,CAAAA,CAAWC,EAAe,EAAA,CAC1BmE,EAAU1B,EAAe2B,CAAAA,CAAAA,EAASA,CAAM,CAAA,UAAA,CAAW,OAAO,CAC1DkB,CAAAA,CAAAA,CAAmB7C,EAAe2B,CAAAA,CAAAA,EAASA,EAAM,UAAW,CAAA,MAAM,CACxE3B,CAAAA,EAAAA,CAAe2B,GAASA,CAAM,CAAA,UAAA,CAAW,IAAI,CAAA,CAC7C,IAAMmB,CAAmB9C,CAAAA,EAAAA,CAAe2B,CAASA,EAAAA,CAAAA,CAAM,UAAU,MAAM,CAAA,CAEvEvD,SAAU,CAAA,IAAM,CACZd,CAASyF,CAAAA,CAAAA,CAAkBhD,CAAM,CAAC,EACtC,CAAE,CAAA,EAAE,CAEJ,CAAA,IAAMiD,EAAkB,SAAY,MAAMC,GAAclD,CAAAA,CAAAA,CAAO,EAAE,CAEjE,CAAA,OAAA3B,SAAU,CAAA,IAAM,CACT2B,CAAO,CAAA,EAAA,EAAMA,CAAO,CAAA,IAAA,GAAS,OAAOiD,CAAgB,GAC3D,CAAE,CAAA,CAACjD,EAAO,EAAE,CAAC,CAGTM,CAAAA,GAAAA,CAAAE,SAAA,CACK,QAAA,CAAAmB,CAAQ,CAAA,WAAA,EAAgBmB,EAAiB,IAAS,GAAA,QAAA,EAAcA,CAAiB,CAAA,EAAA,CAC9ErC,KAAC,KAAI,CAAA,CAAA,EAAA,CAAG,uBAAwB,CAAA,KAAA,CAAO,CAAC,MAAyB,CAAA,OAAA,CAAA,CAAG,SAAU,CAAA,iCAAA,CAC1E,UAAAH,GAAC,CAAA,KAAA,CAAA,CACG,SAAW,CAAA,CAAA,iEAAA,EAAoEtB,qBAAyC,CAAI,CAAA,wCAAA,CAA2C,yCAA0C,CAAA,CAAA,CACjN,QAAS,IAAM,CACR+D,CAAiB,CAAA,EAAA,GAAOD,EAAiB,EACxC3D,GAAAA,EAAAA,EAAqB,CAAA,WAAA,CAAciD,IAAqB,CAAA,WAAA,CACxD7E,CAAS4F,CAAAA,CAAAA,CAAef,IAAqB,CAAA,WAAW,CAAC,CAAA,CAAA,CAE7D,aAAa,OAAQ,CAAA,kBAAA,CAAoB,MAAM,CAC/CpC,CAAAA,CAAAA,CAAO,UACX,CAAA,CAEA,QAAAM,CAAAA,GAAAA,CAACgB,GAAA,CACG,SAAA,CAAU,mBACV,CAAA,GAAA,CAAKC,IAAO,WACZ,CAAA,GAAA,CAAI,cACJ,CAAA,KAAA,CAAO,GACP,MAAQ,CAAA,EAAA,CACZ,CACJ,CAAA,CAAA,CACAjB,IAAC,KAAI,CAAA,CAAA,SAAA,CAAW,CAAsFtB,mFAAAA,EAAAA,EAAAA,CAAAA,kBAAyC,GAAK,CAACA,EAAAA,CAAAA,WAAkC,CACjL,CAAA,wCAAA,CACA,yCACF,CACI,CAAA,CAAA,QAAA,CAAAsB,GAAC,CAAA,KAAA,CAAA,CAAI,UAAU,qCACX,CAAA,QAAA,CAAAA,GAACmB,CAAAA,EAAAA,CAAA,EAAoB,CACzB,CAAA,CAAA,CACR,CACAnB,CAAAA,GAAAA,CAACsC,GAAA,EAAS,CAAA,CAAA,CACd,CAEAtC,CAAAA,GAAAA,CAAC,OAAI,SAAU,CAAA,iCAAA,CAAkC,CAGzD,CAAA,CAER,EDhEO,IAAM8C,GAAoB,CAAC,CAChC,MAAApD,CAAAA,CACF,IAIIM,GAACa,CAAAA,QAAAA,CAAA,CAAS,KAAA,CAAO7B,EACf,QAAAgB,CAAAA,GAAAA,CAACW,CAAA,CAAA,CACC,SAAAX,GAACuC,CAAAA,EAAAA,CAAA,CAAW,MAAQ7C,CAAAA,CAAAA,CAAQ,EAC9B,CACF,CAAA","file":"index.mjs","sourcesContent":["export { VideoPlayerLibrary } from \"./videoPlayerLibrary\";\r\nexport { MiniPlayerLibrary } from \"./miniPlayerLibrary\";\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport VideoPlayer from \"./components/videoPlayer/videoPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const VideoPlayerLibrary = ({ params }: { params: IParams }) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <VideoPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport { conditions } from \"../../helpers/conditions/conditions\";\r\nimport useHandleParams from \"../../helpers/hooks/useHandleParams\";\r\nimport { ConditionName, zIndex } from \"../../helpers/interfaces/enums\";\r\nimport { IParams } from \"../../helpers/interfaces/interfaces\";\r\nimport { useAppSelector } from \"../../helpers/redux/hooks\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport dynamic from \"next/dynamic\";\r\nimport useHandleKeyPress from \"../../helpers/hooks/useHandleKeyPress\";\r\nimport { useEffect } from \"react\";\r\nimport { clearRedux } from \"../../helpers/helpers\";\r\nimport Loader from \"../custom-components/loader/loader\";\r\n\r\nconst StaticPlayer = dynamic(() => import(\"./staticPlayer/staticPlayer\"));\r\nconst VodPlayer = dynamic(() => import(\"./vodPlayer/vodPlayer\"));\r\nconst VideoHighLighter = dynamic(() => import(\"./videoHighLighter/VideoHighLighter\"));\r\n\r\ninterface IProps {\r\n params: IParams;\r\n}\r\n\r\nconst VideoPlayer = (props: IProps) => {\r\n const { params } = useAppSelector(({ videoData: { isReady, params } }) => ({ isReady, params }), shallowEqual);\r\n useEffect(() => {\r\n if (params.id && props.params.id !== params.id) {\r\n // if (params.type === PlayerTypes.static) {\r\n // mainPlayerVideoTag()?.pause();\r\n // mainPlayerVideoTag().removeAttribute(\"src\");\r\n // mainPlayerVideoTag().load();\r\n // }\r\n clearRedux();\r\n }\r\n return () => {\r\n if (params.id) clearRedux();\r\n };\r\n }, [props.params.id]);\r\n\r\n useHandleParams(props.params);\r\n useHandleKeyPress();\r\n useAppSelector(({ controller: { isFullScreen } }) => ({ isFullScreen }), shallowEqual);\r\n\r\n if (props.params.vhl_status) return <VideoHighLighter />;\r\n\r\n let element = <></>;\r\n if (conditions(ConditionName.isReady)) {\r\n element = (\r\n <div\r\n className={`${!conditions(ConditionName.isTouchScreen) && \"pl-rounded-[12px]\"}`}\r\n style={{ touchAction: \"pan-y\", userSelect: \"none\" }}\r\n >\r\n {conditions(ConditionName.isStaticFormat) ? <StaticPlayer /> : <VodPlayer />}\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n dir=\"rtl\"\r\n className={`pl-relative pl-rounded-[12px] pl-w-full pl-h-full pl-aspect-video ${\r\n conditions(ConditionName.isFullScreen) && \"!pl-overflow-hidden !pl-fixed !pl-top-0 !pl-right-0 !pl-w-screen !pl-h-screen !pl-rounded-none !pl-z-[1000000]\"\r\n }`}\r\n style={{zIndex: zIndex.videoPlayerInFullScreen}}\r\n id=\"parent-player\"\r\n >\r\n {conditions(ConditionName.isFirstPlay) && (\r\n <div\r\n className={`pl-absolute pl-bg-black pl-w-full pl-h-full pl-aspect-video ${\r\n !conditions(ConditionName.isTouchScreen) && !conditions(ConditionName.isFullScreen) && \"pl-rounded-[12px]\"\r\n }`}\r\n >\r\n <Loader />\r\n </div>\r\n )}\r\n {element}\r\n </div>\r\n );\r\n};\r\n\r\nexport default VideoPlayer;\r\n","\"use client\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { getUUID } from \"../helpers\";\r\nimport { useAppDispatch } from \"../redux/hooks\";\r\nimport { IParams } from \"../interfaces/interfaces\";\r\nimport { setIsReady, setPlayerParams } from \"../redux/slices/videoDataSlice\";\r\nimport { PlayerTypes } from \"../interfaces/enums\";\r\nimport { filterValidSubtitles } from \"../redux/actions/videoData.actions\";\r\n\r\nconst useHandleParams = (query: any) => {\r\n const dispatch = useAppDispatch();\r\n\r\n let queryParams: IParams = {};\r\n\r\n const handleSetParamsInRedux = () => {\r\n dispatch(setPlayerParams(queryParams));\r\n dispatch(setIsReady(true));\r\n };\r\n\r\n const handleAddUUID = () => {\r\n if (!!query.uuid) {\r\n localStorage.setItem(\"hamrahiUUID\", query.uuid!);\r\n queryParams.uuid = query.uuid;\r\n }\r\n };\r\n\r\n const handleVodParams = () => {\r\n queryParams = {\r\n provider: \"cafevdo\",\r\n ...query,\r\n };\r\n };\r\n\r\n const handleStaticParams = async () => {\r\n queryParams = {\r\n uuid: getUUID(),\r\n provider: \"cafevdo\",\r\n ...query,\r\n subtitles: [],\r\n id: query.id ? window.atob(query.id) : undefined,\r\n banner: query.banner && query.banner !== \"undefined\" ? query.banner : undefined,\r\n };\r\n };\r\n\r\n const handleParams = async () => {\r\n queryParams = {};\r\n if (Object.keys(query).includes(\"type\")) {\r\n if (String(query.type) === PlayerTypes.vod) handleVodParams();\r\n else if (String(query.type) === PlayerTypes.static) handleStaticParams();\r\n handleAddUUID();\r\n handleSetParamsInRedux();\r\n }\r\n };\r\n\r\n const handleValidateSubtitlesInStatic = async () => {\r\n const validSubtitles = await filterValidSubtitles(query.subtitles);\r\n dispatch(setPlayerParams({ ...queryParams, subtitles: validSubtitles }));\r\n };\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n if (String(query.type) === PlayerTypes.static && query.subtitles && query.subtitles.length) handleValidateSubtitlesInStatic();\r\n }, 10);\r\n }, []);\r\n\r\n useEffect(() => {\r\n handleParams();\r\n }, [query]);\r\n};\r\n\r\nexport default useHandleParams;\r\n","import { conditions } from \"../conditions/conditions\";\r\nimport { mainPlayerVideoTag } from \"../constants\";\r\nimport { ConditionName } from \"../interfaces/enums\";\r\nimport { handleBackwardForward, handleChangeSoundVolume, handleFullScreen, handlePlayPause } from \"../redux/actions/controller.actions\";\r\nimport { handleSubtitle } from \"../redux/actions/videoData.actions\";\r\nimport store from \"../redux/store\";\r\nimport useKeyPress from \"./useKeyPress\";\r\n\r\nconst useHandleKeyPress = () => {\r\n useKeyPress(\"Space\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeySpace)) handlePlayPause(event);\r\n });\r\n useKeyPress(\"ArrowRight\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowRight)) handleBackwardForward(\"forward\", 15, event);\r\n });\r\n useKeyPress(\"ArrowLeft\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowLeft)) handleBackwardForward(\"backward\", 15, event);\r\n });\r\n useKeyPress(\"KeyI\", () => {\r\n if (conditions(ConditionName.isPressKeyI)) mainPlayerVideoTag().requestPictureInPicture();\r\n });\r\n useKeyPress(\"KeyF\", () => {\r\n if (conditions(ConditionName.isPressKeyF)) handleFullScreen();\r\n });\r\n useKeyPress(\"KeyM\", () => {\r\n if (conditions(ConditionName.isPressKeyM)) {\r\n const { settings } = store.getState().user;\r\n handleChangeSoundVolume(settings.volume ? 0 : 50);\r\n }\r\n });\r\n useKeyPress(\"KeyC\", () => {\r\n if (conditions(ConditionName.isPressKeyC)) handleSubtitle();\r\n });\r\n};\r\n\r\nexport default useHandleKeyPress;\r\n","import { useEffect, useRef } from \"react\";\r\n\r\nconst useKeyPress = (key: string, cb: any) => {\r\n const callbackRef = useRef(cb);\r\n\r\n useEffect(() => {\r\n callbackRef.current = cb;\r\n }, []);\r\n\r\n useEffect(() => {\r\n const handleKeyPress = (event: any) => {\r\n if (event.code === key && ![\"INPUT\", \"TEXTAREA\"].includes(event.target.nodeName) && !event.target.isContentEditable) callbackRef.current(event);\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleKeyPress);\r\n\r\n return () => document.removeEventListener(\"keydown\", handleKeyPress);\r\n }, [key]);\r\n};\r\nexport default useKeyPress;\r\n","import React from \"react\";\r\nimport { errorLogProvider } from \"./errorBoundaryFunctions\";\r\n\r\nclass ErrorBoundary extends React.Component {\r\n state = { hasError: false, error: null, errorInfo: null };\r\n\r\n static getDerivedStateFromError(error: any) {\r\n // Update state so the next render will show the fallback UI.\r\n return { hasError: true };\r\n }\r\n\r\n componentDidCatch(error: any, errorInfo: any) {\r\n // You can also log the error to an error reporting service\r\n this.setState({ error: error, errorInfo: errorInfo });\r\n errorLogProvider({ type: \"OTHER_ERROR\", message: error.message });\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n return <></>;\r\n }\r\n\r\n return (this.props as any).children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IMiniPlayerParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport { MiniPlayer } from \"./components/custom-components/miniPlayer/miniPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const MiniPlayerLibrary = ({\r\n params,\r\n}: {\r\n params: IMiniPlayerParams;\r\n}) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <MiniPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport Image from \"next/legacy/image\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { ConditionName, zIndex } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { useEffect } from \"react\";\r\nimport { IMiniPlayerParams } from \"../../../helpers/interfaces/interfaces\";\r\nimport { setMiniPlayerInfo } from \"../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport MiniPlayerPlayPause from \"../playPause/miniPlayerPlayPause\";\r\nimport VideoTag from \"./videoTag/videoTag\";\r\nimport { getVodDetails } from \"../../../helpers/redux/actions/videoData.actions\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../helpers/constants\";\r\nimport { setCurrentTime } from \"../../../helpers/redux/slices/controllerSlice\";\r\n\r\nexport const MiniPlayer = ({ params }: { params: IMiniPlayerParams }) => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector(state => state.miniPlayer.details);\r\n const miniPlayerParams = useAppSelector(state => state.miniPlayer.params);\r\n useAppSelector(state => state.miniPlayer.play);\r\n const mainPlayerParams = useAppSelector(state => state.videoData.params);\r\n \r\n useEffect(() => {\r\n dispatch(setMiniPlayerInfo(params));\r\n },[])\r\n\r\n const handleGetDetail = async () => await getVodDetails(params.id);\r\n\r\n useEffect(() => {\r\n if(params.id && params.type === \"vod\") handleGetDetail();\r\n },[params.id])\r\n\r\n return (\r\n <>\r\n {details.stream_link || (miniPlayerParams.type === \"static\" && !!miniPlayerParams.id) ? (\r\n <div id=\"miniPlayer-video-area\" style={{zIndex: zIndex.miniPlayer}} className=\"pl-relative pl-w-full pl-h-full\">\r\n <div \r\n className={`pl-absolute pl-z-[1000000] pl-top-3 pl-right-3 pl-cursor-pointer ${conditions(ConditionName.isActiveElements) ? \"animate__fadeIn pl-pointer-events-auto\" : \"animate__fadeOut pl-pointer-events-none\" }`} \r\n onClick={() => {\r\n if(mainPlayerParams.id === miniPlayerParams.id) {\r\n mainPlayerVideoTag().currentTime = miniPlayerVideoTag().currentTime;\r\n dispatch(setCurrentTime(miniPlayerVideoTag().currentTime));\r\n }\r\n localStorage.setItem(\"close-miniPlayer\", \"true\");\r\n params.onClose();\r\n }}\r\n > \r\n <Image\r\n className=\"pl-cursor-pointer\"\r\n src={IMAGES.closeSquare}\r\n alt=\"close-square\"\r\n width={16}\r\n height={16}\r\n />\r\n </div>\r\n <div className={`pl-w-full pl-absolute pl-bottom-0 animate__animated animate__faster pl-z-[1000000] ${conditions(ConditionName.isActiveElements) && !conditions(ConditionName.isLoading)\r\n ? \"animate__fadeIn pl-pointer-events-auto\"\r\n : \"animate__fadeOut pl-pointer-events-none\"\r\n }`}>\r\n <div className=\"pl-w-full pl-flex pl-justify-center\">\r\n <MiniPlayerPlayPause />\r\n </div>\r\n </div>\r\n <VideoTag />\r\n </div>\r\n ) : (\r\n <div className=\"pl-w-full pl-h-full pl-bg-white\" />\r\n )}\r\n\r\n </>\r\n )\r\n}","import { shallowEqual } from \"react-redux\";\r\nimport { useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { handlePlayerPauseMiniPlayer } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport Image from \"next/legacy/image\";\r\n\r\nconst MiniPlayerPlayPause = () => {\r\n useAppSelector(({ miniPlayer: { play } }) => ({ play }), shallowEqual);\r\n\r\n return (\r\n <div\r\n className={`${!conditions(ConditionName.isTouchScreen) && \"hover:pl-scale-125\"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`}\r\n onContextMenu={(event) => event.preventDefault()}\r\n >\r\n <Image\r\n alt=\"\"\r\n src={conditions(ConditionName.isPlayMiniPlayer) ? IMAGES.bigPause : IMAGES.bigPlay}\r\n width={20}\r\n height={20}\r\n onClick={(event: any) => handlePlayerPauseMiniPlayer(event)}\r\n onDoubleClick={(event: any) => event.stopPropagation()}\r\n className={`${conditions(ConditionName.isPlayMiniPlayer) ? \"pl-big-play-icon\" : \"pl-big-pause-icon\"}`}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default MiniPlayerPlayPause;\r\n","import { PlayerTypes } from \"../../../../helpers/interfaces/enums\";\r\nimport { useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport MiniPlayerNonStaticVideoTag from \"./miniPlayerNonStaticVideoTag\";\r\nimport MiniPlayerStaticVideoTag from \"./miniPlayerStaticVideoTag\";\r\n\r\nconst VideoTag = () => {\r\n \r\n const type = useAppSelector(state => state.miniPlayer.params.type);\r\n return (\r\n <>{type === PlayerTypes.static ? <MiniPlayerStaticVideoTag /> : <MiniPlayerNonStaticVideoTag />}</>\r\n )\r\n}\r\n\r\nexport default VideoTag;","import Hls from \"hls.js\";\r\nimport { useEffect } from \"react\";\r\nimport {\r\n appendQueryParamsToChunksIOS,\r\n handleMiniPlayerHlsConfig,\r\n handleMiniPlayerMediaAttached,\r\n handleVideoError,\r\n} from \"../../../../helpers/redux/actions/playerCore.actions\";\r\nimport {\r\n useAppDispatch,\r\n useAppSelector,\r\n} from \"../../../../helpers/redux/hooks\";\r\nimport {\r\n mainPlayerVideoTag,\r\n miniPlayerVideoTag,\r\n} from \"../../../../helpers/constants\";\r\nimport {\r\n setClearMiniPlayerSlice,\r\n setPlayMiniPlayer,\r\n} from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\n\r\nconst MiniPlayerNonStaticVideoTag = () => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector((state) => state.miniPlayer.details);\r\n const params = useAppSelector((state) => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n let hls = new Hls(handleMiniPlayerHlsConfig());\r\n if (Hls.isSupported()) {\r\n hls.attachMedia(\r\n document.getElementById(`mini-player-video-tag`) as HTMLMediaElement\r\n );\r\n hls.on(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n } else if (\r\n mainPlayerVideoTag().canPlayType(\"application/vnd.apple.mpegurl\")\r\n ) {\r\n mainPlayerVideoTag().src = details.stream_link!;\r\n\r\n // Append Query Parameter to .ts Chunks\r\n appendQueryParamsToChunksIOS();\r\n }\r\n return () => {\r\n dispatch(setClearMiniPlayerSlice());\r\n hls.detachMedia();\r\n hls.off(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag()?.pause();\r\n }\r\n }, [params.currentTime]);\r\n\r\n return (\r\n <>\r\n <video\r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n poster={params.banner ? params.banner : details.banner}\r\n id={`mini-player-video-tag`}\r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay={true}\r\n muted={true}\r\n />\r\n </>\r\n );\r\n};\r\n\r\nexport default MiniPlayerNonStaticVideoTag;\r\n","import { useEffect } from \"react\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../../helpers/constants\";\r\nimport { setPlayMiniPlayer } from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\nimport { handleVideoError } from \"../../../../helpers/redux/actions/playerCore.actions\";\r\n\r\nconst MiniPlayerStaticVideoTag = () => {\r\n\r\n const dispatch = useAppDispatch();\r\n const params = useAppSelector(state => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n if(params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag()?.pause();\r\n }\r\n },[params.currentTime])\r\n\r\n return (\r\n <video \r\n poster={params.banner} \r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n src={params.id} \r\n id={`mini-player-video-tag`} \r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay\r\n />\r\n )\r\n}\r\n\r\nexport default MiniPlayerStaticVideoTag;"]}
|