cafe-video-player 2.0.26 → 2.0.28
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/backwardForward-AKSQQUMK.js +13 -0
- package/backwardForward-I2YPYTQN.mjs +7 -0
- package/chunk-7U5SWNB7.js +97 -0
- package/chunk-7U5SWNB7.js.map +1 -0
- package/{chunk-OVFD4ZSZ.js → chunk-AAJFAVCG.js} +3 -3
- package/chunk-AEBDUZFF.js +33 -0
- package/chunk-AEBDUZFF.js.map +1 -0
- package/{chunk-U4D24W6G.mjs → chunk-AQT5RMZT.mjs} +3 -3
- package/{chunk-PSFUTPZL.js → chunk-B2V2GE3A.js} +5 -5
- package/{chunk-DTULH6LM.mjs → chunk-CCXRQY2O.mjs} +3 -3
- package/chunk-CNNC7RT3.mjs +8 -0
- package/{chunk-FFGCWLUG.mjs → chunk-CUK6OEZ3.mjs} +4 -4
- package/{chunk-PKMN4PKY.mjs → chunk-D3YDEPIF.mjs} +5 -5
- package/chunk-NLWM4ZIO.js +16 -0
- package/chunk-NXOLML6Z.mjs +10 -0
- package/chunk-NXOLML6Z.mjs.map +1 -0
- package/chunk-PARGBSKY.js +9 -0
- package/{chunk-4S3T7LPH.js.map → chunk-PARGBSKY.js.map} +1 -1
- package/chunk-RJCZ5H4S.mjs +7 -0
- package/{chunk-XRNLZDJN.mjs.map → chunk-RJCZ5H4S.mjs.map} +1 -1
- package/chunk-SFPWU3OF.mjs +26 -0
- package/chunk-SFPWU3OF.mjs.map +1 -0
- package/chunk-TURDIAQ5.js +20 -0
- package/{chunk-2MCNQMYA.mjs → chunk-XXKJEFXQ.mjs} +3 -3
- package/chunk-ZGI6I2YZ.js +40 -0
- package/chunk-ZWJZCG4K.js +11 -0
- package/index.js +6 -6
- package/index.js.map +1 -1
- package/index.mjs +6 -6
- package/index.mjs.map +1 -1
- package/{nonStaticVideoTag-BKTB6RO3.mjs → nonStaticVideoTag-3MPTK2JX.mjs} +7 -7
- package/nonStaticVideoTag-KJWRKNCR.js +25 -0
- package/{notActive-RKQWFD7Z.js → notActive-O7U5EEL2.js} +3 -3
- package/{notActive-KZ2LFSQN.mjs → notActive-RKVMBB4J.mjs} +2 -2
- package/package.json +1 -1
- package/staticPlayer-AVFSMRXH.js +18 -0
- package/staticPlayer-OH7FBCSN.mjs +16 -0
- package/{staticVideoTag-SHDHPLVX.mjs → staticVideoTag-BRXX3THE.mjs} +6 -6
- package/staticVideoTag-HRY4RUM4.js +21 -0
- package/{touchVolumeBrightness-2YD5PTMT.mjs → touchVolumeBrightness-37MG767B.mjs} +4 -4
- package/{touchVolumeBrightness-OZSS4RKW.js → touchVolumeBrightness-RW6IFLE7.js} +4 -4
- package/videoArea-HI3HZ4OB.mjs +11 -0
- package/videoArea-T3VNJGPQ.js +17 -0
- package/videoPlayerStyles.css +16 -9
- package/vodPlayer-IZRY4L5N.mjs +14 -0
- package/vodPlayer-N5EMWYLQ.js +20 -0
- package/backwardForward-JVCBJUNB.mjs +0 -7
- package/backwardForward-S6EQTGNF.js +0 -13
- package/chunk-4S3T7LPH.js +0 -9
- package/chunk-4ZRQQI4J.js +0 -16
- package/chunk-6XDSOKDI.js +0 -11
- package/chunk-DKZD6A6T.js +0 -20
- package/chunk-FALXBGHM.js +0 -40
- package/chunk-PLG5Z74W.js +0 -100
- package/chunk-PLG5Z74W.js.map +0 -1
- package/chunk-W4GOE6SO.mjs +0 -11
- package/chunk-W4GOE6SO.mjs.map +0 -1
- package/chunk-WITBATS4.mjs +0 -26
- package/chunk-WITBATS4.mjs.map +0 -1
- package/chunk-XRNLZDJN.mjs +0 -7
- package/chunk-XU6CZDDQ.mjs +0 -8
- package/chunk-Z63TFSRL.js +0 -33
- package/chunk-Z63TFSRL.js.map +0 -1
- package/nonStaticVideoTag-LK57TUQP.js +0 -25
- package/staticPlayer-7MBJXJI4.js +0 -18
- package/staticPlayer-ZUUXYRED.mjs +0 -16
- package/staticVideoTag-SDCOJKAY.js +0 -21
- package/videoArea-PHFMP5YR.mjs +0 -11
- package/videoArea-PXRP2BFE.js +0 -17
- package/vodPlayer-FNMWOWKL.mjs +0 -14
- package/vodPlayer-UQ6SI55G.js +0 -20
- /package/{backwardForward-JVCBJUNB.mjs.map → backwardForward-AKSQQUMK.js.map} +0 -0
- /package/{backwardForward-S6EQTGNF.js.map → backwardForward-I2YPYTQN.mjs.map} +0 -0
- /package/{chunk-OVFD4ZSZ.js.map → chunk-AAJFAVCG.js.map} +0 -0
- /package/{chunk-U4D24W6G.mjs.map → chunk-AQT5RMZT.mjs.map} +0 -0
- /package/{chunk-PSFUTPZL.js.map → chunk-B2V2GE3A.js.map} +0 -0
- /package/{chunk-DTULH6LM.mjs.map → chunk-CCXRQY2O.mjs.map} +0 -0
- /package/{chunk-XU6CZDDQ.mjs.map → chunk-CNNC7RT3.mjs.map} +0 -0
- /package/{chunk-FFGCWLUG.mjs.map → chunk-CUK6OEZ3.mjs.map} +0 -0
- /package/{chunk-PKMN4PKY.mjs.map → chunk-D3YDEPIF.mjs.map} +0 -0
- /package/{chunk-4ZRQQI4J.js.map → chunk-NLWM4ZIO.js.map} +0 -0
- /package/{chunk-DKZD6A6T.js.map → chunk-TURDIAQ5.js.map} +0 -0
- /package/{chunk-2MCNQMYA.mjs.map → chunk-XXKJEFXQ.mjs.map} +0 -0
- /package/{chunk-FALXBGHM.js.map → chunk-ZGI6I2YZ.js.map} +0 -0
- /package/{chunk-6XDSOKDI.js.map → chunk-ZWJZCG4K.js.map} +0 -0
- /package/{nonStaticVideoTag-BKTB6RO3.mjs.map → nonStaticVideoTag-3MPTK2JX.mjs.map} +0 -0
- /package/{nonStaticVideoTag-LK57TUQP.js.map → nonStaticVideoTag-KJWRKNCR.js.map} +0 -0
- /package/{notActive-RKQWFD7Z.js.map → notActive-O7U5EEL2.js.map} +0 -0
- /package/{notActive-KZ2LFSQN.mjs.map → notActive-RKVMBB4J.mjs.map} +0 -0
- /package/{staticPlayer-7MBJXJI4.js.map → staticPlayer-AVFSMRXH.js.map} +0 -0
- /package/{staticPlayer-ZUUXYRED.mjs.map → staticPlayer-OH7FBCSN.mjs.map} +0 -0
- /package/{staticVideoTag-SHDHPLVX.mjs.map → staticVideoTag-BRXX3THE.mjs.map} +0 -0
- /package/{staticVideoTag-SDCOJKAY.js.map → staticVideoTag-HRY4RUM4.js.map} +0 -0
- /package/{touchVolumeBrightness-2YD5PTMT.mjs.map → touchVolumeBrightness-37MG767B.mjs.map} +0 -0
- /package/{touchVolumeBrightness-OZSS4RKW.js.map → touchVolumeBrightness-RW6IFLE7.js.map} +0 -0
- /package/{videoArea-PHFMP5YR.mjs.map → videoArea-HI3HZ4OB.mjs.map} +0 -0
- /package/{videoArea-PXRP2BFE.js.map → videoArea-T3VNJGPQ.js.map} +0 -0
- /package/{vodPlayer-FNMWOWKL.mjs.map → vodPlayer-IZRY4L5N.mjs.map} +0 -0
- /package/{vodPlayer-UQ6SI55G.js.map → vodPlayer-N5EMWYLQ.js.map} +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkB2V2GE3A_js = require('./chunk-B2V2GE3A.js');
|
|
4
|
+
require('./chunk-TURDIAQ5.js');
|
|
5
|
+
require('./chunk-7U5SWNB7.js');
|
|
6
|
+
require('./chunk-PARGBSKY.js');
|
|
7
|
+
require('./chunk-SPUHJYDE.js');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
module.exports = chunkB2V2GE3A_js.a;
|
|
12
|
+
//# sourceMappingURL=out.js.map
|
|
13
|
+
//# sourceMappingURL=backwardForward-AKSQQUMK.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { a as default } from './chunk-D3YDEPIF.mjs';
|
|
2
|
+
import './chunk-CNNC7RT3.mjs';
|
|
3
|
+
import './chunk-NXOLML6Z.mjs';
|
|
4
|
+
import './chunk-RJCZ5H4S.mjs';
|
|
5
|
+
import './chunk-DBPGS72Q.mjs';
|
|
6
|
+
//# sourceMappingURL=out.js.map
|
|
7
|
+
//# sourceMappingURL=backwardForward-I2YPYTQN.mjs.map
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkSPUHJYDE_js = require('./chunk-SPUHJYDE.js');
|
|
4
|
+
var toolkit = require('@reduxjs/toolkit');
|
|
5
|
+
var reactRedux = require('react-redux');
|
|
6
|
+
var Ve = require('axios');
|
|
7
|
+
|
|
8
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
|
|
10
|
+
var Ve__default = /*#__PURE__*/_interopDefault(Ve);
|
|
11
|
+
|
|
12
|
+
var ne=chunkSPUHJYDE_js.b((ya,ie)=>{chunkSPUHJYDE_js.e();ie.exports={baseUrl:"https://hamrahi.cloud",fluentdUrl:"https://hamrahi.cloud"};});var le={};chunkSPUHJYDE_js.c(le,{isNpmPackage:()=>Re});var Re,ue=chunkSPUHJYDE_js.a(()=>{chunkSPUHJYDE_js.e();Re=!1;});chunkSPUHJYDE_js.e();var E={play:!1,isAutoPlay:!0,duration:0,currentTime:0,qualityLevels:[],manualQuality:void 0,autoQuality:void 0,activeElements:!0,isLoading:!1,isFullScreen:!1,bufferedTimeWidth:0,firstPlay:!0,activePointerProgressBar:!1,delayTurnOffControlbar:!1,canPlayVideo:!1,lock:!1,isEnded:!1,tooltipTime:0},Q=toolkit.createSlice({name:"controller",initialState:E,reducers:{setPlay:(t,e)=>{t.play=e.payload;},setIsAutoPlay:(t,e)=>{t.isAutoPlay=e.payload;},setDuration:(t,e)=>{t.duration=e.payload;},setCurrentTime:(t,e)=>{t.currentTime=e.payload;},setManualQuality:(t,e)=>{t.manualQuality=e.payload;},setAutoQuality:(t,e)=>{t.autoQuality=e.payload;},setQualityLevels:(t,e)=>{t.qualityLevels=e.payload;},setActiveElements:(t,e)=>{t.activeElements=e.payload;},setIsLoading:(t,e)=>{t.isLoading=e.payload;},setIsFullScreen:(t,e)=>{t.isFullScreen=e.payload;},setBufferedTimeWidth:(t,e)=>{t.bufferedTimeWidth=e.payload;},setFirstPlay:(t,e)=>{t.firstPlay=e.payload;},setActivePointerProgressBar:(t,e)=>{t.activePointerProgressBar=e.payload;},setDelayTurnOffControlbar:(t,e)=>{t.delayTurnOffControlbar=e.payload;},setCanPlayVideo:(t,e)=>{t.canPlayVideo=e.payload;},setLock:(t,e)=>{t.lock=e.payload;},setIsEnded:(t,e)=>{t.isEnded=e.payload;},setTooltipTime:(t,e)=>{t.tooltipTime=e.payload;},setClearControllerSlice:()=>E}}),{setPlay:Ee,setIsAutoPlay:Qe,setDuration:Be,setCurrentTime:Oe,setQualityLevels:$e,setAutoQuality:Ke,setActiveElements:qe,setIsLoading:Ce,setIsFullScreen:je,setBufferedTimeWidth:He,setFirstPlay:We,setActivePointerProgressBar:Xe,setDelayTurnOffControlbar:Ye,setManualQuality:Ge,setCanPlayVideo:Je,setLock:Ze,setIsEnded:ze,setTooltipTime:Ne,setClearControllerSlice:B}=Q.actions,O=Q.reducer;chunkSPUHJYDE_js.e();var $={details:{stream_link:"",type:"",banner:"",id:void 0,title:void 0,vtt:void 0,vtt_mobile:void 0,user_id:null,content_id:void 0,content_type:null,duration:0,subtitles:void 0},params:{type:"",id:"",bannerAlt:"",fullscreen:"",autoplay:"",banner:"",provider:"cafevdo",onFinished:void 0,onPlay:void 0,onPause:void 0,playStatus:void 0,currentTime:void 0,daaniHashCode:void 0},markers:[],videoElementSizeInfo:{bottom:0,top:0,right:0,left:0,width:0,height:0},isFetchDetails:!1,isValidAddress:!1,videoTimelines:[],isReady:!1,subtitles:[],selectedSubtitle:void 0,subtitleText:void 0},K=toolkit.createSlice({name:"videoData",initialState:$,reducers:{setInfo:(t,e)=>{t.details=e.payload;},setPlayerParams:(t,e)=>{t.params=e.payload;},setMarkers:(t,e)=>{t.markers=e.payload;},setVideoElementSizeInfo:(t,e)=>{t.videoElementSizeInfo=e.payload;},setIsFetchDetails:(t,e)=>{t.isFetchDetails=e.payload;},setIsValidAddress:(t,e)=>{t.isValidAddress=e.payload;},setVideoTimelines:(t,e)=>{t.videoTimelines=e.payload;},setIsReady:(t,e)=>{t.isReady=e.payload;},setSubtitles:(t,e)=>{t.subtitles=e.payload;},setSelectedSubtitle:(t,e)=>{t.selectedSubtitle=e.payload;},setSubtitleText:(t,e)=>{t.subtitleText=e.payload;},setClearVideoDataSlice:t=>$}}),{setInfo:st,setPlayerParams:ot,setVideoElementSizeInfo:it,setMarkers:nt,setIsFetchDetails:lt,setIsValidAddress:ut,setVideoTimelines:ct,setIsReady:dt,setSubtitles:pt,setSubtitleText:mt,setSelectedSubtitle:yt,setClearVideoDataSlice:q}=K.actions,C=K.reducer;chunkSPUHJYDE_js.e();var j={settings:{quality:-1,brightness:100,volume:100,speed:1},videoSettings:{time:0}},H=toolkit.createSlice({name:"user",initialState:j,reducers:{setUserSettings:(t,e)=>{t.settings=e.payload;},setVideoSettings:(t,e)=>{t.videoSettings=e.payload;},setClearUserSlice:()=>j}}),{setUserSettings:St,setVideoSettings:vt,setClearUserSlice:W}=H.actions,X=H.reducer;chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();var Le={settingPopover:!1,speedPopover:!1,qualityLevelsPopover:!1,markersListPopover:!1},Y=toolkit.createSlice({name:"popover",initialState:Le,reducers:{setSettingPopover:(t,e)=>{t.settingPopover=e.payload;},setSpeedPopover:(t,e)=>{t.speedPopover=e.payload;},setQualityLevelsPopover:(t,e)=>{t.qualityLevelsPopover=e.payload;},setMarkersListPopover:(t,e)=>{t.markersListPopover=e.payload;},setClearPopoversSlice:t=>{t.settingPopover=!1,t.speedPopover=!1,t.qualityLevelsPopover=!1,t.markersListPopover=!1;}}}),{setSettingPopover:Tt,setSpeedPopover:Dt,setQualityLevelsPopover:Mt,setMarkersListPopover:It,setClearPopoversSlice:G}=Y.actions,J=Y.reducer;chunkSPUHJYDE_js.e();var Z={params:{id:"0",type:"",currentTime:0,autoPlay:!1,onClose:()=>{}},details:{},play:!1},z=toolkit.createSlice({name:"user",initialState:Z,reducers:{setMiniPlayerInfo:(t,e)=>{t.params={...e.payload,id:e.payload.type==="static"?window.atob(e.payload.id):e.payload.id,banner:e.payload.banner?e.payload.banner:void 0};},setDetailsMiniPlayer:(t,e)=>{t.details=e.payload;},setPlayMiniPlayer:(t,e)=>{t.play=e.payload;},setClearMiniPlayerSlice:t=>Z}}),{setMiniPlayerInfo:Et,setDetailsMiniPlayer:Qt,setPlayMiniPlayer:Bt,setClearMiniPlayerSlice:Ot}=z.actions,N=z.reducer;var De=toolkit.configureStore({reducer:{controller:O,videoData:C,popovers:J,user:X,miniPlayer:N},devTools:!0,middleware:t=>t({serializableCheck:!1})}),s=De;chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();var c=t=>{let{params:e,details:r,isValidAddress:a,isFetchDetails:i,isReady:n,subtitles:p,selectedSubtitle:l,markers:h}=s.getState().videoData,{firstPlay:m,lock:u,canPlayVideo:d,manualQuality:f,activeElements:S,isLoading:g,isEnded:R,isAutoPlay:de,play:pe,isFullScreen:A}=s.getState().controller,{settingPopover:U,speedPopover:me,qualityLevelsPopover:ye,markersListPopover:ge}=s.getState().popovers,{settings:_}=s.getState().user,L=s.getState().miniPlayer;switch(t){case"showHeader":return !m&&d;case"showMain":return !u||m;case"showFooter":return !m&&d;case"showTouchVolumeBrightness":return !m&&k()&&!u&&!R;case"showBackwardForward":return !m&&v()&&!u;case"showTitle":return e.type!=="static"&&A&&!u;case"showSettingPopover":return U;case"showSpeedPopover":return me;case"showQualityLevelsPopover":return ye;case"showSettingIcon":return e.type!=="static"&&!b()&&!A;case"showBanner":return m&&(r.banner||e.banner);case"showProgressbar":return !b();case"showPictureInPicture":return !b()&&!v();case"showSubtitle":return !!l;case"showMarkerListPopover":return ge;case"hidePopovers":return !U;case"isLandscape":return window.innerHeight<=window.innerWidth;case"isTouchScreen":return v();case"isTouchScreenPortrait":return te();case"isTouchScreenLandscape":return k();case"isActiveElements":return S;case"isPlay":return pe;case"isPlayMiniPlayer":return L.play;case"isFirstPlay":return m;case"isLock":return u;case"isIOS":return b();case"isLoading":return g;case"isStaticFormat":return e.type==="static";case"isEnded":return R;case"isAutoPlay":return de;case"isFullScreen":return A;case"isValidAddress":return a;case"isFetchDetails":return i;case"isAutoQuality":return _.quality===-1;case"isPressKeySpace":return !u;case"isPressKeyI":return !u&&!m;case"isPressKeyF":return !u&&!m;case"isPressKeyS":return !u&&!m;case"isPressKeyArrowRight":return !m&&!u;case"isPressKeyArrowLeft":return !m&&!u;case"isPressKeyM":return !m&&!u;case"isPressKeyC":return !u&&!m&&!!p&&p.length>0;case"isSendTimelineLog":return e.type!=="static";case"isReady":return n;case"isSelectedSubtitle":return !!p&&p.length>0&&l;case"isMiniPlayerAndMainPlayerSame":return e.id===L.params.id;case"hasTitle":return r.title;case"hasBanner":return r.banner;case"hasStreamLink":return r.stream_link;case"hasManualQuality":return f!=null;case"hasSound":return !!_.volume;case"hasAutoPlay":return e.autoplay==="true";case"hasFullScreenParams":return e.fullscreen==="true";case"hasOnFinishedParams":return !!e.onFinished;case"hasSubtitles":return !!p&&p.length>0;case"hasSubtitlesInDetails":return r.subtitles&&r.subtitles.length>0;case"hasActiveCue":return l&&l.activeCues&&l.activeCues.length>0;case"hasOnPlayParams":return !!e.onPlay;case"hasOnPauseParams":return !!e.onPause;case"hasPlayStatusParams":return e.playStatus!==void 0;case"hasMiniPlayer":return L.params.id;case"hasCurrentTimeParams":return e.currentTime!==void 0;case"hasMarkers":return h.length!==0;case"hasSubtitlesInParams":return e.subtitles&&e.subtitles.length;case"hasOnChangeCurrentTime":return !!e.onChangeCurrentTime;case"getDetails":return !!e.type&&e.id;case"getMarkers":return String(e.type)==="vod"&&e.id&&i;case"canPlayVideo":return d;case"setSubtitleFirstPlay":return r.subtitles&&r.subtitles.length>0&&!m&&e.type!=="static";}};var re=t=>new Promise(e=>setTimeout(e,t*1e3)),P=()=>{let t=localStorage.getItem("hamrahiUUID");return t||(t=Me(),localStorage.setItem("hamrahiUUID",t)),t.toString()},Me=()=>{let t="xxxxxxxx-xxxx-Mxxx-Nxxx-x".replace(/[xMN]/g,e=>{let r;return e==="M"?r=Math.floor(1+Math.random()*5):e==="N"?r=Math.floor(8+Math.random()*4):r=Math.floor(Math.random()*16),r.toString(16)});return t+=Date.now().toString(16),t},v=()=>!!window&&"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch,k=()=>{let{isFullScreen:t}=s.getState().controller;return v()&&t},te=()=>{let{isFullScreen:t}=s.getState().controller;return v()&&!t},b=()=>["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,w=t=>(t<10?"0":"")+t,lr=t=>{let e=Math.floor(t/3600),r=Math.floor(t%3600/60),a=Math.floor(t%3600%60);return e<1?`${w(r)}:${w(a)}`:`${w(e)}:${w(r)}:${w(a)}`},ur=t=>{let e=new URL(t),r=t;return e.search.length?r+=`&uuid=${P()}`:r+=`?uuid=${P()}`},cr=(t,e)=>{try{return [t.target.id,t.target.parentNode.id,t.target.parentNode.parentNode.id,t.target.parentNode.parentNode.parentNode.id,t.target.parentNode.parentNode.parentNode.parentNode.id].includes(e)}catch{return !1}},dr=t=>{let e="";t==="mainPlayer"?e=s.getState().videoData.details.stream_link:e=s.getState().miniPlayer.details.stream_link;let r="";return e&&(r=e.split("m3u8")[1]),r?r=`${r}&uuid=${P()}`:r=`?uuid=${P()}`,r},pr=(t,e)=>{let r=document.getElementById(e),a=document.createElement("span");a.style.width=a.style.height="50px",a.style.left=`${t.touches[0].clientX-r.offsetLeft-25}px`,a.style.top=`${t.touches[0].clientY-r.offsetTop-25}px`,a.classList.add("pl-ripple");let i=r.getElementsByClassName("pl-ripple")[0];i&&i.remove(),r.appendChild(a);};var mr=t=>t>=200&&t<300,yr=()=>{let t=s.dispatch;t(q()),t(B()),t(W()),t(G());},gr=t=>{let e,r=[];for(e=0;e<t.length;e++)r[e]=t[e].weight+(r[e-1]||0);let a=Math.random()*r[r.length-1];for(e=0;e<r.length&&!(r[e]>a);e++);return t[e].domain},hr=t=>{let e=0;performance&&performance.getEntriesByType("navigation")&&(e=performance.getEntriesByType("navigation")[0].duration),t.current=e;},Pr=(t,e,r)=>{let a=e*window.devicePixelRatio,i=r*window.devicePixelRatio,n=[];return c("isTouchScreenPortrait")?n=t.filter(p=>Number(p.split("x")[0].trim())<=a):n=t.filter(p=>Number(p.split("x")[0].trim())<=i||Number(p.split("x")[1].trim())<=a),n.indexOf(n[n.length-1])},x=(t,e)=>{let r={};for(let a in t){let i=e?`${e}_${a}`:a;typeof t[a]=="object"&&!Array.isArray(t[a])?r={...r,...x(t[a],i)}:r[i]=t[a];}return r},fr=t=>{let e={fa:1,en:2};return t.slice().sort((r,a)=>{let i=e[r.lang]||999,n=e[a.lang]||999;return i-n})},Sr=t=>{let e;switch(t){case"fa":e="\u0641\u0627\u0631\u0633\u06CC";break;case"en":e="\u0627\u0646\u06AF\u0644\u06CC\u0633\u06CC";break;case"ar":e="\u0639\u0631\u0628\u06CC";break;case"tr":e="\u062A\u0631\u06A9\u06CC";break;}return e};var vr=t=>{if(t){let e=t.offsetLeft-t.offsetWidth/2,r=window.innerWidth-(t.offsetLeft+t.offsetWidth);if(e>=0&&r>=0)return "inViewport";if(e<0)return "OutViewPortFromLeft";if(r<0)return "OutViewPortFromRight"}};chunkSPUHJYDE_js.e();var kr=()=>reactRedux.useDispatch(),xr=reactRedux.useSelector;chunkSPUHJYDE_js.e();var T=()=>document.getElementById("player-tag"),Ir=()=>document.getElementById("mini-player-video-tag"),Fr=()=>document.getElementById("time-progress-bar"),Vr=()=>s.getState().videoData.videoElementSizeInfo.width-2;chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();var $r=t=>{let{params:e,details:r}=s.getState().videoData,{settings:a}=s.getState().user;return {category:"speedChange",previousSelectedSpeed:a.speed,selectedSpeed:t,id:Number(e.id),type:e.type,src:c("hasStreamLink")?r.stream_link:e.id,provider:e.provider}},Kr=t=>{let{params:e,details:r}=s.getState().videoData,{qualityLevels:a,manualQuality:i,autoQuality:n}=s.getState().controller;return {category:"qualityChangeRequest",currentPlayingQuality:`${a[c("isAutoQuality")?n??i:i]}P`,previousSelectedQuality:c("isAutoQuality")?"auto":`${a[i]}P`,selectedQuality:t,id:Number(e.id),type:e.type,src:c("hasStreamLink")?r.stream_link:e.id,provider:e.provider}},qr=t=>{let{params:e,details:r}=s.getState().videoData,{qualityLevels:a,autoQuality:i}=s.getState().controller,{settings:n}=s.getState().user;return {category:"catchUpLoading",previousVideoTime:Number(sessionStorage.getItem("previousVideoTime")),currentVideoTime:T().currentTime,duration:t,quality:`${c("isAutoQuality")?a[i]:a[n.quality]}P`,isAutoQuality:c("isAutoQuality"),id:Number(e.id),type:e.type,src:c("hasStreamLink")?r.stream_link:e.id,provider:e.provider}},Cr=t=>{let{params:e,details:r}=s.getState().videoData;return {category:t==="backward"?"backward":"forward",id:Number(e.id),type:e.type,src:r.stream_link?r.stream_link:e.id,provider:e.provider}},jr=t=>{let{params:e,details:r}=s.getState().videoData;return {category:t,id:Number(e.id),type:e.type,src:c("hasStreamLink")?r.stream_link:e.id}},Hr=(t,e)=>{let{params:r,details:a}=s.getState().videoData;return {category:"brightnessChange",source:t,target:e,id:Number(r.id),type:r.type,src:c("hasStreamLink")?a.stream_link:r.id}},Wr=(t,e)=>{let{params:r,details:a}=s.getState().videoData;return {category:"volumeChange",source:t,target:e,id:Number(r.id),type:r.type,src:c("hasStreamLink")?a.stream_link:r.id}},Xr=t=>{let{params:e,details:r}=s.getState().videoData;return {category:t,id:Number(e.id),type:e.type,src:c("hasStreamLink")?r.stream_link:e.id}},ae=(t,e,r,a)=>({category:"player-error",type:t,message:e,statusCode:r,url:a}),Yr=(t,e)=>{let{params:r,details:a}=s.getState().videoData,{duration:i}=s.getState().controller;return {category:"video-timeline",video_id:+r.id,video_type:r.type,start:t,end:e,watchedDuration:e-t,video_duration:Math.floor(i),clientUUID:P(),user_id:a.user_id,content_type:a.content_type,content_id:a.content_id}},Gr=(t,e,r)=>{let{params:a,details:i}=s.getState().videoData;return {category:"autoQualityChange",sourceQuality:t,targetQuality:e,diffQuality:r,id:Number(a.id),type:a.type,src:c("hasStreamLink")?i.stream_link:a.id,provider:a.provider}},Jr=(t,e)=>{let{params:r,details:a}=s.getState().videoData;return {category:"pingpong",id:Number(r.id),type:r.type,src:c("hasStreamLink")?a.stream_link:r.id,PingPongDuration:Number((new Date().getTime()-t).toFixed(2)),PingPongSourceQuality:`${e[0]}P`,PingPongTargetQuality:`${e[1]}P`,provider:r.provider}},Zr=t=>{let{params:e,details:r}=s.getState().videoData;return {category:t?"playVideo":"pauseVideo",id:Number(e.id),type:e.type,src:r.stream_link?r.stream_link:e.id,provider:e.provider}},zr=(t,e,r,a,i)=>{let{params:n,details:p}=s.getState().videoData,l=Date.now()-i.current+t+e,h=window.performance.memory,m=JSON.parse(JSON.stringify(window.performance.timing));return {category:"initLog",id:Number(n.id),type:n.type,origin:new URL(c("hasStreamLink")?p.stream_link:n.id).origin,src:c("hasStreamLink")?p.stream_link:n.id,loading:t,bannerLoading:!c("hasBanner")||r<0?0:r,waiting:e,firstChunkPlaying:a<0?0:a,totalTime:l,provider:n.provider,performance:x({memory:h,timing:m},"performance"),userAgent:window.navigator.userAgent}},Nr=(t,e,r,a,i)=>{let{params:n,details:p}=s.getState().videoData,{settings:l}=s.getState().user,h=Date.now()-r.current;return {category:"loading",id:Number(n.id),type:n.type,src:c("hasStreamLink")?p.stream_link:n.id,duration:t,quality:`${e}P`,isAutoQuality:c("isAutoQuality"),previousLoaderDiff:h,counter:a.current,loadingPercentile:Number((t/h).toFixed(2)),videoTime:T().currentTime,videoEntranceTime:i,speed:l.speed,provider:n.provider}},ea=t=>{let{params:e,details:r}=s.getState().videoData;return {category:"subtitle",language:t,id:Number(e.id),type:e.type,src:c("hasStreamLink")?r.stream_link:e.id}},ta=(t,e,r,a,i)=>{let{params:n,details:p}=s.getState().videoData;return {category:"eventMarkerClick",video_id:Number(n.id),markerId:t,markerTime:e,markerTitle:r,markerDescription:a,markerSticker:i,type:n.type,src:c("hasStreamLink")?p.stream_link:n.id,provider:n.provider}};var oe=t=>{t&&se(ae(t.type,t.message,t.statusCode,t.url));};var D=async({url:t,method:e="GET",data:r,headers:a,retryCount:i=1,maxRetryCount:n=0,errorMessage:p,retryPolicy:l,errorCallback:h,timeoutCount:m})=>{let u={url:t,method:e,headers:{...a,"Content-Type":"application/json"},timeout:m?m*1e3:void 0};r?e==="GET"?u={...u,params:{uuid:s.getState().videoData.params.uuid,provider:s.getState().videoData.params.provider==="unknown"?void 0:s.getState().videoData.params.provider,...r}}:u={...u,data:{uuid:s.getState().videoData.params.uuid,provider:s.getState().videoData.params.provider==="unknown"?void 0:s.getState().videoData.params.provider,...r}}:e==="GET"?u={...u,params:{uuid:s.getState().videoData.params.uuid,provider:s.getState().videoData.params.provider==="unknown"?void 0:s.getState().videoData.params.provider}}:u={...u,data:{uuid:s.getState().videoData.params.uuid,provider:s.getState().videoData.params.provider==="unknown"?void 0:s.getState().videoData.params.provider}};try{return await Ve__default.default(u)}catch(d){if(oe({type:"API-ERROR",message:d.message?d.message:"",statusCode:d.response&&d.response.status?d.response.status:void 0,url:t}),!(d&&d.response&&d.response.status===401)){h&&h(d.response.status,d.response.message);let f=0,S=0;if(l!==void 0){for(let g=0;g<l.length;g++)if((l[g].codeAbove&&d.response.status>=l[g].codeAbove||l[g].codeBelow&&d.response.status<=l[g].codeBelow)&&(l[g].excludeCodes.length===0||!l[g].excludeCodes.includes(d.response.status))||l[g].includeCodes.length===0||l[g].includeCodes.includes(d.response.status)){S=l[g].count,f=l[g].delay;break}}else S=n,f=i+1;if(i<S)return await re(f),D({url:t,method:e,data:r,headers:a,retryCount:i+1,newMaxRetryCount:S,errorMessage:p,retryPolicy:l,errorCallback:h});if(d.response)return {data:d.response.data?d.response.data:{detail:"\u0639\u0645\u0644\u06CC\u0627\u062A \u0628\u0627 \u062E\u0637\u0627 \u0645\u0648\u0627\u062C\u0647 \u0634\u062F\u0647 \u0627\u0633\u062A."},status:d.response.status}}}};chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();var M=ne(),I=(ue(),chunkSPUHJYDE_js.d(le)),F=()=>(I?M.baseUrl:process.env.baseUrl)+"/live/api",V=()=>I?M.fluentdUrl:process.env.fluentdUrl,Pa=()=>(I?M.baseUrl:process.env.baseUrl)+"/emoji";var ce=()=>({vod:{getVodUrl:`${F()}/v1/live/details/vod/`,getMarkerUrl:t=>`${F()}/v1/live/list-event/vod/${t}/`},videoTimelineLog:`${V()}/video-timeline.log`,logs:`${V()}/cafevideo-endpoint.log`});var se=t=>{let{details:e,params:r}=s.getState().videoData,a={...t,timestamp:Date.now(),clientUUID:P(),uuid:P(),link:window.location.href,user_id:e.user_id,live_id:null,format:void 0,content_type:e.content_type,content_id:e.content_id,daaniHashCode:r.daaniHashCode};D({url:ce().logs,method:"post",data:a});};
|
|
13
|
+
|
|
14
|
+
exports.$ = vr;
|
|
15
|
+
exports.A = yt;
|
|
16
|
+
exports.Aa = oe;
|
|
17
|
+
exports.B = Tt;
|
|
18
|
+
exports.Ba = D;
|
|
19
|
+
exports.C = Dt;
|
|
20
|
+
exports.D = Mt;
|
|
21
|
+
exports.E = It;
|
|
22
|
+
exports.F = G;
|
|
23
|
+
exports.G = St;
|
|
24
|
+
exports.H = vt;
|
|
25
|
+
exports.I = Et;
|
|
26
|
+
exports.J = Qt;
|
|
27
|
+
exports.K = Bt;
|
|
28
|
+
exports.L = Ot;
|
|
29
|
+
exports.M = s;
|
|
30
|
+
exports.N = P;
|
|
31
|
+
exports.O = v;
|
|
32
|
+
exports.P = lr;
|
|
33
|
+
exports.Q = ur;
|
|
34
|
+
exports.R = cr;
|
|
35
|
+
exports.S = dr;
|
|
36
|
+
exports.T = pr;
|
|
37
|
+
exports.U = mr;
|
|
38
|
+
exports.V = yr;
|
|
39
|
+
exports.W = gr;
|
|
40
|
+
exports.X = hr;
|
|
41
|
+
exports.Y = Pr;
|
|
42
|
+
exports.Z = fr;
|
|
43
|
+
exports._ = Sr;
|
|
44
|
+
exports.a = Ee;
|
|
45
|
+
exports.aa = c;
|
|
46
|
+
exports.b = Be;
|
|
47
|
+
exports.ba = kr;
|
|
48
|
+
exports.c = Oe;
|
|
49
|
+
exports.ca = xr;
|
|
50
|
+
exports.d = $e;
|
|
51
|
+
exports.da = T;
|
|
52
|
+
exports.e = Ke;
|
|
53
|
+
exports.ea = Ir;
|
|
54
|
+
exports.f = qe;
|
|
55
|
+
exports.fa = Fr;
|
|
56
|
+
exports.g = Ce;
|
|
57
|
+
exports.ga = Vr;
|
|
58
|
+
exports.h = je;
|
|
59
|
+
exports.ha = Pa;
|
|
60
|
+
exports.i = He;
|
|
61
|
+
exports.ia = ce;
|
|
62
|
+
exports.j = We;
|
|
63
|
+
exports.ja = se;
|
|
64
|
+
exports.k = Xe;
|
|
65
|
+
exports.ka = $r;
|
|
66
|
+
exports.l = Ye;
|
|
67
|
+
exports.la = Kr;
|
|
68
|
+
exports.m = Ge;
|
|
69
|
+
exports.ma = qr;
|
|
70
|
+
exports.n = Je;
|
|
71
|
+
exports.na = Cr;
|
|
72
|
+
exports.o = Ze;
|
|
73
|
+
exports.oa = jr;
|
|
74
|
+
exports.p = ze;
|
|
75
|
+
exports.pa = Hr;
|
|
76
|
+
exports.q = Ne;
|
|
77
|
+
exports.qa = Wr;
|
|
78
|
+
exports.r = st;
|
|
79
|
+
exports.ra = Xr;
|
|
80
|
+
exports.s = ot;
|
|
81
|
+
exports.sa = Yr;
|
|
82
|
+
exports.t = it;
|
|
83
|
+
exports.ta = Gr;
|
|
84
|
+
exports.u = lt;
|
|
85
|
+
exports.ua = Jr;
|
|
86
|
+
exports.v = ut;
|
|
87
|
+
exports.va = Zr;
|
|
88
|
+
exports.w = ct;
|
|
89
|
+
exports.wa = zr;
|
|
90
|
+
exports.x = dt;
|
|
91
|
+
exports.xa = Nr;
|
|
92
|
+
exports.y = pt;
|
|
93
|
+
exports.ya = ea;
|
|
94
|
+
exports.z = mt;
|
|
95
|
+
exports.za = ta;
|
|
96
|
+
//# sourceMappingURL=out.js.map
|
|
97
|
+
//# sourceMappingURL=chunk-7U5SWNB7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/configs/nextConfigs/next.config.js","../src/videoPlayerLibrary/helpers/configs/npmPackage/npmPackage.ts","../src/videoPlayerLibrary/helpers/redux/slices/controllerSlice.ts","../src/videoPlayerLibrary/helpers/redux/slices/videoDataSlice.ts","../src/videoPlayerLibrary/helpers/redux/slices/userSlice.ts","../src/videoPlayerLibrary/helpers/interfaces/enums.ts","../src/videoPlayerLibrary/helpers/redux/store.ts","../src/videoPlayerLibrary/helpers/redux/slices/popoversSlice.ts","../src/videoPlayerLibrary/helpers/redux/slices/miniPlayerSlice.ts","../src/videoPlayerLibrary/helpers/helpers.ts","../src/videoPlayerLibrary/helpers/conditions/conditions.ts","../src/videoPlayerLibrary/helpers/redux/hooks.ts","../src/videoPlayerLibrary/helpers/constants.ts","../src/videoPlayerLibrary/helpers/logs/fluentdLogger.ts","../src/videoPlayerLibrary/helpers/services/apiCaller.ts","../src/videoPlayerLibrary/helpers/errorBoundary/errorBoundaryFunctions.ts","../src/videoPlayerLibrary/helpers/logs/logs.ts","../src/videoPlayerLibrary/helpers/services/services.ts","../src/videoPlayerLibrary/helpers/services/baseUrl.ts"],"names":["require_next_config","__commonJSMin","exports","module","init_cjs_shims","npmPackage_exports","__export","isNpmPackage","init_npmPackage","__esmMin","createSlice","ControllerSliceState","controllerSlice","state","action","setPlay","setIsAutoPlay","setDuration","setCurrentTime","setQualityLevels","setAutoQuality","setActiveElements","setIsLoading","setIsFullScreen","setBufferedTimeWidth","setFirstPlay","setActivePointerProgressBar","setDelayTurnOffControlbar","setManualQuality","setCanPlayVideo","setLock","setIsEnded","setTooltipTime","setClearControllerSlice","controllerSlice_default","VideoDataSliceState","videoDataSlice","setInfo","setPlayerParams","setVideoElementSizeInfo","setMarkers","setIsFetchDetails","setIsValidAddress","setVideoTimelines","setIsReady","setSubtitles","setSubtitleText","setSelectedSubtitle","setClearVideoDataSlice","videoDataSlice_default","UserSliceState","userSlice","setUserSettings","setVideoSettings","setClearUserSlice","userSlice_default","PopOversSliceState","popoversSlice","setSettingPopover","setSpeedPopover","setQualityLevelsPopover","setMarkersListPopover","setClearPopoversSlice","popoversSlice_default","MiniPlayerSliceState","setMiniPlayerInfo","setDetailsMiniPlayer","setPlayMiniPlayer","setClearMiniPlayerSlice","miniPlayerSlice_default","configureStore","store","getDefaultMiddleware","store_default","conditions","type","params","details","isValidAddress","isFetchDetails","isReady","subtitles","selectedSubtitle","markers","firstPlay","lock","canPlayVideo","manualQuality","activeElements","isLoading","isEnded","isAutoPlay","play","isFullScreen","settingPopover","speedPopover","qualityLevelsPopover","markersListPopover","settings","miniPlayer","isTouchScreenLandscape","isTouchScreen","isIOS","isTouchScreenPortrait","wait","s","resolve","getUUID","uuid","uuidGenerator","char","val","addZeroBefore","n","secondsToHMS","seconds","h","m","addUuidToSrc","src","urlObject","urlSrc","checkParentTarget","event","target","splitQueryParamsFromStreamLink","playerType","streamLink","queryParams","handleRippleCircle","id","element","circle","ripple","responseValidator","status","clearRedux","dispatch","weighted_random","options","i","weights","random","handlePageLoadTime","loadingDurationRef","pageLoadTime","highestResolutionSupported","resolutions","width","height","w","filteredResolutions","resolution","flattenObject","input","keyName","result","key","newKey","sortLanguages","array","priority","a","b","prioA","prioB","getSubtitleLabel","subtitleLanguage","label","inViewPort","positionLeft","positionRight","useDispatch","useSelector","useAppDispatch","useAppSelector","mainPlayerVideoTag","miniPlayerVideoTag","progressBar","progressBarWidth","axios","speedChangeLog","selectedSpeed","qualityChangeRequestLog","selectedQuality","qualityLevels","autoQuality","catchUpLoadingLog","duration","backwardForwardLog","fullscreenLog","category","brightnessLog","source","volumeLog","lockLog","ExceptionsLog","message","statusCode","url","videoTimelineLog","start","end","autoQualityChangeLog","sourceQuality","targetQuality","diffQuality","pingpongLog","startTimer","qualityHistory","pausePlayLog","isPlay","initLog","loadingTime","waitingTime","bannerLoadingTime","firstChunkPlayingTime","timerRef","totalTime","memory","timing","loadingLog","waitingDuration","qualityLevel","loadingCounterRef","videoEntranceTime","previousLoaderDiff","subtitleLog","language","eventMarkerClickLog","markerId","markerTime","markerTitle","markerDescription","markerSticker","errorLogProvider","data","sendFluentLog","apiCaller","method","headers","retryCount","maxRetryCount","errorMessage","retryPolicy","errorCallback","timeoutCount","axiosConfig","error","newRetryDelay","newMaxRetryCount","envs","getRestApiLiveUrl","getFluentdUrl","getEmojiUrl","API","videoId","_data"],"mappings":"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","sourcesContent":["module.exports = {\r\n baseUrl: \"https://hamrahi.cloud\",\r\n fluentdUrl: \"https://hamrahi.cloud\",\r\n};\r\n","export const isNpmPackage = false;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport { IControllerSlice } from \"../../interfaces/interfaces\";\r\n\r\nconst ControllerSliceState: IControllerSlice = {\r\n play: false,\r\n isAutoPlay: true,\r\n duration: 0,\r\n currentTime: 0,\r\n qualityLevels: [],\r\n manualQuality: undefined,\r\n autoQuality: undefined,\r\n activeElements: true,\r\n isLoading: false,\r\n isFullScreen: false,\r\n bufferedTimeWidth: 0,\r\n firstPlay: true,\r\n activePointerProgressBar: false,\r\n delayTurnOffControlbar: false,\r\n canPlayVideo: false,\r\n lock: false,\r\n isEnded: false,\r\n tooltipTime: 0,\r\n};\r\n\r\nexport const controllerSlice = createSlice({\r\n name: \"controller\",\r\n initialState: ControllerSliceState,\r\n reducers: {\r\n setPlay: (state, action: PayloadAction<boolean>) => {\r\n state.play = action.payload;\r\n },\r\n setIsAutoPlay: (state, action: PayloadAction<boolean>) => {\r\n state.isAutoPlay = action.payload;\r\n },\r\n setDuration: (state, action: PayloadAction<number>) => {\r\n state.duration = action.payload;\r\n },\r\n setCurrentTime: (state, action: PayloadAction<number>) => {\r\n state.currentTime = action.payload;\r\n },\r\n setManualQuality: (state, action: PayloadAction<number | undefined>) => {\r\n state.manualQuality = action.payload;\r\n },\r\n setAutoQuality: (state, action: PayloadAction<number | undefined>) => {\r\n state.autoQuality = action.payload;\r\n },\r\n setQualityLevels: (state, action: PayloadAction<any[]>) => {\r\n state.qualityLevels = action.payload;\r\n },\r\n setActiveElements: (state, action: PayloadAction<boolean>) => {\r\n state.activeElements = action.payload;\r\n },\r\n setIsLoading: (state, action: PayloadAction<boolean>) => {\r\n state.isLoading = action.payload;\r\n },\r\n setIsFullScreen: (state, action: PayloadAction<boolean>) => {\r\n state.isFullScreen = action.payload;\r\n },\r\n setBufferedTimeWidth: (state, action: PayloadAction<number>) => {\r\n state.bufferedTimeWidth = action.payload;\r\n },\r\n setFirstPlay: (state, action: PayloadAction<boolean>) => {\r\n state.firstPlay = action.payload;\r\n },\r\n setActivePointerProgressBar: (state, action: PayloadAction<boolean>) => {\r\n state.activePointerProgressBar = action.payload;\r\n },\r\n setDelayTurnOffControlbar: (state, action: PayloadAction<boolean>) => {\r\n state.delayTurnOffControlbar = action.payload;\r\n },\r\n setCanPlayVideo: (state, action: PayloadAction<boolean>) => {\r\n state.canPlayVideo = action.payload;\r\n },\r\n setLock: (state, action: PayloadAction<boolean>) => {\r\n state.lock = action.payload;\r\n },\r\n setIsEnded: (state, action: PayloadAction<boolean>) => {\r\n state.isEnded = action.payload;\r\n },\r\n setTooltipTime: (state, action: PayloadAction<number>) => {\r\n state.tooltipTime = action.payload;\r\n },\r\n setClearControllerSlice: () => {\r\n return ControllerSliceState;\r\n }\r\n }\r\n});\r\n\r\nexport const {\r\n setPlay,\r\n setIsAutoPlay,\r\n setDuration,\r\n setCurrentTime,\r\n setQualityLevels,\r\n setAutoQuality,\r\n setActiveElements,\r\n setIsLoading,\r\n setIsFullScreen,\r\n setBufferedTimeWidth,\r\n setFirstPlay,\r\n setActivePointerProgressBar,\r\n setDelayTurnOffControlbar,\r\n setManualQuality,\r\n setCanPlayVideo,\r\n setLock,\r\n setIsEnded,\r\n setTooltipTime,\r\n setClearControllerSlice,\r\n} = controllerSlice.actions;\r\nexport default controllerSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport { IVideoElementSizeInfo, IDetails, IVideoDataSlice, IParams, IMarker } from \"../../interfaces/interfaces\";\r\n\r\nexport const VideoDataSliceState: IVideoDataSlice = {\r\n details: {\r\n stream_link: \"\",\r\n type: \"\",\r\n banner: \"\",\r\n id: undefined,\r\n title: undefined,\r\n vtt: undefined,\r\n vtt_mobile: undefined,\r\n user_id: null,\r\n content_id: undefined,\r\n content_type: null,\r\n duration: 0,\r\n subtitles: undefined,\r\n },\r\n params: {\r\n type: \"\",\r\n id: \"\",\r\n bannerAlt: \"\",\r\n fullscreen: \"\",\r\n autoplay: \"\",\r\n banner: \"\",\r\n provider: \"cafevdo\",\r\n onFinished: undefined,\r\n onPlay: undefined,\r\n onPause: undefined,\r\n playStatus: undefined,\r\n currentTime: undefined,\r\n daaniHashCode: undefined\r\n },\r\n markers: [],\r\n videoElementSizeInfo: {\r\n bottom: 0,\r\n top: 0,\r\n right: 0,\r\n left: 0,\r\n width: 0,\r\n height: 0\r\n },\r\n isFetchDetails: false,\r\n isValidAddress: false,\r\n videoTimelines: [],\r\n isReady: false,\r\n subtitles: [],\r\n selectedSubtitle: undefined,\r\n subtitleText: undefined,\r\n};\r\n\r\nexport const videoDataSlice = createSlice({\r\n name: \"videoData\",\r\n initialState: VideoDataSliceState,\r\n reducers: {\r\n setInfo: (state, action: PayloadAction<IDetails>) => {\r\n state.details = action.payload;\r\n },\r\n setPlayerParams: (state, action: PayloadAction<IParams>) => {\r\n state.params = action.payload;\r\n },\r\n setMarkers: (state, action: PayloadAction<IMarker[]>) => {\r\n state.markers = action.payload;\r\n },\r\n setVideoElementSizeInfo: (state, action: PayloadAction<IVideoElementSizeInfo>) => {\r\n state.videoElementSizeInfo = action.payload;\r\n },\r\n setIsFetchDetails: (state, action: PayloadAction<boolean>) => {\r\n state.isFetchDetails = action.payload;\r\n },\r\n setIsValidAddress: (state, action: PayloadAction<boolean>) => {\r\n state.isValidAddress = action.payload;\r\n },\r\n setVideoTimelines: (state, action: PayloadAction<number[]>) => {\r\n state.videoTimelines = action.payload;\r\n },\r\n setIsReady: (state, action: PayloadAction<boolean>) => {\r\n state.isReady = action.payload;\r\n },\r\n setSubtitles: (state, action: PayloadAction<TextTrack[]>) => {\r\n state.subtitles = action.payload;\r\n },\r\n setSelectedSubtitle: (state, action: PayloadAction<any>) => {\r\n state.selectedSubtitle = action.payload;\r\n },\r\n setSubtitleText: (state, action: PayloadAction<string>) => {\r\n state.subtitleText = action.payload;\r\n },\r\n setClearVideoDataSlice: (state) => {\r\n return (state = VideoDataSliceState);\r\n }\r\n }\r\n});\r\n\r\nexport const {\r\n setInfo,\r\n setPlayerParams,\r\n setVideoElementSizeInfo,\r\n setMarkers,\r\n setIsFetchDetails,\r\n setIsValidAddress,\r\n setVideoTimelines,\r\n setIsReady,\r\n setSubtitles,\r\n setSubtitleText,\r\n setSelectedSubtitle,\r\n setClearVideoDataSlice\r\n} = videoDataSlice.actions;\r\nexport default videoDataSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport { IUserSettings, IUserSlice, IVideoSettings } from \"../../interfaces/interfaces\";\r\n\r\nconst UserSliceState: IUserSlice = {\r\n settings: {\r\n quality: -1,\r\n brightness: 100,\r\n volume: 100,\r\n speed: 1,\r\n },\r\n videoSettings: {\r\n time: 0\r\n },\r\n};\r\n\r\nexport const userSlice = createSlice({\r\n name: \"user\",\r\n initialState: UserSliceState,\r\n reducers: {\r\n setUserSettings: (state, action: PayloadAction<IUserSettings>) => {\r\n state.settings = action.payload;\r\n },\r\n setVideoSettings: (state, action: PayloadAction<IVideoSettings>) => {\r\n state.videoSettings = action.payload;\r\n },\r\n setClearUserSlice: () => {\r\n return UserSliceState;\r\n }\r\n }\r\n});\r\n\r\nexport const {\r\n setUserSettings,\r\n setVideoSettings,\r\n setClearUserSlice\r\n} = userSlice.actions;\r\n\r\nexport default userSlice.reducer;\r\n","export const enum zIndex {\r\n vttDisable = -2,\r\n backwardForwardInActive = 1,\r\n videoPlayer,\r\n mainIcons,\r\n footer,\r\n vtt,\r\n markers,\r\n videoPlayerInFullScreen = 1000000,\r\n popoverBlurBackground,\r\n backwardForwardActive,\r\n miniPlayer,\r\n popoverContent,\r\n maxPopover,\r\n videoPlayerInPictureInPicture,\r\n}\r\n\r\nexport const enum SettingSections {\r\n main = \"main\",\r\n qualityLevels = \"qualityLevels\",\r\n speed = \"speed\",\r\n subtitles = \"subtitles\"\r\n}\r\n\r\nexport const enum PlayerTypes {\r\n static = \"static\",\r\n vod = \"vod\"\r\n}\r\n\r\nexport const enum ConditionName {\r\n showHeader = \"showHeader\",\r\n showMain = \"showMain\",\r\n showFooter = \"showFooter\",\r\n showTouchVolumeBrightness = \"showTouchVolumeBrightness\",\r\n showBackwardForward = \"showBackwardForward\",\r\n showTitle = \"showTitle\",\r\n showSettingPopover = \"showSettingPopover\",\r\n showSpeedPopover = \"showSpeedPopover\",\r\n showQualityLevelsPopover = \"showQualityLevelsPopover\",\r\n showSettingIcon = \"showSettingIcon\",\r\n showBanner = \"showBanner\",\r\n showProgressbar = \"showProgressbar\",\r\n showPictureInPicture = \"showPictureInPicture\",\r\n showSubtitle = \"showSubtitle\",\r\n showMarkerListPopover = \"showMarkerListPopover\",\r\n hidePopovers = \"hidePopovers\",\r\n isLandscape = \"isLandscape\",\r\n isTouchScreen = \"isTouchScreen\",\r\n isTouchScreenPortrait = \"isTouchScreenPortrait\",\r\n isTouchScreenLandscape = \"isTouchScreenLandscape\",\r\n isActiveElements = \"isActiveElements\",\r\n isPlay = \"isPlay\",\r\n isPlayMiniPlayer = \"isPlayMiniPlayer\",\r\n isFirstPlay = \"isFirstPlay\",\r\n isLock = \"isLock\",\r\n isIOS = \"isIOS\",\r\n isLoading = \"isLoading\",\r\n isStaticFormat = \"isStaticFormat\",\r\n isEnded = \"isEnded\",\r\n isAutoPlay = \"isAutoPlay\",\r\n isFullScreen = \"isFullScreen\",\r\n isValidAddress = \"isValidAddress\",\r\n isFetchDetails = \"isFetchDetails\",\r\n isAutoQuality = \"isAutoQuality\",\r\n isPressKeySpace = \"isPressKeySpace\",\r\n isPressKeyI = \"isPressKeyI\",\r\n isPressKeyF = \"isPressKeyF\",\r\n isPressKeyS = \"isPressKeyS\",\r\n isPressKeyArrowRight = \"isPressKeyArrowRight\",\r\n isPressKeyArrowLeft = \"isPressKeyArrowLeft\",\r\n isPressKeyM = \"isPressKeyM\",\r\n isPressKeyC = \"isPressKeyC\",\r\n isSendTimelineLog = \"isSendTimelineLog\",\r\n isReady = \"isReady\",\r\n isSelectedSubtitle = \"isSelectedSubtitle\",\r\n isMiniPlayerAndMainPlayerSame = \"isMiniPlayerAndMainPlayerSame\",\r\n hasTitle = \"hasTitle\",\r\n hasBanner = \"hasBanner\",\r\n hasStreamLink = \"hasStreamLink\",\r\n hasManualQuality = \"hasManualQuality\",\r\n hasSound = \"hasSound\",\r\n hasAutoPlay = \"hasAutoPlay\",\r\n hasFullScreenParams = \"hasFullScreenParams\",\r\n hasOnFinishedParams = \"hasOnFinishedParams\",\r\n hasSubtitles = \"hasSubtitles\",\r\n hasSubtitlesInDetails = \"hasSubtitlesInDetails\",\r\n hasActiveCue = \"hasActiveCue\",\r\n hasOnPlayParams = \"hasOnPlayParams\",\r\n hasOnPauseParams = \"hasOnPauseParams\",\r\n hasPlayStatusParams = \"hasPlayStatusParams\",\r\n hasMiniPlayer = \"hasMiniPlayer\",\r\n hasCurrentTimeParams = \"hasCurrentTimeParams\",\r\n hasMarkers = \"hasMarkers\",\r\n hasSubtitlesInParams = \"hasSubtitlesInParams\",\r\n hasOnChangeCurrentTime = \"hasOnChangeCurrentTime\",\r\n getDetails = \"getDetails\",\r\n getMarkers = \"getMarkers\",\r\n canPlayVideo = \"canPlayVideo\",\r\n setSubtitleFirstPlay = \"setSubtitleFirstPlay\"\r\n}","import controllerReducer from \"./slices/controllerSlice\";\r\nimport videoDataReducer from \"./slices/videoDataSlice\";\r\nimport popoversReducer from \"./slices/popoversSlice\";\r\nimport userReducer from \"./slices/userSlice\";\r\nimport miniPlayerReducer from \"./slices/miniPlayerSlice\";\r\n\r\nimport { configureStore } from \"@reduxjs/toolkit\";\r\n\r\nconst store = configureStore({\r\n reducer: {\r\n controller: controllerReducer,\r\n videoData: videoDataReducer,\r\n popovers: popoversReducer,\r\n user: userReducer,\r\n miniPlayer: miniPlayerReducer,\r\n },\r\n devTools: true,\r\n middleware: (getDefaultMiddleware) => getDefaultMiddleware({ serializableCheck: false })\r\n});\r\n\r\nexport type RootState = ReturnType<typeof store.getState>;\r\nexport type AppDispatch = typeof store.dispatch;\r\nexport default store;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport { IPopoversSlice } from \"../../interfaces/interfaces\";\r\n\r\nconst PopOversSliceState: IPopoversSlice = {\r\n settingPopover: false,\r\n speedPopover: false,\r\n qualityLevelsPopover: false,\r\n markersListPopover: false\r\n};\r\nexport const popoversSlice = createSlice({\r\n name: \"popover\",\r\n initialState: PopOversSliceState,\r\n reducers: {\r\n setSettingPopover: (state, action: PayloadAction<boolean>) => {\r\n state.settingPopover = action.payload;\r\n },\r\n setSpeedPopover: (state, action: PayloadAction<boolean>) => {\r\n state.speedPopover = action.payload;\r\n },\r\n setQualityLevelsPopover: (state, action: PayloadAction<boolean>) => {\r\n state.qualityLevelsPopover = action.payload;\r\n },\r\n setMarkersListPopover: (state, action: PayloadAction<boolean>) => {\r\n state.markersListPopover = action.payload;\r\n },\r\n setClearPopoversSlice: (state) => {\r\n state.settingPopover = false;\r\n state.speedPopover = false;\r\n state.qualityLevelsPopover = false;\r\n state.markersListPopover = false;\r\n }\r\n }\r\n});\r\n\r\nexport const {\r\n setSettingPopover,\r\n setSpeedPopover,\r\n setQualityLevelsPopover,\r\n setMarkersListPopover,\r\n setClearPopoversSlice\r\n} = popoversSlice.actions;\r\n\r\nexport default popoversSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport {\r\n IDetails,\r\n IMiniPlayerParams,\r\n IMiniPlayerSlice,\r\n} from \"../../interfaces/interfaces\";\r\nimport { PlayerTypes } from \"../../interfaces/enums\";\r\n\r\nconst MiniPlayerSliceState: IMiniPlayerSlice = {\r\n params: {\r\n id: \"0\",\r\n type: \"\",\r\n currentTime: 0,\r\n autoPlay: false,\r\n onClose: () => {},\r\n },\r\n details: {},\r\n play: false,\r\n};\r\n\r\nexport const userSlice = createSlice({\r\n name: \"user\",\r\n initialState: MiniPlayerSliceState,\r\n reducers: {\r\n setMiniPlayerInfo: (state, action: PayloadAction<IMiniPlayerParams>) => {\r\n state.params = {\r\n ...action.payload,\r\n id:\r\n action.payload.type === PlayerTypes.static\r\n ? window.atob(action.payload.id)\r\n : action.payload.id,\r\n banner: action.payload.banner ? action.payload.banner : undefined,\r\n };\r\n },\r\n setDetailsMiniPlayer: (state, action: PayloadAction<IDetails>) => {\r\n state.details = action.payload;\r\n },\r\n setPlayMiniPlayer: (state, action: PayloadAction<boolean>) => {\r\n state.play = action.payload;\r\n },\r\n setClearMiniPlayerSlice: (state) => {\r\n return (state = MiniPlayerSliceState);\r\n },\r\n },\r\n});\r\n\r\nexport const {\r\n setMiniPlayerInfo,\r\n setDetailsMiniPlayer,\r\n setPlayMiniPlayer,\r\n setClearMiniPlayerSlice,\r\n} = userSlice.actions;\r\n\r\nexport default userSlice.reducer;\r\n","import { conditions } from \"./conditions/conditions\";\r\nimport { ConditionName } from \"./interfaces/enums\";\r\nimport store from \"./redux/store\";\r\nimport { setClearVideoDataSlice } from \"./redux/slices/videoDataSlice\";\r\nimport { setClearControllerSlice } from \"./redux/slices/controllerSlice\";\r\nimport { setClearUserSlice } from \"./redux/slices/userSlice\";\r\nimport { setClearPopoversSlice } from \"./redux/slices/popoversSlice\";\r\n\r\nexport const wait = (s: number) => new Promise((resolve) => setTimeout(resolve, s * 1000));\r\n\r\nexport const getUUID = () => {\r\n let uuid = localStorage.getItem(\"hamrahiUUID\");\r\n if (!uuid) {\r\n uuid = uuidGenerator();\r\n localStorage.setItem(\"hamrahiUUID\", uuid);\r\n }\r\n return uuid.toString();\r\n};\r\n\r\nexport const uuidGenerator = () => {\r\n let uuid = \"xxxxxxxx-xxxx-Mxxx-Nxxx-x\".replace(/[xMN]/g, (char) => {\r\n let val: number;\r\n if (char === \"M\") val = Math.floor(1 + Math.random() * 5);\r\n else if (char === \"N\") val = Math.floor(8 + Math.random() * 4);\r\n else val = Math.floor(Math.random() * 16);\r\n return val.toString(16);\r\n });\r\n uuid += Date.now().toString(16);\r\n return uuid;\r\n};\r\n\r\nexport const isTouchScreen = () =>\r\n (!!window && \"ontouchstart\" in window) || ((window as any)[\"DocumentTouch\"] && document instanceof (window as any)[\"DocumentTouch\"]);\r\nexport const isTouchScreenLandscape = () => {\r\n const { isFullScreen } = store.getState().controller;\r\n return isTouchScreen() && isFullScreen;\r\n};\r\nexport const isTouchScreenPortrait = () => {\r\n const { isFullScreen } = store.getState().controller;\r\n return isTouchScreen() && !isFullScreen;\r\n};\r\n\r\nexport const isIOS = () => {\r\n return (\r\n [\"iPad Simulator\", \"iPhone Simulator\", \"iPod Simulator\", \"iPad\", \"iPhone\", \"iPod\"].includes(navigator.platform) ||\r\n // iPad on iOS 13 detection\r\n (navigator.userAgent.includes(\"Mac\") && \"ontouchend\" in document)\r\n );\r\n};\r\n\r\nexport const addZeroBefore = (n: number) => {\r\n return (n < 10 ? \"0\" : \"\") + n;\r\n};\r\n\r\nexport const secondsToHMS = (seconds: number) => {\r\n const h = Math.floor(seconds / 3600);\r\n const m = Math.floor((seconds % 3600) / 60);\r\n const s = Math.floor((seconds % 3600) % 60);\r\n return h < 1 ? `${addZeroBefore(m)}:${addZeroBefore(s)}` : `${addZeroBefore(h)}:${addZeroBefore(m)}:${addZeroBefore(s)}`;\r\n};\r\n\r\nexport const addUuidToSrc = (src: string) => {\r\n const urlObject = new URL(src);\r\n let urlSrc = src;\r\n if (urlObject.search.length) return (urlSrc += `&uuid=${getUUID()}`);\r\n else return (urlSrc += `?uuid=${getUUID()}`);\r\n};\r\n\r\nexport const checkParentTarget = (event: any, target: string) => {\r\n try {\r\n return [\r\n event.target.id,\r\n event.target.parentNode.id,\r\n event.target.parentNode.parentNode.id,\r\n event.target.parentNode.parentNode.parentNode.id,\r\n event.target.parentNode.parentNode.parentNode.parentNode.id,\r\n ].includes(target);\r\n } catch (error) {\r\n return false;\r\n }\r\n};\r\n\r\nexport const splitQueryParamsFromStreamLink = (playerType: \"mainPlayer\" | \"miniPlayer\") => {\r\n let streamLink = \"\";\r\n if (playerType === \"mainPlayer\") streamLink = store.getState().videoData.details.stream_link!;\r\n else streamLink = store.getState().miniPlayer.details.stream_link!;\r\n let queryParams: string = \"\";\r\n if (streamLink) queryParams = streamLink.split(\"m3u8\")[1];\r\n if (queryParams) queryParams = `${queryParams}&uuid=${getUUID()}`;\r\n else queryParams = `?uuid=${getUUID()}`;\r\n return queryParams;\r\n};\r\n\r\nexport const handleRippleCircle = (event: any, id: string) => {\r\n const element: any = document.getElementById(id);\r\n const circle = document.createElement(\"span\");\r\n circle.style.width = circle.style.height = `50px`;\r\n circle.style.left = `${event.touches[0].clientX - element.offsetLeft - 25}px`;\r\n circle.style.top = `${event.touches[0].clientY - element.offsetTop - 25}px`;\r\n circle.classList.add(\"pl-ripple\");\r\n const ripple = element.getElementsByClassName(\"pl-ripple\")[0];\r\n if (ripple) ripple.remove();\r\n element.appendChild(circle);\r\n};\r\n\r\nexport const handleRipple = (event: any, id: string, size: number = 50) => {\r\n const clientX = event.clientX !== undefined ? event.clientX : event.touches[0].clientX;\r\n const clientY = event.clientY !== undefined ? event.clientY : event.touches[0].clientY;\r\n const element: any = document.getElementById(id);\r\n const circle = document.createElement(\"span\");\r\n circle.style.width = circle.style.height = `${size}px`;\r\n circle.style.left = `${clientX - size / 2}px`;\r\n circle.style.top = `${clientY - element.getBoundingClientRect().top - size / 2}px`;\r\n circle.classList.add(\"pl-ripple\");\r\n const ripple = element.getElementsByClassName(\"pl-ripple\")[0];\r\n if (ripple) ripple.remove();\r\n element.appendChild(circle);\r\n};\r\n\r\nexport const responseValidator = (status: number): boolean => status >= 200 && status < 300;\r\n\r\nexport const clearRedux = () => {\r\n const dispatch = store.dispatch;\r\n dispatch(setClearVideoDataSlice());\r\n dispatch(setClearControllerSlice());\r\n dispatch(setClearUserSlice());\r\n dispatch(setClearPopoversSlice());\r\n};\r\n\r\nexport const weighted_random = (options: any) => {\r\n let i;\r\n\r\n let weights: any[] = [];\r\n\r\n for (i = 0; i < options.length; i++) weights[i] = options[i].weight + (weights[i - 1] || 0);\r\n\r\n let random = Math.random() * weights[weights.length - 1];\r\n\r\n for (i = 0; i < weights.length; i++) if (weights[i] > random) break;\r\n\r\n return options[i].domain;\r\n};\r\n\r\n// ***** Player Core *****\r\n\r\nexport const handlePageLoadTime = (loadingDurationRef: any) => {\r\n let pageLoadTime = 0;\r\n if (performance && performance.getEntriesByType(\"navigation\")) pageLoadTime = performance.getEntriesByType(\"navigation\")[0].duration;\r\n loadingDurationRef.current = pageLoadTime;\r\n};\r\n\r\nexport const highestResolutionSupported = (resolutions: string[], width: number, height: number) => {\r\n const w = width * window.devicePixelRatio;\r\n const h = height * window.devicePixelRatio;\r\n let filteredResolutions: string[] = [];\r\n if (conditions(ConditionName.isTouchScreenPortrait))\r\n filteredResolutions = resolutions.filter((resolution: string) => Number(resolution.split(\"x\")[0].trim()) <= w);\r\n else\r\n filteredResolutions = resolutions.filter(\r\n (resolution: string) => Number(resolution.split(\"x\")[0].trim()) <= h || Number(resolution.split(\"x\")[1].trim()) <= w\r\n );\r\n return filteredResolutions.indexOf(filteredResolutions[filteredResolutions.length - 1]);\r\n};\r\n\r\nexport const flattenObject = (input: any, keyName?: string) => {\r\n let result: any = {};\r\n for (const key in input) {\r\n const newKey = keyName ? `${keyName}_${key}` : key;\r\n if (typeof input[key] === \"object\" && !Array.isArray(input[key])) result = { ...result, ...flattenObject(input[key], newKey) };\r\n else result[newKey] = input[key];\r\n }\r\n return result;\r\n};\r\n\r\nexport const sortLanguages = (array: any) => {\r\n const priority: any = { fa: 1, en: 2 };\r\n\r\n return array.slice().sort((a: any, b: any) => {\r\n const prioA = priority[a.lang] || 999;\r\n const prioB = priority[b.lang] || 999;\r\n\r\n return prioA - prioB;\r\n });\r\n};\r\n\r\nexport const getSubtitleLabel = (subtitleLanguage: string) => {\r\n let label;\r\n switch (subtitleLanguage) {\r\n case \"fa\":\r\n label = \"فارسی\";\r\n break;\r\n case \"en\":\r\n label = \"انگلیسی\";\r\n break;\r\n case \"ar\":\r\n label = \"عربی\";\r\n break;\r\n case \"tr\":\r\n label = \"ترکی\";\r\n break;\r\n default:\r\n break;\r\n }\r\n return label;\r\n};\r\n\r\nexport const spliteStringPerLine = (str: string) => str.split(/\\r?\\n|\\r|\\n/g);\r\n\r\nexport const inViewPort = (element: any) => {\r\n if (element) {\r\n const positionLeft = element.offsetLeft - element.offsetWidth / 2;\r\n const positionRight = window.innerWidth - (element.offsetLeft + element.offsetWidth);\r\n if (positionLeft >= 0 && positionRight >= 0) return \"inViewport\";\r\n else if (positionLeft < 0) return \"OutViewPortFromLeft\";\r\n else if (positionRight < 0) return \"OutViewPortFromRight\";\r\n }\r\n};\r\n\r\nexport const compare = (a: any, b: any) => {\r\n if (a.time < b.time) return -1;\r\n if (a.time > b.time) return 1;\r\n return 0;\r\n};\r\n\r\nexport const cleanVTT = (vttText: string) => {\r\n // Remove all timestamps and alignment/position data\r\n vttText = vttText.replace(/\\d{2}:\\d{2}:\\d{2}\\.\\d{3} --> \\d{2}:\\d{2}:\\d{2}\\.\\d{3}.*\\n/g, \"\");\r\n\r\n // Remove all HTML tags like <c> and </c>\r\n vttText = vttText.replace(/<[^>]+>/g, \"\");\r\n\r\n // Remove extra blank lines\r\n vttText = vttText.replace(/\\n+/g, \"\\n\");\r\n\r\n // Trim leading and trailing whitespace\r\n vttText = vttText.trim();\r\n\r\n return vttText;\r\n};\r\n","import {\r\n isIOS,\r\n isTouchScreen,\r\n isTouchScreenLandscape,\r\n isTouchScreenPortrait,\r\n} from \"../helpers\";\r\nimport { ConditionName, PlayerTypes } from \"../interfaces/enums\";\r\nimport store from \"../redux/store\";\r\n\r\nexport const conditions = (type: string) => {\r\n const {\r\n params,\r\n details,\r\n isValidAddress,\r\n isFetchDetails,\r\n isReady,\r\n subtitles,\r\n selectedSubtitle,\r\n markers\r\n } = store.getState().videoData;\r\n const {\r\n firstPlay,\r\n lock,\r\n canPlayVideo,\r\n manualQuality,\r\n activeElements,\r\n isLoading,\r\n isEnded,\r\n isAutoPlay,\r\n play,\r\n isFullScreen,\r\n } = store.getState().controller;\r\n const { settingPopover, speedPopover, qualityLevelsPopover, markersListPopover } =\r\n store.getState().popovers;\r\n const { settings } = store.getState().user;\r\n const miniPlayer = store.getState().miniPlayer;\r\n\r\n switch (type) {\r\n case ConditionName.showHeader:\r\n return !firstPlay && canPlayVideo;\r\n case ConditionName.showMain:\r\n return !lock || firstPlay;\r\n case ConditionName.showFooter:\r\n return !firstPlay && canPlayVideo;\r\n case ConditionName.showTouchVolumeBrightness:\r\n return !firstPlay && isTouchScreenLandscape() && !lock && !isEnded;\r\n case ConditionName.showBackwardForward:\r\n return !firstPlay && isTouchScreen() && !lock;\r\n case ConditionName.showTitle:\r\n return params.type !== \"static\" && isFullScreen && !lock;\r\n case ConditionName.showSettingPopover:\r\n return settingPopover;\r\n case ConditionName.showSpeedPopover:\r\n return speedPopover;\r\n case ConditionName.showQualityLevelsPopover:\r\n return qualityLevelsPopover;\r\n case ConditionName.showSettingIcon:\r\n return params.type !== \"static\" && !isIOS() && !isFullScreen;\r\n case ConditionName.showBanner:\r\n return firstPlay && (details.banner || params.banner);\r\n case ConditionName.showProgressbar:\r\n return !isIOS();\r\n case ConditionName.showPictureInPicture:\r\n return !isIOS() && !isTouchScreen();\r\n case ConditionName.showSubtitle:\r\n return !!selectedSubtitle;\r\n case ConditionName.showMarkerListPopover:\r\n return markersListPopover;\r\n case ConditionName.hidePopovers:\r\n return !settingPopover;\r\n case ConditionName.isLandscape:\r\n return window.innerHeight <= window.innerWidth;\r\n case ConditionName.isTouchScreen:\r\n return isTouchScreen();\r\n case ConditionName.isTouchScreenPortrait:\r\n return isTouchScreenPortrait();\r\n case ConditionName.isTouchScreenLandscape:\r\n return isTouchScreenLandscape();\r\n case ConditionName.isActiveElements:\r\n return activeElements;\r\n case ConditionName.isPlay:\r\n return play;\r\n case ConditionName.isPlayMiniPlayer:\r\n return miniPlayer.play;\r\n case ConditionName.isFirstPlay:\r\n return firstPlay;\r\n case ConditionName.isLock:\r\n return lock;\r\n case ConditionName.isIOS:\r\n return isIOS();\r\n case ConditionName.isLoading:\r\n return isLoading;\r\n case ConditionName.isStaticFormat:\r\n return params.type === PlayerTypes.static;\r\n case ConditionName.isEnded:\r\n return isEnded;\r\n case ConditionName.isAutoPlay:\r\n return isAutoPlay;\r\n case ConditionName.isFullScreen:\r\n return isFullScreen;\r\n case ConditionName.isValidAddress:\r\n return isValidAddress;\r\n case ConditionName.isFetchDetails:\r\n return isFetchDetails;\r\n case ConditionName.isAutoQuality:\r\n return settings.quality === -1;\r\n case ConditionName.isPressKeySpace:\r\n return !lock;\r\n case ConditionName.isPressKeyI:\r\n return !lock && !firstPlay;\r\n case ConditionName.isPressKeyF:\r\n return !lock && !firstPlay;\r\n case ConditionName.isPressKeyS:\r\n return !lock && !firstPlay;\r\n case ConditionName.isPressKeyArrowRight:\r\n return !firstPlay && !lock;\r\n case ConditionName.isPressKeyArrowLeft:\r\n return !firstPlay && !lock;\r\n case ConditionName.isPressKeyM:\r\n return !firstPlay && !lock;\r\n case ConditionName.isPressKeyC:\r\n return !lock && !firstPlay && !!subtitles && subtitles.length > 0;\r\n case ConditionName.isSendTimelineLog:\r\n return params.type !== \"static\";\r\n case ConditionName.isReady:\r\n return isReady;\r\n case ConditionName.isSelectedSubtitle:\r\n return !!subtitles && subtitles.length > 0 && selectedSubtitle;\r\n case ConditionName.isMiniPlayerAndMainPlayerSame:\r\n return params.id === miniPlayer.params.id;\r\n case ConditionName.hasTitle:\r\n return details.title;\r\n case ConditionName.hasBanner:\r\n return details.banner;\r\n case ConditionName.hasStreamLink:\r\n return details.stream_link;\r\n case ConditionName.hasManualQuality:\r\n return manualQuality !== undefined && manualQuality !== null;\r\n case ConditionName.hasSound:\r\n return !!settings.volume;\r\n case ConditionName.hasAutoPlay:\r\n return params.autoplay === \"true\";\r\n case ConditionName.hasFullScreenParams:\r\n return params.fullscreen === \"true\";\r\n case ConditionName.hasOnFinishedParams:\r\n return !!params.onFinished;\r\n case ConditionName.hasSubtitles:\r\n return !!subtitles && subtitles.length > 0;\r\n case ConditionName.hasSubtitlesInDetails:\r\n return details.subtitles && details.subtitles.length > 0;\r\n case ConditionName.hasActiveCue:\r\n return (\r\n selectedSubtitle &&\r\n selectedSubtitle.activeCues &&\r\n selectedSubtitle.activeCues.length > 0\r\n );\r\n case ConditionName.hasOnPlayParams:\r\n return !!params.onPlay;\r\n case ConditionName.hasOnPauseParams:\r\n return !!params.onPause;\r\n case ConditionName.hasPlayStatusParams:\r\n return params.playStatus !== undefined;\r\n case ConditionName.hasMiniPlayer:\r\n return miniPlayer.params.id;\r\n case ConditionName.hasCurrentTimeParams:\r\n return params.currentTime !== undefined;\r\n case ConditionName.hasMarkers:\r\n return markers.length !== 0;\r\n case ConditionName.hasSubtitlesInParams:\r\n return params.subtitles && params.subtitles.length;\r\n case ConditionName.hasOnChangeCurrentTime:\r\n return !!params.onChangeCurrentTime;\r\n case ConditionName.getDetails:\r\n return !!params.type && params.id;\r\n case ConditionName.getMarkers:\r\n return String(params.type) === \"vod\" && params.id && isFetchDetails;\r\n case ConditionName.canPlayVideo:\r\n return canPlayVideo;\r\n case ConditionName.setSubtitleFirstPlay:\r\n return (\r\n details.subtitles &&\r\n details.subtitles.length > 0 &&\r\n !firstPlay &&\r\n params.type !== \"static\"\r\n );\r\n default:\r\n break;\r\n }\r\n};\r\n","import { AppDispatch, RootState } from \"./store\";\r\nimport { TypedUseSelectorHook, useDispatch, useSelector } from \"react-redux\";\r\n\r\nexport const useAppDispatch: any = () => useDispatch<AppDispatch>();\r\nexport const useAppSelector: TypedUseSelectorHook<RootState> = useSelector;\r\n","import store from \"./redux/store\";\r\n\r\nexport const mainPlayerVideoTag = () => document.getElementById(\"player-tag\") as HTMLVideoElement;\r\nexport const miniPlayerVideoTag = () => document.getElementById(\"mini-player-video-tag\") as HTMLVideoElement;\r\nexport const progressBar = () => document.getElementById(\"time-progress-bar\") as any;\r\nexport const progressBarWidth = () => store.getState().videoData.videoElementSizeInfo.width - 2;","import store from \"../redux/store\";\r\nimport { apiCaller } from \"../services/apiCaller\";\r\nimport { API } from \"../services/services\";\r\nimport { getUUID } from \"../helpers\";\r\n\r\nexport const sendFluentLog = (data: any) => {\r\n const { details, params } = store.getState().videoData;\r\n let _data = {\r\n ...data,\r\n timestamp: Date.now(),\r\n clientUUID: getUUID(),\r\n uuid: getUUID(),\r\n link: window.location.href,\r\n user_id: details.user_id,\r\n live_id: null,\r\n format: undefined,\r\n content_type: details.content_type,\r\n content_id: details.content_id,\r\n daaniHashCode: params.daaniHashCode\r\n };\r\n apiCaller({ url: API().logs, method: \"post\", data: _data });\r\n};\r\n","import axios from \"axios\";\r\nimport { IApiCaller, IAxiosConfig, IRetryPolicy } from \"../interfaces/interfaces\";\r\nimport store from \"../redux/store\";\r\nimport { wait } from \"../helpers\";\r\nimport { errorLogProvider } from \"../errorBoundary/errorBoundaryFunctions\";\r\n\r\nexport const apiCaller: any = async ({\r\n url,\r\n method = \"GET\",\r\n data,\r\n headers,\r\n retryCount = 1,\r\n maxRetryCount = 0,\r\n errorMessage,\r\n retryPolicy,\r\n errorCallback,\r\n timeoutCount\r\n}: IApiCaller) => {\r\n let axiosConfig: IAxiosConfig = {\r\n url: url,\r\n method: method,\r\n headers: {\r\n ...headers,\r\n \"Content-Type\": \"application/json\"\r\n },\r\n timeout: timeoutCount ? timeoutCount * 1000 : undefined\r\n };\r\n if (data) {\r\n if (method === \"GET\")\r\n axiosConfig = {\r\n ...axiosConfig,\r\n params: {\r\n uuid: store.getState().videoData.params.uuid,\r\n provider: store.getState().videoData.params.provider === \"unknown\" ? undefined : store.getState().videoData.params.provider,\r\n ...data\r\n }\r\n };\r\n else\r\n axiosConfig = {\r\n ...axiosConfig,\r\n data: {\r\n uuid: store.getState().videoData.params.uuid,\r\n provider: store.getState().videoData.params.provider === \"unknown\" ? undefined : store.getState().videoData.params.provider,\r\n ...data\r\n }\r\n };\r\n } else {\r\n if (method === \"GET\")\r\n axiosConfig = {\r\n ...axiosConfig,\r\n params: {\r\n uuid: store.getState().videoData.params.uuid,\r\n provider: store.getState().videoData.params.provider === \"unknown\" ? undefined : store.getState().videoData.params.provider\r\n }\r\n };\r\n else\r\n axiosConfig = {\r\n ...axiosConfig,\r\n data: {\r\n uuid: store.getState().videoData.params.uuid,\r\n provider: store.getState().videoData.params.provider === \"unknown\" ? undefined : store.getState().videoData.params.provider\r\n }\r\n };\r\n }\r\n try {\r\n return await axios(axiosConfig);\r\n } catch (error: any) {\r\n errorLogProvider({ type: \"API-ERROR\", message: error.message ? error.message : \"\", statusCode:error.response && error.response.status ? error.response.status : undefined, url });\r\n if (error && error.response && error.response.status === 401) {\r\n // \r\n } else {\r\n if (errorCallback) errorCallback(error.response.status, error.response.message);\r\n let newRetryDelay = 0,\r\n newMaxRetryCount = 0;\r\n if (retryPolicy !== undefined) {\r\n for (let i = 0; i < retryPolicy.length; i++) {\r\n if (\r\n (((retryPolicy[i].codeAbove && error.response.status >= retryPolicy[i].codeAbove!) ||\r\n (retryPolicy[i].codeBelow && error.response.status <= retryPolicy[i].codeBelow!)) &&\r\n (retryPolicy[i].excludeCodes.length === 0 || !retryPolicy[i].excludeCodes.includes(error.response.status))) ||\r\n retryPolicy[i].includeCodes.length === 0 ||\r\n retryPolicy[i].includeCodes.includes(error.response.status)\r\n ) {\r\n newMaxRetryCount = retryPolicy[i].count;\r\n newRetryDelay = retryPolicy[i].delay;\r\n break;\r\n }\r\n }\r\n } else {\r\n newMaxRetryCount = maxRetryCount;\r\n newRetryDelay = retryCount + 1;\r\n }\r\n if (retryCount < newMaxRetryCount) {\r\n await wait(newRetryDelay);\r\n return apiCaller({\r\n url,\r\n method,\r\n data,\r\n headers,\r\n retryCount: retryCount + 1,\r\n newMaxRetryCount,\r\n errorMessage,\r\n retryPolicy,\r\n errorCallback\r\n });\r\n } else if (error.response)\r\n return {\r\n data: error.response.data ? error.response.data : { detail: \"عملیات با خطا مواجه شده است.\" },\r\n status: error.response.status\r\n };\r\n }\r\n }\r\n};\r\n\r\nexport function getAll(path: string, retryPolicy?: IRetryPolicy[], params?: any, retryCount: number = 1, maxRetryCount: number = 0) {\r\n return new Promise(async (resolve, reject) => {\r\n // Added reject to the Promise executor function.\r\n try {\r\n const url = new URL(path);\r\n const limit = 1000;\r\n if (params) {\r\n Object.keys(params).forEach((key) => {\r\n if (params[key]) {\r\n url.searchParams.set(key, params[key]);\r\n }\r\n });\r\n }\r\n url.searchParams.set(\"limit\", limit.toString());\r\n const response = await fetch(url.href);\r\n if (!response.ok) {\r\n // Check if the response was not ok (status not in the range 200-299).\r\n throw response;\r\n }\r\n const data = await response.json();\r\n const count = data.count;\r\n const requestCount = Math.ceil(count / limit) - 1;\r\n const promises: Array<Promise<any>> = [];\r\n for (let i = 0; i < requestCount; i++) {\r\n const offset = i * limit; // Fixed the offset calculation.\r\n url.searchParams.set(\"offset\", offset.toString());\r\n const promise: Promise<any> = fetch(url.href).then((res) => {\r\n if (res.ok) {\r\n return res.json();\r\n }\r\n return res.json().then((err) => Promise.reject(err));\r\n });\r\n promises.push(promise);\r\n }\r\n Promise.all(promises)\r\n .then((res) => {\r\n const results = res.flatMap((item) => item.results);\r\n resolve([...data.results, ...results]);\r\n })\r\n .catch(reject); // Added catch to handle any errors in the Promise.all.\r\n } catch (error: any) {\r\n let newRetryDelay = 0,\r\n newMaxRetryCount = 0;\r\n if (retryPolicy !== undefined) {\r\n for (let i = 0; i < retryPolicy.length; i++) {\r\n if (\r\n ((retryPolicy[i].codeAbove && error.status >= retryPolicy[i].codeAbove!) ||\r\n (retryPolicy[i].codeBelow && error.status <= retryPolicy[i].codeBelow!)) &&\r\n (retryPolicy[i].excludeCodes.length === 0 || !retryPolicy[i].excludeCodes.includes(error.status)) &&\r\n (retryPolicy[i].includeCodes.length === 0 || retryPolicy[i].includeCodes.includes(error.status))\r\n ) {\r\n newMaxRetryCount = retryPolicy[i].count;\r\n newRetryDelay = retryPolicy[i].delay;\r\n break;\r\n }\r\n }\r\n if (retryCount < newMaxRetryCount) {\r\n await wait(newRetryDelay);\r\n getAll(path, retryPolicy, params, retryCount + 1, newMaxRetryCount);\r\n }\r\n }\r\n }\r\n });\r\n}","import { sendFluentLog } from \"../logs/fluentdLogger\";\r\nimport { ExceptionsLog } from \"../logs/logs\";\r\n\r\nexport const errorLogProvider = (data?: {type:string, message:string, statusCode?:number, url?:string}) => {\r\n if(data) sendFluentLog(ExceptionsLog(data.type, data.message, data.statusCode, data.url));\r\n}\r\n","import { conditions } from \"../conditions/conditions\";\r\nimport { mainPlayerVideoTag } from \"../constants\";\r\nimport { flattenObject, getUUID } from \"../helpers\";\r\nimport { ConditionName } from \"../interfaces/enums\";\r\nimport store from \"../redux/store\";\r\n\r\nexport const speedChangeLog = (selectedSpeed: Number) => {\r\n const { params, details } = store.getState().videoData;\r\n const { settings } = store.getState().user;\r\n return {\r\n category: \"speedChange\",\r\n previousSelectedSpeed: settings.speed,\r\n selectedSpeed: selectedSpeed,\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.id,\r\n provider: params.provider\r\n };\r\n};\r\n\r\nexport const qualityChangeRequestLog = (selectedQuality: String) => {\r\n const { params, details } = store.getState().videoData;\r\n const { qualityLevels, manualQuality, autoQuality } = store.getState().controller;\r\n return {\r\n category: \"qualityChangeRequest\",\r\n currentPlayingQuality: `${qualityLevels[conditions(ConditionName.isAutoQuality) ? autoQuality ?? manualQuality! : manualQuality!]}P`,\r\n previousSelectedQuality: conditions(ConditionName.isAutoQuality) ? \"auto\" : `${qualityLevels[manualQuality!]}P`,\r\n selectedQuality: selectedQuality,\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.id,\r\n provider: params.provider\r\n };\r\n};\r\n\r\nexport const catchUpLoadingLog = (duration: number) => {\r\n const { params, details } = store.getState().videoData;\r\n const { qualityLevels, autoQuality } = store.getState().controller;\r\n const { settings } = store.getState().user;\r\n\r\n return {\r\n category: \"catchUpLoading\",\r\n previousVideoTime: Number(sessionStorage.getItem(\"previousVideoTime\")),\r\n currentVideoTime: mainPlayerVideoTag().currentTime,\r\n duration: duration,\r\n quality: `${conditions(ConditionName.isAutoQuality) ? qualityLevels[autoQuality!] : qualityLevels[settings.quality]}P`,\r\n isAutoQuality: conditions(ConditionName.isAutoQuality),\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.id,\r\n provider: params.provider\r\n };\r\n};\r\n\r\nexport const backwardForwardLog = (type: string) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: type === \"backward\" ? \"backward\" : \"forward\",\r\n id: Number(params.id),\r\n type: params.type,\r\n src: details.stream_link ? details.stream_link : params.id,\r\n provider: params.provider\r\n };\r\n};\r\n\r\nexport const fullscreenLog = (category: string) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: category,\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.id\r\n };\r\n};\r\n\r\nexport const brightnessLog = (source: number, target: number) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: \"brightnessChange\",\r\n source: source,\r\n target: target,\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.id\r\n };\r\n};\r\n\r\nexport const volumeLog = (source: number, target: number) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: \"volumeChange\",\r\n source: source,\r\n target: target,\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.id\r\n };\r\n};\r\n\r\nexport const lockLog = (category: string) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: category,\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.id\r\n };\r\n};\r\n\r\nexport const ExceptionsLog = (type: string, message: string, statusCode?:number, url?:string) => {\r\n return {\r\n category: \"player-error\",\r\n type,\r\n message,\r\n statusCode,\r\n url\r\n };\r\n};\r\n\r\nexport const videoTimelineLog = (start: number, end: number) => {\r\n const { params, details } = store.getState().videoData;\r\n const { duration } = store.getState().controller;\r\n return {\r\n category: \"video-timeline\",\r\n video_id: +params.id!,\r\n video_type: params.type,\r\n start: start,\r\n end: end,\r\n watchedDuration: end - start,\r\n video_duration: Math.floor(duration),\r\n clientUUID: getUUID(),\r\n user_id: details.user_id,\r\n content_type: details.content_type,\r\n content_id: details.content_id\r\n };\r\n};\r\n\r\nexport const autoQualityChangeLog = (sourceQuality: String, targetQuality: String, diffQuality: number) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: \"autoQualityChange\",\r\n sourceQuality: sourceQuality,\r\n targetQuality: targetQuality,\r\n diffQuality: diffQuality,\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.id,\r\n provider: params.provider\r\n };\r\n};\r\n\r\nexport const pingpongLog = (startTimer: number, qualityHistory: number[]) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: \"pingpong\",\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.id,\r\n PingPongDuration: Number((new Date().getTime() - startTimer).toFixed(2)),\r\n PingPongSourceQuality: `${qualityHistory[0]}P`, // A A->B && B->A\r\n PingPongTargetQuality: `${qualityHistory[1]}P`, // B,\r\n provider: params.provider\r\n };\r\n};\r\n\r\nexport const pausePlayLog = (isPlay: boolean) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: isPlay ? \"playVideo\" : \"pauseVideo\",\r\n id: Number(params.id),\r\n type: params.type,\r\n src: details.stream_link ? details.stream_link : params.id,\r\n provider: params.provider\r\n };\r\n};\r\n\r\nexport const initLog = (loadingTime: number, waitingTime: number, bannerLoadingTime: number, firstChunkPlayingTime: number, timerRef: any) => {\r\n const { params, details } = store.getState().videoData;\r\n const totalTime = Date.now() - timerRef.current + loadingTime + waitingTime;\r\n const memory = (window.performance as any).memory;\r\n const timing = JSON.parse(JSON.stringify((window.performance as any).timing));\r\n return {\r\n category: \"initLog\",\r\n id: Number(params.id),\r\n type: params.type,\r\n origin: new URL(conditions(ConditionName.hasStreamLink) ? details.stream_link : params.id!).origin,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.id,\r\n loading: loadingTime,\r\n bannerLoading: !conditions(ConditionName.hasBanner) || bannerLoadingTime < 0 ? 0 : bannerLoadingTime,\r\n waiting: waitingTime,\r\n firstChunkPlaying: firstChunkPlayingTime < 0 ? 0 : firstChunkPlayingTime,\r\n totalTime: totalTime,\r\n provider: params.provider,\r\n performance: flattenObject({ memory, timing }, \"performance\"),\r\n userAgent: window.navigator.userAgent\r\n };\r\n};\r\n\r\nexport const loadingLog = (waitingDuration: number, qualityLevel: number, timerRef: any, loadingCounterRef: any, videoEntranceTime: number) => {\r\n const { params, details } = store.getState().videoData;\r\n const { settings } = store.getState().user;\r\n const previousLoaderDiff = Date.now() - timerRef.current;\r\n return {\r\n category: \"loading\",\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.id,\r\n duration: waitingDuration,\r\n quality: `${qualityLevel}P`,\r\n isAutoQuality: conditions(ConditionName.isAutoQuality),\r\n previousLoaderDiff: previousLoaderDiff,\r\n counter: loadingCounterRef.current,\r\n loadingPercentile: Number((waitingDuration / previousLoaderDiff).toFixed(2)),\r\n videoTime: mainPlayerVideoTag().currentTime,\r\n videoEntranceTime: videoEntranceTime,\r\n speed: settings.speed,\r\n provider: params.provider\r\n };\r\n};\r\n\r\nexport const subtitleLog = (language: string) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: \"subtitle\",\r\n language: language,\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.id\r\n };\r\n};\r\n\r\nexport const eventMarkerClickLog = (markerId: Number, markerTime: Number, markerTitle: String, markerDescription: String, markerSticker: String) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: \"eventMarkerClick\",\r\n video_id: Number(params.id),\r\n markerId: markerId,\r\n markerTime: markerTime,\r\n markerTitle: markerTitle,\r\n markerDescription: markerDescription,\r\n markerSticker: markerSticker,\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.id,\r\n provider: params.provider\r\n };\r\n};","import {\r\n getFluentdUrl,\r\n getRestApiLiveUrl,\r\n} from \"./baseUrl\";\r\n\r\nexport const API = () => {\r\n return {\r\n vod: {\r\n getVodUrl: `${getRestApiLiveUrl()}/v1/live/details/vod/`,\r\n getMarkerUrl: (videoId:number) => `${getRestApiLiveUrl()}/v1/live/list-event/vod/${videoId}/`\r\n },\r\n videoTimelineLog: `${getFluentdUrl()}/video-timeline.log`,\r\n logs: `${getFluentdUrl()}/cafevideo-endpoint.log`,\r\n };\r\n};","const envs = require(\"../configs/nextConfigs/next.config.js\");\r\nconst isNpmPackage = require(\"../configs/npmPackage/npmPackage\");\r\n\r\nexport const getRestApiLiveUrl = () => (isNpmPackage ? envs.baseUrl : (process.env.baseUrl as string)) + \"/live/api\";\r\nexport const getFluentdUrl = () => (isNpmPackage ? envs.fluentdUrl : (process.env.fluentdUrl as string));\r\nexport const getEmojiUrl = () => (isNpmPackage ? envs.baseUrl : (process.env.baseUrl as string)) + \"/emoji\";\r\n\r\n"]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk7U5SWNB7_js = require('./chunk-7U5SWNB7.js');
|
|
4
4
|
var chunkSPUHJYDE_js = require('./chunk-SPUHJYDE.js');
|
|
5
5
|
var react = require('react');
|
|
6
6
|
var reactRedux = require('react-redux');
|
|
7
7
|
|
|
8
|
-
chunkSPUHJYDE_js.e();var y=()=>{let m=
|
|
8
|
+
chunkSPUHJYDE_js.e();var y=()=>{let m=chunk7U5SWNB7_js.ba(),{params:e}=chunk7U5SWNB7_js.ca(({videoData:{params:t}})=>({params:t}),reactRedux.shallowEqual);react.useEffect(()=>{chunk7U5SWNB7_js.aa("hasCurrentTimeParams")&&(chunk7U5SWNB7_js.da().currentTime=e.currentTime,m(chunk7U5SWNB7_js.c(e.currentTime)));},[e.currentTime]);},P=y;chunkSPUHJYDE_js.e();var h=()=>{let{details:m}=chunk7U5SWNB7_js.ca(({videoData:{details:e}})=>({details:e}),reactRedux.shallowEqual);react.useEffect(()=>{let e=chunk7U5SWNB7_js.da().getElementsByTagName("track");for(let t=0;t<e.length;t++)e[t].addEventListener("cuechange",p=>{let n=p.target.track,s;n.activeCues&&(s=n.activeCues[0]),s&&(setTimeout(()=>{let o=document.getElementById("subtitle-id");o&&(o.style.display="block");},300),s.onexit=()=>{let o=document.getElementById("subtitle-id");o&&(o.style.display="none");});});},[m.subtitles]);},H=h;
|
|
9
9
|
|
|
10
10
|
exports.a = P;
|
|
11
11
|
exports.b = H;
|
|
12
12
|
//# sourceMappingURL=out.js.map
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-AAJFAVCG.js.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkUEZQIM74_js = require('./chunk-UEZQIM74.js');
|
|
4
|
+
var chunkNLWM4ZIO_js = require('./chunk-NLWM4ZIO.js');
|
|
5
|
+
var chunkB2V2GE3A_js = require('./chunk-B2V2GE3A.js');
|
|
6
|
+
var chunkESB3FO2C_js = require('./chunk-ESB3FO2C.js');
|
|
7
|
+
var chunkTURDIAQ5_js = require('./chunk-TURDIAQ5.js');
|
|
8
|
+
var chunk7U5SWNB7_js = require('./chunk-7U5SWNB7.js');
|
|
9
|
+
var chunkPARGBSKY_js = require('./chunk-PARGBSKY.js');
|
|
10
|
+
var chunkSPUHJYDE_js = require('./chunk-SPUHJYDE.js');
|
|
11
|
+
var react = require('react');
|
|
12
|
+
var reactRedux = require('react-redux');
|
|
13
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
14
|
+
var xe = require('next/legacy/image');
|
|
15
|
+
var reactDom = require('react-dom');
|
|
16
|
+
var Vo = require('next/dynamic');
|
|
17
|
+
|
|
18
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
+
|
|
20
|
+
var xe__default = /*#__PURE__*/_interopDefault(xe);
|
|
21
|
+
var Vo__default = /*#__PURE__*/_interopDefault(Vo);
|
|
22
|
+
|
|
23
|
+
chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();var Ko=()=>{let{details:e,params:o}=chunk7U5SWNB7_js.ca(({videoData:{details:l,params:r}})=>({details:l,params:r}),reactRedux.shallowEqual);return jsxRuntime.jsx("div",{className:`pl-w-full pl-max-w-[80%] pl-truncate pl-text-left pl-ml-4 pl-text-[16px] pl-font-normal pl-text-white pl-break-words pl-self-start animate__animated animate__faster ${chunk7U5SWNB7_js.aa("isActiveElements")?"animate__fadeIn pl-opacity-100":"pl-opacity-0 animate__fadeOut"}`,children:chunk7U5SWNB7_js.aa("hasTitle")?e.title:o.id})},kt=Ko;chunkSPUHJYDE_js.e();var tl=()=>jsxRuntime.jsxs("div",{className:`pl-relative animate__animated animate__faster ${chunk7U5SWNB7_js.aa("isActiveElements")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,children:[jsxRuntime.jsx(xe__default.default,{src:chunkPARGBSKY_js.a.lock,alt:"lock-icon",width:20,height:20,onClick:()=>chunkTURDIAQ5_js.h("unlock")}),!localStorage.getItem("unlock-click")&&jsxRuntime.jsx("p",{className:"pl-text-[10px] pl-text-black/[0.87] pl-bg-[#F7F7F7] pl-absolute pl-left-0 pl-px-4 pl-py-3 pl-rounded-[8px] pl-w-max",children:"\u0628\u0631\u0627\u06CC \u0628\u0627\u0632 \u06A9\u0631\u062F\u0646 \u0642\u0641\u0644\u060C \u06A9\u0644\u06CC\u06A9 \u06A9\u0646\u06CC\u062F"})]}),Et=tl;var rl=()=>(chunk7U5SWNB7_js.ca(({controller:{lock:e,activeElements:o}})=>({lock:e,activeElements:o}),reactRedux.shallowEqual),jsxRuntime.jsxs("div",{className:`pl-flex pl-items-start pl-justify-end pl-mx-4 pl-mt-5 ${chunk7U5SWNB7_js.aa("isTouchScreenPortrait")?"pl-h-[16px]":"pl-h-[60px]"}`,children:[chunk7U5SWNB7_js.aa("showTitle")&&jsxRuntime.jsx(kt,{}),chunk7U5SWNB7_js.aa("isLock")&&jsxRuntime.jsx(Et,{})]})),It=rl;chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();var sl=()=>(chunk7U5SWNB7_js.ca(({controller:{play:e}})=>({play:e}),reactRedux.shallowEqual),chunk7U5SWNB7_js.ca(({videoData:{videoElementSizeInfo:e,params:o}})=>({videoElementSizeInfo:e,params:o}),reactRedux.shallowEqual),jsxRuntime.jsx("div",{className:`${!chunk7U5SWNB7_js.aa("isTouchScreen")&&"hover:pl-scale-125"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`,onContextMenu:e=>e.preventDefault(),children:jsxRuntime.jsx(xe__default.default,{alt:"",src:chunk7U5SWNB7_js.aa("isPlay")?chunkPARGBSKY_js.a.bigPause:chunkPARGBSKY_js.a.bigPlay,width:40,height:40,onClick:e=>chunkTURDIAQ5_js.a(e),onDoubleClick:e=>e.stopPropagation(),className:`${chunk7U5SWNB7_js.aa("isPlay")?"pl-big-play-icon":"pl-big-pause-icon"}`})})),At=sl;var pl=()=>{let[e,o]=react.useState(!1),[l,r]=react.useState(!1),{firstPlay:i}=chunk7U5SWNB7_js.ca(({controller:{lock:a,firstPlay:f}})=>({lock:a,firstPlay:f}),reactRedux.shallowEqual),{activeElements:p,isLoading:u}=chunk7U5SWNB7_js.ca(({controller:{activeElements:a,isLoading:f}})=>({activeElements:a,isLoading:f}),reactRedux.shallowEqual);return react.useEffect(()=>{let a=null;return chunk7U5SWNB7_js.aa("isFirstPlay")||chunk7U5SWNB7_js.aa("isActiveElements")?a=setTimeout(()=>r(!0),100):r(!1),()=>clearTimeout(a)},[p]),react.useEffect(()=>{let a;return chunk7U5SWNB7_js.aa("isLoading")?a=setTimeout(()=>o(!0),chunk7U5SWNB7_js.aa("isFirstPlay")?0:chunkESB3FO2C_js.b):o(!1),()=>{clearTimeout(a),o(!1);}},[u,i]),jsxRuntime.jsx("main",{className:"pl-flex-1 pl-mt-1",children:e?jsxRuntime.jsx(chunkUEZQIM74_js.a,{}):jsxRuntime.jsx(jsxRuntime.Fragment,{children:l&&!chunk7U5SWNB7_js.aa("isLock")&&jsxRuntime.jsx("div",{id:"main-content",className:`pl-h-full pl-flex pl-justify-center pl-items-center pl-text-center pl-relative ${chunk7U5SWNB7_js.aa("isActiveElements")?"pl-pointer-events-auto":"pl-pointer-events-none"}`,children:jsxRuntime.jsxs("div",{onClick:a=>a.stopPropagation(),className:"pl-flex pl-justify-center pl-gap-8 pl-items-center pl-w-max",style:{zIndex:3},children:[!chunk7U5SWNB7_js.aa("isFirstPlay")&&jsxRuntime.jsx(chunkB2V2GE3A_js.a,{type:"forward"}),jsxRuntime.jsx(At,{}),!chunk7U5SWNB7_js.aa("isFirstPlay")&&jsxRuntime.jsx(chunkB2V2GE3A_js.a,{type:"backward"})]})})})})},_t=pl;chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();var We=e=>{let{videoElementSizeInfo:o}=chunk7U5SWNB7_js.M.getState().videoData,{duration:l}=chunk7U5SWNB7_js.M.getState().controller,r=e.clientX!==void 0?e.clientX:e.touches[0].clientX;if(r<=o.right&&r>0)return (r-o.left)/o.width*l},Z=e=>{let{videoElementSizeInfo:o}=chunk7U5SWNB7_js.M.getState().videoData,l=e.clientX!==void 0?e.clientX:e.touches[0].clientX;if(l<=o.right&&l>0)return l-o.left},Bt=e=>{let{duration:o}=chunk7U5SWNB7_js.M.getState().controller;return e*chunk7U5SWNB7_js.ga()/o},fe=e=>{e&&(e.style.opacity="0.0",e.style.pointerEvents="none",e.style.zIndex=-2);},cl=e=>{e.style.display="block",e.style.zIndex=5,e.style.opacity=chunk7U5SWNB7_js.M.getState().videoData.details.vtt?"1.0":"0.6",e.style.pointerEvents="auto",e.style.transition="opacity 1s ease-out";},dl=(e,o)=>{let{videoElementSizeInfo:l}=chunk7U5SWNB7_js.M.getState().videoData,r=document.getElementsByClassName("pl-progressTooltip")[0],i=document.getElementById("parent-player");r&&i&&(Z(e)>r.getBoundingClientRect().width/2&&Z(e)<l.right-l.left-r.getBoundingClientRect().width/2?o.style.left=`${Z(e)-r.offsetWidth/2}px`:Z(e)<(i.offsetLeft===0?r.offsetWidth:i.offsetLeft)?o.style.left="0px":chunk7U5SWNB7_js.da().offsetLeft+chunk7U5SWNB7_js.da().offsetWidth<Z(e)+r.offsetWidth&&(o.style.left=`${chunk7U5SWNB7_js.da().offsetWidth-r.offsetWidth}px`));},ul=(e,o,l)=>{o&&cl(o),chunk7U5SWNB7_js.M.getState().videoData.details.vtt?dl(e,o):o.style.left=`${Z(e)-30}px`,chunk7U5SWNB7_js.M.dispatch(chunk7U5SWNB7_js.q(Number(We(e)))),l.textContent=`${chunk7U5SWNB7_js.P(We(e))}`;},he=(e,o=!1)=>{let{videoElementSizeInfo:l}=chunk7U5SWNB7_js.M.getState().videoData,r=document.querySelector(".pl-progressTooltip"),i=document.querySelector(".pl-progressTimeTooltip"),p=e.clientX!==void 0?e.clientX:e.touches[0].clientX;r&&i&&p<=l.right&&p>l.left?(ul(e,r,i),o&&setTimeout(()=>fe(r),2e3)):fe(r);},Vt=e=>{let o=e.clientX!==void 0?e.clientX:e.touches[0].clientX;chunk7U5SWNB7_js.fa()&&(o<=e.view.innerWidth&&o>0?chunk7U5SWNB7_js.fa().style.width=`${Z(e)}px`:o<=e.view.innerWidth?chunk7U5SWNB7_js.fa().style.width=0:o>0&&(chunk7U5SWNB7_js.fa().style.width="100%"));},qt=(e,o,l)=>{e.preventDefault(),e.stopPropagation(),l(!0);let r=chunk7U5SWNB7_js.M.dispatch,i=e.clientX!==void 0?e.clientX:e.touches[0].clientX;i<=e.view.innerWidth&&i>0&&(r(chunk7U5SWNB7_js.k(!0)),r(chunk7U5SWNB7_js.l(!0)),sessionStorage.setItem("previousVideoTime",String(chunk7U5SWNB7_js.da().currentTime)),e.target.setPointerCapture(e.pointerId),o.length>0&&o.map(p=>clearTimeout(p)));},Qe=e=>{e.preventDefault(),e.stopPropagation();let o=chunk7U5SWNB7_js.M.dispatch,{activePointerProgressBar:l}=chunk7U5SWNB7_js.M.getState().controller,{left:r}=chunk7U5SWNB7_js.M.getState().videoData.videoElementSizeInfo,i=e.clientX!==void 0?e.clientX:e.touches[0].clientX,p=document.querySelector(".pl-progressTooltip");i>r?(p&&(p.style.display="block !important",p.style.pointerEvents="auto"),l&&(o(chunk7U5SWNB7_js.l(!0)),he(e),Vt(e),chunk7U5SWNB7_js.da().pause())):p&&(p.style.display="none !important",p.style.pointerEvents="none");},zt=(e,o,l,r)=>{r(!1),e.preventDefault(),e.stopPropagation();let i=chunk7U5SWNB7_js.M.dispatch,{duration:p}=chunk7U5SWNB7_js.M.getState().controller,{left:u,right:a}=chunk7U5SWNB7_js.M.getState().videoData.videoElementSizeInfo,f=chunk7U5SWNB7_js.M.getState().videoData.params;e.target.removeEventListener("pointermove",Qe);let c=e.clientX!==void 0?e.clientX:e.touches[0].clientX,x=0;c>u&&c<a?x=We(e):c<u?x=0:c>0&&(x=p),chunk7U5SWNB7_js.aa("isStaticFormat")||chunkTURDIAQ5_js.i(chunk7U5SWNB7_js.da().currentTime,x),chunk7U5SWNB7_js.da().currentTime=x,chunk7U5SWNB7_js.aa("hasOnChangeCurrentTime")&&f.onChangeCurrentTime(x),chunk7U5SWNB7_js.M.getState().controller.activePointerProgressBar&&(i(chunk7U5SWNB7_js.k(!1)),i(chunk7U5SWNB7_js.l(!1)),chunk7U5SWNB7_js.da().play(),he(e,!0),sessionStorage.setItem("current-time",String(x)),Vt(e),fl(e,i,o,l));},fl=(e,o,l,r)=>{let i=r,p=setTimeout(()=>{let{settingPopover:u}=chunk7U5SWNB7_js.M.getState().popovers,{delayTurnOffControlbar:a}=chunk7U5SWNB7_js.M.getState().controller;e.pointerType==="touch"&&!u&&a&&o(chunk7U5SWNB7_js.f(!1));},chunkESB3FO2C_js.a);i.push(p),l(i);},Rt=()=>{let e=Date.now();chunk7U5SWNB7_js.da().play().then(()=>chunk7U5SWNB7_js.ja(chunk7U5SWNB7_js.ma(Date.now()-e)));},Xt=e=>he(e),Ht=()=>{let e=document.querySelector(".pl-progressTooltip");fe(e);},hl=e=>{let o=e.split("."),r=o[0].split(":");return {milliseconds:parseInt(o[1],10)||0,seconds:parseInt(r.pop(),10)||0,minutes:parseInt(r.pop(),10)||0,hours:parseInt(r.pop(),10)||0}},Ot=e=>{let o=hl(e);return parseInt(o.hours*(60*60)+o.minutes*60+o.seconds+o.milliseconds/1e3,10)},vl=e=>{let o=e.split(/#xywh=/i),l=o[0],i=o[1].match(/[0-9]+/gi);return {x:i[0],y:i[1],w:i[2],h:i[3],image:l}},gl=(e,o)=>e.indexOf("//")>=0?e:o.indexOf("//")===0?[o.replace(/\/$/gi,""),e.trim()].join("/"):o.indexOf("//")>0?[o.trim(),e.trim()].join("/"):e,xl=(e,o)=>{let l={},r=o.split(/\/\w+\.vtt\s?/)[0];if(e=gl(e,r),!e.match(/#xywh=/i))return l.background='url("'+e+o.split(/\/\w+\.vtt\s?/)[1]+'")',l;let i=vl(e);return l.background='url("'+i.image+o.split(/\/\w+\.vtt\s?/)[1]+'") no-repeat -'+i.x+"px -"+i.y+"px",l.width=i.w+"px",l.height=i.h+"px",l.url=i.image,l},Ut=(e,o)=>{fetch(e).then(l=>{if(!l.ok)throw chunk7U5SWNB7_js.M.dispatch(chunk7U5SWNB7_js.r({...chunk7U5SWNB7_js.M.getState().videoData.details,vtt:void 0,vtt_mobile:void 0})),new Error("Network response was not ok");return l.text()}).then(l=>{let r=[];l.split(/[\r\n][\r\n]/i).forEach(p=>{if(p.match(/([0-9]{2}:)?([0-9]{2}:)?[0-9]{2}(.[0-9]{3})?( ?--> ?)([0-9]{2}:)?([0-9]{2}:)?[0-9]{2}(.[0-9]{3}).*/gi)){let u=p.split(/[\r\n]/i),f=u[0].split(/ ?--> ?/i),c=f[0],x=f[1],d=u[1],S=xl(d,e);r.push({start:Ot(c),end:Ot(x),css:S});}}),o(r);}).catch(l=>{console.error("Error fetching file:",l);});},Wt=(e,o,l)=>{for(let r=0;r<o.length;++r){let i=o[r];if(e>=i.start&&e<i.end){if(i.css.url&&!l[i.css.url]){let p={background:i.css.background,width:i.css.width,height:i.css.height};return l[i.css.url]=p,p}else if(i.css.url)return l[i.css.url]}}};var bl=()=>{let{details:e}=chunk7U5SWNB7_js.ca(({videoData:{details:a}})=>({details:a}),reactRedux.shallowEqual),{tooltipTime:o}=chunk7U5SWNB7_js.ca(({controller:{tooltipTime:a,activeElements:f,isFullScreen:c}})=>({tooltipTime:a,activeElements:f,isFullScreen:c}),reactRedux.shallowEqual),l={},[r,i]=react.useState(void 0),[p,u]=react.useState(chunk7U5SWNB7_js.aa("isTouchScreen")?e.vtt_mobile:e.vtt);return react.useEffect(()=>{u(e.vtt_mobile);},[e.vtt_mobile]),react.useEffect(()=>{p&&Ut(e.vtt_mobile,i);},[p]),chunk7U5SWNB7_js.aa("isActiveElements")?jsxRuntime.jsxs("div",{className:`pl-flex pl-flex-col pl-progressTooltip pl-absolute pl-bottom-[calc(100%+10px)] pl-px-[10px] pl-pt-[5px] pl-mr-[-25px] pl-text-white pl-text-[14px] ${p&&r?"":"pl-bg-z-gray-700"} pl-rounded-[6px] pl-opacity-0`,children:[p&&!!r&&jsxRuntime.jsx("div",{className:"pl-flex-1 pl-border pl-border-white pl-rounded-[8px] pl-mb-2",children:jsxRuntime.jsx("div",{className:"pl-rounded-[8px]",style:Wt(o,r,l)})}),jsxRuntime.jsx("div",{className:"pl-flex pl-items-center pl-justify-center pl-progressTimeTooltip pl-text-white !pl-opacity-100"})]}):jsxRuntime.jsx(jsxRuntime.Fragment,{})},Yt=react.memo(bl);chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();var Pl=(e,o)=>{react.useEffect(()=>{let l=r=>{!e.current||e.current.contains(r.target)||o(r);};return document.addEventListener("mousedown",l),document.addEventListener("touchstart",l),()=>{document.removeEventListener("mousedown",l),document.removeEventListener("touchstart",l);}},[e,o]);},V=Pl;chunkSPUHJYDE_js.e();var kl=({name:e,className:o,dataMarker:l})=>jsxRuntime.jsx("img",{"data-marker":l,src:`${chunk7U5SWNB7_js.ha()}/${e}.png`,alt:e,className:o}),ve=kl;var Il=()=>{chunk7U5SWNB7_js.ba();let {duration:o,activeElements:l}=chunk7U5SWNB7_js.ca(({controller:{duration:m,activeElements:w,isFullScreen:X}})=>({duration:m,activeElements:w,isFullScreen:X}),reactRedux.shallowEqual),{markers:r}=chunk7U5SWNB7_js.ca(({videoData:{markers:m,videoElementSizeInfo:w}})=>({markers:m,videoElementSizeInfo:w}),reactRedux.shallowEqual),[i,p]=react.useState(void 0),[u,a]=react.useState([]),[f,c]=react.useState({}),[x,d]=react.useState(!1),S=m=>o?chunk7U5SWNB7_js.ga()*m/o:0,A=(m,w,X,J,K,j,ae,Be)=>{m.stopPropagation();let ee=24*w/(chunk7U5SWNB7_js.ga()+5),te=[],qe=0;Be.map(H=>{H.time>w-ee&&H.time<w+ee&&(te.push(H),qe+=H.time);}),te.length>1?a(te):(te=[],a([]),h(m,w,X,J,K,j,ae));},h=(m,w,X,J,K,j,ae)=>{m.stopPropagation(),he(m,ae),chunkTURDIAQ5_js.i(chunk7U5SWNB7_js.da().currentTime,w),chunk7U5SWNB7_js.da().currentTime=w,chunk7U5SWNB7_js.fa()&&(chunk7U5SWNB7_js.fa().style.width=S(w)),chunk7U5SWNB7_js.ja(chunk7U5SWNB7_js.za(X,w,J,K,j));};react.useEffect(()=>{chunk7U5SWNB7_js.aa("isActiveElements")||a([]);},[l]);let C=react.useRef(null);V(C,()=>a([])),react.useEffect(()=>{if(u.length>0){let m=chunk7U5SWNB7_js.$(document.getElementsByClassName("pl-overlapMarkers")[0]);if(m==="inViewport")return d(!0),c({left:S(u[0].time)});if(m==="OutViewPortFromLeft")return d(!1),c({left:0});if(m==="OutViewPortFromRight")return d(!1),c({right:0})}},[u,document.getElementsByClassName("pl-overlapMarkers")[0]]);let L=m=>{m.preventDefault(),chunk7U5SWNB7_js.aa("isTouchScreen")&&p(Number(m.target.getAttribute("data-marker")));};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[r.map(m=>jsxRuntime.jsx("div",{onContextMenu:L,"data-marker":m.time,onClick:w=>A(w,m.time,m.id,m.title,m.description,m.sticker,!0,r),onDoubleClick:w=>w.stopPropagation(),children:jsxRuntime.jsxs("div",{className:`pl-emoji-image pl-absolute pl-bottom-[200%] pl-bg-z-gray-700/[0.4] pl-rounded-[6px] pl-p-1 ${chunk7U5SWNB7_js.aa("isTouchScreenPortrait"),"pl-mb-5"} pl-ml-[-12px] pl-cursor-pointer`,style:{left:S(m.time),zIndex:6},"data-marker":m.time,children:[m.isPersonal!==null&&m.isPersonal!==void 0&&jsxRuntime.jsx("div",{className:"pl-absolute pl-rounded-full pl-top-[-2px] pl-right-[-1px] pl-bg-main pl-w-2 pl-h-2"}),jsxRuntime.jsx(ve,{dataMarker:m.time,name:m.sticker,className:"pl-w-[16px] pl-h-[16px] !pl-max-w-max"})]})},m.id)),u.length>0&&jsxRuntime.jsx("div",{className:`pl-overlapMarkers ${x?"pl-overlayMarkersInViewport":"pl-overlayMarkersOutViewport"} pl-absolute pl-bottom-[45px] pl-px-1 pl-py-2 pl-flex pl-gap-3 pl-flex-row-reverse pl-justify-end pl-bg-z-gray-700/[0.4] pl-rounded-[6px] pl-ml-[-10px] animate__animated animate__fadeInUp pl-opacity-100`,ref:C,style:f,children:u.map(m=>jsxRuntime.jsx("div",{className:"pl-emoji-image pl-rounded-[6px] pl-cursor-pointer","data-marker":m.time,onClick:w=>h(w,m.time,m.id,m.title,m.description,m.sticker,!0),onDoubleClick:w=>w.stopPropagation(),children:jsxRuntime.jsx(ve,{dataMarker:m.time,name:m.sticker,className:"pl-w-[24px] pl-h-[24px] !pl-max-w-max"})},m.id))})]})},eo=react.memo(Il);var Al=()=>{let[e,o]=react.useState(!1);react.useEffect(()=>{fe(document.querySelector(".progressTooltip"));},[]);let{duration:l,currentTime:r,bufferedTimeWidth:i}=chunk7U5SWNB7_js.ca(({controller:{duration:a,currentTime:f,bufferedTimeWidth:c}})=>({duration:a,currentTime:f,bufferedTimeWidth:c}),reactRedux.shallowEqual);chunk7U5SWNB7_js.ca(({videoData:{params:a,videoElementSizeInfo:f}})=>({params:a,videoElementSizeInfo:f}),reactRedux.shallowEqual);let[p,u]=react.useState([]);return jsxRuntime.jsxs("div",{className:`${chunk7U5SWNB7_js.aa("isTouchScreenPortrait")?"pl-order-1":"pl-order-none"} pl-relative`,children:[jsxRuntime.jsxs("div",{className:"pl-relative",children:[jsxRuntime.jsx(Yt,{}),jsxRuntime.jsx(eo,{})]}),jsxRuntime.jsx("div",{className:"pl-w-full pl-flex pl-items-end",onPointerDown:a=>qt(a,p,o),onPointerMove:Qe,onPointerUp:a=>zt(a,u,p,o),onMouseMove:Xt,onMouseOut:Ht,onClick:Rt,onDoubleClick:a=>a.stopPropagation(),children:jsxRuntime.jsxs("div",{id:"progress-area",className:"pl-w-full pl-absolute",children:[jsxRuntime.jsx("div",{className:"pl-w-full pl-h-[40px]"}),jsxRuntime.jsxs("div",{id:"time-progress-area",className:"!pl-w-full !pl-h-[5px] pl-transition-transform pl-duration-300 pl-m-auto pl-cursor-pointer !pl-bg-gray-highLight pl-rounded",style:{transform:e?"scaleY(1.8)":"unset"},children:[jsxRuntime.jsx("div",{id:"time-progress-buffer",className:"pl-absolute pl-h-[5px] pl-bg-z-gray-400/[0.7] pl-rounded",style:{width:`${i}%`}}),jsxRuntime.jsx("div",{id:"time-progress-bar",className:`pl-h-[5px] pl-rounded pl-relative pl-cursor-pointer pl-bg-primary before:pl-bg-primary before:pl-inline-block before:pl-w-4 before:pl-h-4 ${e&&"before:pl-w-7 before:pl-h-3"}`,style:{width:`${r/l*chunk7U5SWNB7_js.ga()}px`}})]})]})})]})},lo=Al;chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();var Fl=({title:e,className:o})=>jsxRuntime.jsx("span",{className:`pl-absolute pl-w-max pl-bg-paper pl-text-white/[0.9] ${chunk7U5SWNB7_js.aa("isFullScreen")?"pl-bottom-[300%]":"pl-bottom-[270%]"} pl-rounded-[8px] pl-text-[10px] pl-px-4 pl-py-[13px] pl-font-normal ${o}`,children:e}),I=Fl;var Vl=()=>{let{isFullScreen:e}=chunk7U5SWNB7_js.ca(({controller:{firstPlay:i,isFullScreen:p}})=>({firstPlay:i,isFullScreen:p}),reactRedux.shallowEqual),[o,l]=react.useState(!1),r=chunk7U5SWNB7_js.ba();return react.useEffect(()=>{chunk7U5SWNB7_js.aa("isFirstPlay")||r(chunk7U5SWNB7_js.f(!1));},[e]),jsxRuntime.jsxs("div",{className:"pl-relative pl-flex pl-items-center",children:[jsxRuntime.jsx(xe__default.default,{src:chunk7U5SWNB7_js.aa("isFullScreen")?chunkPARGBSKY_js.a.nonFullScreen:chunkPARGBSKY_js.a.fullScreen,alt:"fullScreen-icon",className:"pl-cursor-pointer",width:20,height:20,onMouseOver:()=>!chunk7U5SWNB7_js.aa("isTouchScreen")&&l(!0),onMouseLeave:()=>!chunk7U5SWNB7_js.aa("isTouchScreen")&&l(!1),onClick:()=>{chunkTURDIAQ5_js.f(),chunkTURDIAQ5_js.g();}}),o&&jsxRuntime.jsx(I,{title:`${chunk7U5SWNB7_js.aa("isFullScreen")?"\u062E\u0631\u0648\u062C \u0627\u0632":""} \u062A\u0645\u0627\u0645 \u0635\u0641\u062D\u0647`})]})},io=Vl;chunkSPUHJYDE_js.e();var Hl=()=>{let[e,o]=react.useState(!1),l=chunk7U5SWNB7_js.ba(),{params:r,details:i}=chunk7U5SWNB7_js.ca(({videoData:{params:p,details:u}})=>({params:p,details:u}),reactRedux.shallowEqual);return jsxRuntime.jsxs("div",{className:"pl-relative pl-flex pl-items-center",children:[jsxRuntime.jsx(xe__default.default,{alt:"",onMouseOver:()=>!chunk7U5SWNB7_js.aa("isTouchScreen")&&o(!0),onMouseLeave:()=>!chunk7U5SWNB7_js.aa("isTouchScreen")&&o(!1),src:chunkPARGBSKY_js.a.pictureInPicture,width:20,height:20,className:"pl-flex pl-cursor-pointer",onClick:()=>{r.onClickMiniPlayerIcon&&(localStorage.removeItem("close-miniPlayer"),chunk7U5SWNB7_js.da().pause(),l(chunk7U5SWNB7_js.a(!1)),r.onClickMiniPlayerIcon({video:i||void 0,id:r.type==="vod"?r.id:window.btoa(r.id),type:r.type,currentTime:chunk7U5SWNB7_js.da().currentTime}));}}),e&&jsxRuntime.jsx(I,{title:"\u062A\u0635\u0648\u06CC\u0631 \u062F\u0631 \u062A\u0635\u0648\u06CC\u0631 "})]})},so=Hl;chunkSPUHJYDE_js.e();var Yl=()=>{let[e,o]=react.useState(!1),l=chunk7U5SWNB7_js.ba(),{settings:r}=chunk7U5SWNB7_js.ca(({user:{settings:a}})=>({settings:a}),reactRedux.shallowEqual),i=react.useRef(r.volume),p=()=>{if(i.current!==r.volume){let{settings:a}=chunk7U5SWNB7_js.M.getState().user;chunk7U5SWNB7_js.ja(chunk7U5SWNB7_js.qa(i.current,a.volume)),i.current=a.volume,l(chunk7U5SWNB7_js.G({...a,volume:a.volume}));}},u=a=>{let{settings:f}=chunk7U5SWNB7_js.M.getState().user;a==="mute"?(chunkTURDIAQ5_js.d(0),chunk7U5SWNB7_js.ja(chunk7U5SWNB7_js.qa(f.volume,0))):(chunk7U5SWNB7_js.ja(chunk7U5SWNB7_js.qa(f.volume,100)),chunkTURDIAQ5_js.d(100));};return jsxRuntime.jsxs("div",{className:"pl-relative pl-inline-flex pl-items-center pl-gap-2 pl-sound-icon",children:[!chunk7U5SWNB7_js.aa("isTouchScreen")&&jsxRuntime.jsx("input",{onMouseUp:p,type:"range",min:"0",max:"100",value:r.volume,onChange:a=>chunkTURDIAQ5_js.d(+a.target.value),className:"pl-soundVolume pl-cursor-pointer rounded-full",style:{background:`linear-gradient(to right, white ${r.volume}%, rgba(255,255,255,0.3) 0)`}}),jsxRuntime.jsxs("div",{className:"pl-relative pl-flex pl-items-center",children:[jsxRuntime.jsx(xe__default.default,{src:chunk7U5SWNB7_js.aa("hasSound")?chunkPARGBSKY_js.a.unMute:chunkPARGBSKY_js.a.mute,alt:chunk7U5SWNB7_js.aa("hasSound")?"unmute-icon":"mute-icon",className:"pl-flex pl-items-center pl-cursor-pointer",width:20,height:20,onClick:()=>chunk7U5SWNB7_js.aa("hasSound")?u("mute"):u("unmute"),onDoubleClick:a=>a.stopPropagation(),onMouseOver:()=>!chunk7U5SWNB7_js.aa("isTouchScreen")&&o(!0),onMouseLeave:()=>!chunk7U5SWNB7_js.aa("isTouchScreen")&&o(!1)}),e&&jsxRuntime.jsx(I,{className:"pl-left-0",title:chunk7U5SWNB7_js.aa("hasSound")?"\u0635\u062F\u0627":"\u0628\u06CC\u200C\u0635\u062F\u0627"})]})]})},ao=Yl;chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();var Jl=({className:e,onClick:o})=>jsxRuntime.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,onClick:o,children:[jsxRuntime.jsx("path",{d:"M6 6L18.7742 18.7742",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx("path",{d:"M6 18.7744L18.7742 6.00022",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),co=Jl;var uo=react.forwardRef(({children:e,status:o,onClose:l,type:r,classNames:i,parentClassNames:p,styles:u,isBlurBackground:a,isFullHeight:f=!1,isHeader:c,isHasCatchUpLineOnTop:x=!1,animation:d,scrollbar:S=!1,isFocusOnInput:A=!1,headerTitle:h="",customHeader:C,headerClassName:L,showCloseIcon:m=!0},w)=>{let[X,J]=react.useState(o),[K,j]=react.useState(0),[ae,Be]=react.useState(0),{videoElementSizeInfo:Ve}=chunk7U5SWNB7_js.ca(({videoData:{videoElementSizeInfo:B}})=>({videoElementSizeInfo:B}),reactRedux.shallowEqual),ee=react.useRef(0);react.useEffect(()=>{let B;return o?J(!0):B=setTimeout(()=>{l(!1),j(0),J(!1);},500),()=>clearTimeout(B)},[o]);let te=B=>{let Yo=document.getElementById("popover-content");ee.current||(ee.current=window.innerHeight-Ve.top-Yo?.getBoundingClientRect().top),B.stopPropagation(),window.innerHeight-Ve.top-B.touches[0].clientY<ee.current&&j(window.innerHeight-B.touches[0].clientY),Be(1000005);},qe=()=>{l();},H=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[a&&jsxRuntime.jsx("div",{className:`pl-bg-black/[0.5] pl-w-screen pl-h-screen pl-fixed pl-top-0 pl-right-0 animate__animated animate__faster ${o?"animate__fadeIn":"animate__fadeOut"}`,style:{zIndex:1000001}}),jsxRuntime.jsx("div",{className:`${r==="modal"&&"pl-fixed pl-top-0 pl-left-0 pl-flex pl-w-full pl-h-full pl-justify-center pl-items-end sm:pl-items-center"} ${p}`,style:{zIndex:f&&!A?ae:1000004},children:jsxRuntime.jsx("div",{className:`pl-flex pl-flex-col pl-rounded-[8px] animate__animated animate__faster pl-bg-white/[0.9]
|
|
24
|
+
${f&&"pl-h-full"}
|
|
25
|
+
${d||(window.innerWidth>768&&r==="modal"?o?"animate__fadeIn":"animate__fadeOut":o?"animate__fadeInUp":"animate__fadeOutDown")}
|
|
26
|
+
${chunk7U5SWNB7_js.aa("isTouchScreenPortrait")?"!pl-fixed !pl-right-0 !pl-left-0 !pl-bottom-0 !pl-w-full !pl-mb-0 pl-rounded-[12px] !pl-rounded-b-none !pl-bg-white":"before:pl-hidden"}
|
|
27
|
+
${r!=="modal"&&"pl-absolute pl-bottom-[130%] pl-overflow-auto no-scrollbar"}
|
|
28
|
+
${i}
|
|
29
|
+
`,style:{height:K||"max-content",maxHeight:"80vh",zIndex:1000004,...u},ref:w,id:"popover-content",children:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[c&&jsxRuntime.jsxs("div",{onTouchMove:x?te:()=>{},onTouchEndCapture:x?qe:()=>{},className:"pl-py-4",children:[x&&jsxRuntime.jsx("div",{className:"pl-absolute pl-top-[10px] pl-right-[50%] pl-mr-[-25px] pl-text-center pl-w-8 pl-h-1 pl-rounded-[20px] pl-bg-gray-highLight"}),jsxRuntime.jsx("div",{className:`pl-mb-4 pl-border-b pl-border-secondary-300 dark:pl-border-secondary-400 pl-mx-4 ${L}`,children:C||jsxRuntime.jsxs("div",{className:"pl-flex pl-items-center pl-justify-between pl-py-[19px]",children:[jsxRuntime.jsx("p",{className:"pl-text-[18px] pl-text-black dark:pl-text-white pl-font-bold",children:h}),m&&jsxRuntime.jsx(co,{className:"pl-cursor-pointer pl-stroke-secondary-400 dark:pl-stroke-dark-5",onClick:l})]})})]}),jsxRuntime.jsx("div",{className:`pl-overflow-y-auto pl-h-full pl-w-full ${!S&&"no-scrollbar"}`,onTouchMove:B=>B.stopPropagation(),children:e})]})})})]});return jsxRuntime.jsx(jsxRuntime.Fragment,{children:X&&jsxRuntime.jsx(jsxRuntime.Fragment,{children:r==="modal"?reactDom.createPortal(jsxRuntime.jsx(jsxRuntime.Fragment,{children:H}),document.getElementById("dialog-react-root-videoPlayer")):jsxRuntime.jsx("div",{id:"player-popover",children:H})})})});uo.displayName="popover";var R=uo;chunkSPUHJYDE_js.e();var sr=({setSection:e,showQualityLevelsIcon:o})=>{let l=chunk7U5SWNB7_js.ba(),{qualityLevels:r}=chunk7U5SWNB7_js.ca(({controller:{qualityLevels:d,manualQuality:S,autoQuality:A}})=>({qualityLevels:d,manualQuality:S,autoQuality:A}),reactRedux.shallowEqual),{settings:i}=chunk7U5SWNB7_js.ca(({user:{settings:d}})=>({settings:d}),reactRedux.shallowEqual),{qualityLevelsPopover:p}=chunk7U5SWNB7_js.ca(({popovers:{qualityLevelsPopover:d}})=>({qualityLevelsPopover:d}),reactRedux.shallowEqual);chunk7U5SWNB7_js.ca(({videoData:{params:d,videoElementSizeInfo:S}})=>({params:d,videoElementSizeInfo:S}),reactRedux.shallowEqual);let[u,a]=react.useState(!1);r=[-1,...r];let f=(d,S)=>chunk7U5SWNB7_js.aa("isAutoQuality")&&S===-1?!0:!chunk7U5SWNB7_js.aa("isAutoQuality")&&i.quality===d,c=react.useRef(null);V(c,()=>l(chunk7U5SWNB7_js.D(!1)));let x=jsxRuntime.jsx("div",{id:"qualityLevels",className:"animate__animated animate__fadeIn pl-py-2",children:jsxRuntime.jsx("ul",{className:"pl-flex pl-flex-col pl-gap-2",children:r.map((d,S)=>jsxRuntime.jsxs("li",{className:`pl-flex pl-items-center pl-ps-[24.2px] pl-text-[14px] pl-font-medium pl-rounded-[4px] pl-relative pl-cursor-pointer ${f(S-1,d)&&"pl-bg-primary/[0.12] !pl-cursor-default"} ${chunk7U5SWNB7_js.aa("isTouchScreen")?"pl-py-[13.5px]":"pl-py-[9.5px]"}`,onClick:f(S-1,d)?()=>{}:()=>{chunk7U5SWNB7_js.ja(chunk7U5SWNB7_js.la(d===-1?"auto":`${d}P`)),l(chunk7U5SWNB7_js.f(!1)),l(chunk7U5SWNB7_js.B(!1)),l(chunk7U5SWNB7_js.D(!1)),l(chunk7U5SWNB7_js.G({...i,quality:d===-1?-1:S-1})),e&&e("main");},children:[!chunk7U5SWNB7_js.aa("isTouchScreen")&&f(S-1,d)&&jsxRuntime.jsx("div",{className:"pl-absolute pl-right-[11.8px]",children:jsxRuntime.jsx(xe__default.default,{src:chunkPARGBSKY_js.a.tick,alt:"",width:12,height:9})}),chunk7U5SWNB7_js.aa("isTouchScreen")&&jsxRuntime.jsx("div",{className:`pl-w-5 pl-h-5 pl-rounded-full pl-border pl-border-black/[0.5] pl-p-0.5 ${f(S-1,d)&&"pl-border-primary"}`,children:f(S-1,d)&&jsxRuntime.jsx("div",{className:"pl-w-full pl-h-full pl-rounded-full pl-bg-primary"})}),jsxRuntime.jsx("span",{className:`pl-w-full pl-text-[14px] pl-text-black/[0.87] ${chunk7U5SWNB7_js.aa("isTouchScreen")?"pl-pr-[21px]":"pl-pr-[10px]"}`,children:d===-1?jsxRuntime.jsxs("span",{children:[jsxRuntime.jsx("span",{children:"\u062E\u0648\u062F\u06A9\u0627\u0631 "}),jsxRuntime.jsx("span",{className:"pl-text-[10px] pl-font-normal pl-text-black/[0.5]",children:"(\u0628\u0631 \u0627\u0633\u0627\u0633 \u0633\u0631\u0639\u062A \u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0634\u0645\u0627)"})]}):`${d}p`})]},S))})});return jsxRuntime.jsx(jsxRuntime.Fragment,{children:o?jsxRuntime.jsxs("div",{className:"pl-relative pl-flex pl-items-center",ref:c,children:[jsxRuntime.jsx(xe__default.default,{src:chunkPARGBSKY_js.a.qualitySetting1,alt:"speed-icon",width:20,height:20,onClick:()=>l(chunk7U5SWNB7_js.D(!p)),onMouseOver:()=>!chunk7U5SWNB7_js.aa("isTouchScreen")&&!chunk7U5SWNB7_js.aa("showQualityLevelsPopover")&&a(!0),onMouseLeave:()=>!chunk7U5SWNB7_js.aa("isTouchScreen")&&a(!1),className:"pl-cursor-pointer"}),u&&jsxRuntime.jsx(I,{title:"\u06A9\u06CC\u0641\u06CC\u062A"}),jsxRuntime.jsx(R,{classNames:`!pl-p-0 pl-overflow-hidden !pl-bg-white ${chunk7U5SWNB7_js.aa("isTouchScreen")?"!pl-fixed !pl-bottom-0 !pl-rounded-t-[20px] pl-rounded-b-none":"pl-right-0 pl-mb-[33px] !pl-rounded-[12px] pl-w-[230px]"} ${chunk7U5SWNB7_js.aa("isTouchScreenPortrait")&&"!pl-w-screen tablet:pl-max-w-[440px]"} ${chunk7U5SWNB7_js.aa("isTouchScreenLandscape")&&"pl-w-full pl-max-w-[440px]"}`,status:p,onClose:()=>l(chunk7U5SWNB7_js.D(!1)),type:chunk7U5SWNB7_js.aa("isTouchScreen")?"modal":"popover",isBlurBackground:chunk7U5SWNB7_js.aa("isTouchScreenPortrait"),ref:chunk7U5SWNB7_js.aa("isTouchScreenPortrait")?c:void 0,isHeader:chunk7U5SWNB7_js.aa("isTouchScreen"),customHeader:jsxRuntime.jsx(jsxRuntime.Fragment,{}),isHasCatchUpLineOnTop:chunk7U5SWNB7_js.aa("isTouchScreen"),children:x})]}):jsxRuntime.jsx(jsxRuntime.Fragment,{children:x})})},Ae=react.memo(sr);chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();var pr=({className:e,onClick:o,onMouseOver:l,onMouseLeave:r})=>jsxRuntime.jsxs("svg",{width:"18",height:"15",viewBox:"0 0 18 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,onClick:o,onMouseOver:l,onMouseLeave:r,children:[jsxRuntime.jsx("path",{d:"M10.5488 1.53559C8.20532 1.02852 5.66339 1.68608 3.84359 3.50588C1.15649 6.19298 1.00481 10.4572 3.39041 13.3215C3.55135 13.5148 3.8176 13.6347 4.13036 13.6347H13.8687C14.1816 13.6347 14.4476 13.5149 14.6085 13.3217C16.0815 11.5533 16.5884 9.25027 16.1258 7.11249C16.0528 6.77512 16.2671 6.44245 16.6045 6.36945C16.9418 6.29645 17.2745 6.51077 17.3475 6.84814C17.8886 9.34866 17.2968 12.0474 15.569 14.1217C15.1326 14.6455 14.489 14.8847 13.8687 14.8847H4.13036C3.50995 14.8847 2.86616 14.6453 2.42991 14.1215C-0.36559 10.765 -0.188583 5.77029 2.95971 2.622C5.09241 0.489299 8.07189 -0.279272 10.8132 0.31386C11.1505 0.386857 11.3648 0.719527 11.2918 1.0569C11.2188 1.39427 10.8862 1.60859 10.5488 1.53559Z"}),jsxRuntime.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M14.9976 2.66523C15.2417 2.9093 15.2417 3.30503 14.9976 3.54911L10.7129 7.83399C10.8469 8.09798 10.9225 8.39667 10.9225 8.713C10.9225 9.78688 10.0519 10.6574 8.97805 10.6574C7.90417 10.6574 7.03362 9.78688 7.03362 8.713C7.03362 7.63912 7.90417 6.76856 8.97805 6.76856C9.27953 6.76856 9.56498 6.83718 9.81965 6.95963C9.82222 6.95697 9.82483 6.95432 9.82746 6.95168L14.1137 2.66525C14.3578 2.42116 14.7535 2.42115 14.9976 2.66523ZM9.67249 8.713C9.67249 9.09652 9.36158 9.40743 8.97805 9.40743C8.59453 9.40743 8.28362 9.09652 8.28362 8.713C8.28362 8.32947 8.59453 8.01856 8.97805 8.01856C9.36158 8.01856 9.67249 8.32947 9.67249 8.713Z"})]}),Fe=pr;var fr=[.5,.75,1,1.25,1.5,1.75,2],hr=({setSection:e,showSpeedIcon:o})=>{let l=chunk7U5SWNB7_js.ba();chunk7U5SWNB7_js.ca(({videoData:{videoElementSizeInfo:c,params:x}})=>({videoElementSizeInfo:c,params:x}),reactRedux.shallowEqual);let{speedPopover:r}=chunk7U5SWNB7_js.ca(({popovers:{speedPopover:c}})=>({speedPopover:c}),reactRedux.shallowEqual),{settings:i}=chunk7U5SWNB7_js.ca(({user:{settings:c}})=>({settings:c}),reactRedux.shallowEqual),p=react.useRef(null),[u,a]=react.useState(!1);V(p,()=>l(chunk7U5SWNB7_js.C(!1))),react.useEffect(()=>{chunk7U5SWNB7_js.da()&&(chunk7U5SWNB7_js.da().playbackRate=i.speed);},[]);let f=jsxRuntime.jsx("div",{id:"speed",className:"animate__animated animate__fadeIn pl-py-2",children:jsxRuntime.jsx("ul",{className:"pl-flex pl-flex-col pl-gap-2",children:fr.map((c,x)=>jsxRuntime.jsxs("li",{className:`pl-flex pl-items-center pl-ps-[24.2px] pl-text-[14px] pl-font-medium pl-rounded-[4px] pl-relative pl-cursor-pointer ${i.speed===c&&"pl-bg-primary/[0.12] !pl-cursor-default"} ${chunk7U5SWNB7_js.aa("isTouchScreen")?"pl-py-[13.5px]":"pl-py-[9.5px]"}`,onClick:i.speed===c?()=>{}:()=>{chunk7U5SWNB7_js.aa("isStaticFormat")||chunk7U5SWNB7_js.ja(chunk7U5SWNB7_js.ka(c)),l(chunk7U5SWNB7_js.f(!1)),l(chunk7U5SWNB7_js.B(!1)),l(chunk7U5SWNB7_js.C(!1)),l(chunk7U5SWNB7_js.G({...i,speed:c})),chunk7U5SWNB7_js.da().playbackRate=c,e&&e("main");},children:[!chunk7U5SWNB7_js.aa("isTouchScreen")&&i.speed===c&&jsxRuntime.jsx("div",{className:"pl-absolute pl-right-[11.8px]",children:jsxRuntime.jsx(xe__default.default,{src:chunkPARGBSKY_js.a.tick,alt:"",width:12,height:9})}),chunk7U5SWNB7_js.aa("isTouchScreen")&&jsxRuntime.jsx("div",{className:`pl-w-5 pl-h-5 pl-rounded-full pl-border pl-border-black/[0.5] pl-p-0.5 ${i.speed===c&&"pl-border-primary"}`,children:i.speed===c&&jsxRuntime.jsx("div",{className:"pl-w-full pl-h-full pl-rounded-full pl-bg-primary"})}),jsxRuntime.jsx("p",{className:`pl-w-full pl-flex pl-items-center pl-gap-2 pl-text-black/[0.87] ${chunk7U5SWNB7_js.aa("isTouchScreen")?"pl-pr-[21px]":"pl-pr-[10px]"}`,children:c})]},x))})});return jsxRuntime.jsx(jsxRuntime.Fragment,{children:o?jsxRuntime.jsxs("div",{className:"pl-relative pl-flex pl-items-center",ref:p,children:[jsxRuntime.jsx(Fe,{className:"pl-size-5 pl-cursor-pointer size-5 pl-fill-white",onClick:()=>l(chunk7U5SWNB7_js.C(!r)),onMouseOver:()=>!chunk7U5SWNB7_js.aa("isTouchScreen")&&!chunk7U5SWNB7_js.aa("showSpeedPopover")&&a(!0),onMouseLeave:()=>!chunk7U5SWNB7_js.aa("isTouchScreen")&&a(!1)}),u&&jsxRuntime.jsx(I,{title:"\u0633\u0631\u0639\u062A"}),jsxRuntime.jsx(R,{classNames:`!pl-p-0 pl-overflow-hidden !pl-bg-white ${chunk7U5SWNB7_js.aa("isTouchScreen")?"!pl-fixed !pl-bottom-0 !pl-rounded-t-[20px] pl-rounded-b-none":"!pl-w-[230px] pl-right-0 pl-mb-[33px] !pl-rounded-[12px]"} ${chunk7U5SWNB7_js.aa("isTouchScreenPortrait")&&"!pl-w-screen tablet:!pl-max-w-[440px] tablet:!pl-mx-auto"} ${chunk7U5SWNB7_js.aa("isTouchScreenLandscape")&&"pl-w-full pl-max-w-[440px]"}`,status:r,onClose:()=>l(chunk7U5SWNB7_js.C(!1)),type:chunk7U5SWNB7_js.aa("isTouchScreen")?"modal":"popover",isBlurBackground:chunk7U5SWNB7_js.aa("isTouchScreenPortrait"),ref:chunk7U5SWNB7_js.aa("isTouchScreenPortrait")?p:void 0,isHeader:chunk7U5SWNB7_js.aa("isTouchScreen"),customHeader:jsxRuntime.jsx(jsxRuntime.Fragment,{}),isHasCatchUpLineOnTop:chunk7U5SWNB7_js.aa("isTouchScreen"),children:f})]}):jsxRuntime.jsx(jsxRuntime.Fragment,{children:f})})},De=hr;chunkSPUHJYDE_js.e();var vr=({enabled:e,setEnabled:o})=>jsxRuntime.jsx("div",{className:`pl-relative pl-h-[22px] pl-w-[37px] pl-cursor-pointer pl-rounded-[15px] pl-transition-colors pl-duration-150 pl-ease-linear ${e?"pl-bg-primary pl-border pl-border-transparent":"pl-bg-secondary-200 pl-border pl-border-gray-highLight"}`,onClick:o,children:jsxRuntime.jsx("div",{className:`pl-absolute pl-left-1 pl-top-[2px] pl-w-[16px] pl-h-[16px] pl-rounded-full pl-transition-transform pl-duration-150 pl-ease-linear ${e?"pl-bg-white pl-translate-x-[13px]":"pl-bg-black/[0.16] -pl-translate-x-0.5"}`})}),xo=vr;chunkSPUHJYDE_js.e();var Sr=({setSection:e})=>{let o=chunk7U5SWNB7_js.ba(),{subtitles:l,selectedSubtitle:r}=chunk7U5SWNB7_js.ca(({videoData:{subtitles:i,selectedSubtitle:p}})=>({subtitles:i,selectedSubtitle:p}),reactRedux.shallowEqual);return jsxRuntime.jsx("div",{id:"subtitles",className:"animate__animated animate__fadeIn pl-p-[14px]",children:jsxRuntime.jsxs("ul",{className:"pl-flex pl-flex-col pl-p-0 pl-m-0",children:[jsxRuntime.jsx("li",{className:`pl-flex pl-items-center pl-text-[14px] pl-rounded-[4px] pl-relative pl-cursor-pointer pl-leading-6 hover:pl-bg-main/[0.1] hover:dark:pl-bg-white/[0.25] pl-p-1 pl-pr-2 ${!r&&"pl-bg-main-light hover:!pl-bg-main-light pl-text-dark-5"}`,onClick:()=>{o(chunk7U5SWNB7_js.f(!1)),o(chunk7U5SWNB7_js.B(!1)),o(chunk7U5SWNB7_js.A(void 0)),e("main");let i=Object.values(chunk7U5SWNB7_js.da().textTracks).find(p=>p.mode==="showing");i&&(i.mode="disabled"),o(chunk7U5SWNB7_js.z("")),chunk7U5SWNB7_js.ja(chunk7U5SWNB7_js.ya("empty"));},children:"\u0628\u062F\u0648\u0646 \u0632\u06CC\u0631\u0646\u0648\u06CC\u0633"}),l.map((i,p)=>jsxRuntime.jsx("li",{className:`pl-flex pl-items-center pl-text-[14px] pl-rounded-[4px] pl-relative pl-cursor-pointer pl-leading-6 hover:pl-bg-main/[0.1] hover:dark:pl-bg-white/[0.25] pl-p-1 pl-pr-2 ${r&&r.language===i.language&&"pl-bg-main-light hover:!pl-bg-main-light pl-text-dark-5"}`,onClick:()=>{o(chunk7U5SWNB7_js.f(!1)),o(chunk7U5SWNB7_js.B(!1)),o(chunk7U5SWNB7_js.A(i)),chunk7U5SWNB7_js.da().textTracks[p].mode="showing",e("main"),chunk7U5SWNB7_js.ja(chunk7U5SWNB7_js.ya(i.language));},children:jsxRuntime.jsx("span",{children:i.label})},p))]})})},So=react.memo(Sr);var Tr=()=>{let e=chunk7U5SWNB7_js.ba(),{selectedSubtitle:o}=chunk7U5SWNB7_js.ca(({videoData:{params:f,subtitles:c,selectedSubtitle:x}})=>({params:f,subtitles:c,selectedSubtitle:x}),reactRedux.shallowEqual),{settingPopover:l}=chunk7U5SWNB7_js.ca(({popovers:{settingPopover:f}})=>({settingPopover:f}),reactRedux.shallowEqual),[r,i]=react.useState("main"),[p,u]=react.useState(!1),a=react.useRef(null);return V(a,()=>{e(chunk7U5SWNB7_js.B(!1)),setTimeout(()=>i("main"),500);}),jsxRuntime.jsxs("div",{className:`pl-inline-flex ${chunk7U5SWNB7_js.aa("isLandscape")&&"pl-relative"}`,ref:a,children:[jsxRuntime.jsxs("div",{className:"pl-flex pl-items-center pl-relative pl-cursor-pointer",onClick:()=>e(chunk7U5SWNB7_js.B(!l)),onMouseOver:()=>!chunk7U5SWNB7_js.aa("isTouchScreen")&&!chunk7U5SWNB7_js.aa("showSettingPopover")&&u(!0),onMouseLeave:()=>!chunk7U5SWNB7_js.aa("isTouchScreen")&&u(!1),children:[jsxRuntime.jsx(xe__default.default,{src:chunkPARGBSKY_js.a.settings,alt:"",width:20,height:20}),p&&jsxRuntime.jsx(I,{title:"\u062A\u0646\u0638\u06CC\u0645\u0627\u062A "})]}),jsxRuntime.jsx(R,{classNames:`!pl-p-0 pl-overflow-hidden !pl-bg-white ${chunk7U5SWNB7_js.aa("isTouchScreen")?"!pl-fixed !pl-bottom-0 !pl-rounded-t-[20px] pl-rounded-b-none":"!pl-w-[230px] pl-right-0 pl-mb-[33px] !pl-rounded-[12px]"} ${chunk7U5SWNB7_js.aa("isTouchScreenPortrait")&&"!pl-w-screen tablet:!pl-max-w-[285px] tablet:!pl-mx-auto"} ${chunk7U5SWNB7_js.aa("isTouchScreenLandscape")&&"pl-w-full pl-max-w-[285px]"}`,status:l,onClose:()=>{e(chunk7U5SWNB7_js.B(!1)),setTimeout(()=>i("main"),500);},type:chunk7U5SWNB7_js.aa("isTouchScreen")?"modal":"popover",isBlurBackground:chunk7U5SWNB7_js.aa("isTouchScreenPortrait"),ref:chunk7U5SWNB7_js.aa("isTouchScreenPortrait")?a:void 0,isHeader:chunk7U5SWNB7_js.aa("isTouchScreen"),customHeader:jsxRuntime.jsx(jsxRuntime.Fragment,{}),isHasCatchUpLineOnTop:chunk7U5SWNB7_js.aa("isTouchScreen"),children:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[r==="main"&&jsxRuntime.jsxs("div",{id:"main",className:"pl-p-4 pl-rounded-[10px] pl-flex pl-flex-col pl-gap-5 animate__animated animate__fadeIn",children:[!chunk7U5SWNB7_js.aa("isStaticFormat")&&jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsxs("div",{className:"pl-flex pl-items-center pl-gap-[10px] pl-cursor-pointer",onClick:()=>i("qualityLevels"),children:[jsxRuntime.jsx(xe__default.default,{src:chunkPARGBSKY_js.a.qualitySetting,alt:"",width:16,height:16}),jsxRuntime.jsx("p",{className:"pl-ml-auto pl-text-[12px] pl-font-medium pl-text-black/[0.87]",children:"\u06A9\u06CC\u0641\u06CC\u062A \u067E\u062E\u0634"}),jsxRuntime.jsx(xe__default.default,{src:chunkPARGBSKY_js.a.chevronLeft,alt:"",width:16,height:16})]})}),jsxRuntime.jsxs("div",{className:"pl-flex pl-items-center pl-gap-[10px] pl-cursor-pointer",onClick:()=>i("speed"),children:[jsxRuntime.jsx(Fe,{className:"size-5 pl-fill-black/[0.5]"}),jsxRuntime.jsx("p",{className:"pl-ml-auto pl-text-[12px] pl-font-medium pl-text-black/[0.87]",children:"\u0633\u0631\u0639\u062A"}),jsxRuntime.jsx(xe__default.default,{src:chunkPARGBSKY_js.a.chevronLeft,alt:"",width:16,height:16})]}),chunk7U5SWNB7_js.aa("hasSubtitles")&&chunk7U5SWNB7_js.aa("isTouchScreenPortrait")&&jsxRuntime.jsxs("div",{className:"pl-flex pl-items-center pl-gap-[10px] pl-cursor-pointer",children:[jsxRuntime.jsx(xe__default.default,{src:chunkPARGBSKY_js.a.subtitleOutlineGray,alt:"subtitle-icon",width:20,height:20}),jsxRuntime.jsx("p",{className:"pl-ml-auto pl-text-[12px] pl-font-medium pl-text-black/[0.87]",children:"\u0632\u06CC\u0631\u0646\u0648\u06CC\u0633"}),jsxRuntime.jsx(xo,{enabled:!!o,setEnabled:chunkNLWM4ZIO_js.b})]})]}),r==="qualityLevels"&&jsxRuntime.jsx(Ae,{setSection:i}),r==="speed"&&jsxRuntime.jsx(De,{setSection:i}),r==="subtitles"&&jsxRuntime.jsx(So,{setSection:i})]})})]})},wo=react.memo(Tr);chunkSPUHJYDE_js.e();var Pr=()=>{let{duration:e,currentTime:o}=chunk7U5SWNB7_js.ca(({controller:{duration:l,currentTime:r}})=>({duration:l,currentTime:r}),reactRedux.shallowEqual);return chunk7U5SWNB7_js.ca(({videoData:{videoElementSizeInfo:l,params:r}})=>({videoElementSizeInfo:l,params:r}),reactRedux.shallowEqual),jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsxs("div",{className:`pl-mr-auto !pl-text-white pl-w-full pl-max-w-max pl-text-[12px] pl-font-bold ${chunk7U5SWNB7_js.aa("isFullScreen")?"pl-ml-8":"pl-ml-4"} ${chunk7U5SWNB7_js.aa("isTouchScreenPortrait")?"!pl-ml-0":"pl-absolute pl-left-0 pl-bottom-full pl-mb-[33px]"}`,children:[jsxRuntime.jsx("span",{children:chunk7U5SWNB7_js.P(e)}),jsxRuntime.jsx("span",{children:" / "}),jsxRuntime.jsx("span",{children:chunk7U5SWNB7_js.P(o)})]})})},Oe=Pr;chunkSPUHJYDE_js.e();var Nr=()=>jsxRuntime.jsx(xe__default.default,{src:chunkPARGBSKY_js.a.unlock,alt:"unlock-icon",width:20,height:20,onClick:()=>chunkTURDIAQ5_js.h("lock")}),Po=Nr;chunkSPUHJYDE_js.e();var Fr=()=>{let[e,o]=react.useState(!1);return chunk7U5SWNB7_js.ca(({videoData:{selectedSubtitle:l,videoElementSizeInfo:r,params:i}})=>({selectedSubtitle:l,videoElementSizeInfo:r,params:i}),reactRedux.shallowEqual),jsxRuntime.jsxs("div",{className:"pl-relative pl-flex pl-items-center",children:[jsxRuntime.jsx(xe__default.default,{alt:"subtitle-icon",src:chunk7U5SWNB7_js.aa("isSelectedSubtitle")?chunkPARGBSKY_js.a.subtitleFill:chunkPARGBSKY_js.a.subtitleOutline,className:"pl-cursor-pointer",width:20,height:20,onClick:chunkNLWM4ZIO_js.b,onDoubleClick:l=>l.stopPropagation(),onMouseOver:()=>!chunk7U5SWNB7_js.aa("isTouchScreen")&&o(!0),onMouseLeave:()=>!chunk7U5SWNB7_js.aa("isTouchScreen")&&o(!1)}),e&&jsxRuntime.jsx(I,{title:"\u0632\u06CC\u0631\u0646\u0648\u06CC\u0633"})]})},Co=Fr;chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();var _r=e=>(chunk7U5SWNB7_js.ca(({videoData:{videoElementSizeInfo:o,params:l}})=>({videoElementSizeInfo:o,params:l}),reactRedux.shallowEqual),jsxRuntime.jsxs("svg",{width:20,height:20,viewBox:"0 0 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[jsxRuntime.jsx("rect",{x:"3",y:"3",width:"4",height:"4",rx:"1.5"}),jsxRuntime.jsx("rect",{x:"3",y:"9",width:"4",height:"4",rx:"1.5"}),jsxRuntime.jsx("rect",{x:"3",y:"15",width:"4",height:"4",rx:"1.5"}),jsxRuntime.jsx("rect",{x:"8",y:"16",width:"11",height:"2",rx:"1"}),jsxRuntime.jsx("rect",{x:"8",y:"10",width:"11",height:"2",rx:"1"}),jsxRuntime.jsx("rect",{x:"8",y:"4",width:"11",height:"2",rx:"1"})]})),Eo=_r;var qr=()=>{react.useState(0);react.useState(void 0);let [i,p]=react.useState(!1),{markers:u,params:a}=chunk7U5SWNB7_js.ca(({videoData:{markers:h,params:C,videoElementSizeInfo:L}})=>({markers:h,params:C,videoElementSizeInfo:L}),reactRedux.shallowEqual),{markersListPopover:f}=chunk7U5SWNB7_js.ca(({popovers:{markersListPopover:h}})=>({markersListPopover:h}),reactRedux.shallowEqual),c=react.useRef(null),x=chunk7U5SWNB7_js.ba();V(c,()=>x(chunk7U5SWNB7_js.E(!1)));let S=(h,C,L,m,w)=>{chunk7U5SWNB7_js.fa()&&(chunk7U5SWNB7_js.fa().style.width=`${Bt(h)}px`),chunkTURDIAQ5_js.i(chunk7U5SWNB7_js.da().currentTime,h),chunk7U5SWNB7_js.da().currentTime=h,x(chunk7U5SWNB7_js.E(!1)),chunk7U5SWNB7_js.ja(chunk7U5SWNB7_js.za(C,h,L,m,w));},A=()=>{x(chunk7U5SWNB7_js.E(!f));};return jsxRuntime.jsxs("div",{className:`pl-flex pl-items-center pl-p-1 pl-relative ${chunk7U5SWNB7_js.aa("showMarkerListPopover")&&"pl-bg-secondary-50/[0.4] pl-rounded-[4px]"}`,ref:c,children:[jsxRuntime.jsx(Eo,{className:"pl-cursor-pointer pl-fill-dark-5",onClick:A,onMouseOver:()=>!chunk7U5SWNB7_js.aa("isTouchScreen")&&p(!0),onMouseLeave:()=>!chunk7U5SWNB7_js.aa("isTouchScreen")&&p(!1)}),i&&jsxRuntime.jsx(I,{title:"\u0644\u06CC\u0633\u062A \u0646\u0634\u0627\u0646\u06AF\u0631\u0647\u0627 (e)",className:"!pl-bottom-[180%] !pl-right-[-48px]"}),jsxRuntime.jsx(R,{classNames:"!pl-p-0 pl-left-0 !pl-bg-white dark:!pl-bg-dark-13 !pl-rounded-[4px] pl-mb-[33px]",status:chunk7U5SWNB7_js.aa("showMarkerListPopover"),onClose:()=>{x(chunk7U5SWNB7_js.E(!1));},headerTitle:"\u0646\u0634\u0627\u0646\u06AF\u0631\u0647\u0627",isHeader:!0,type:"popover",children:jsxRuntime.jsx("div",{className:"pl-flex pl-flex-col pl-gap-6 pl-mx-2 pl-mt-2",children:jsxRuntime.jsx("div",{className:"pl-flex pl-flex-col pl-gap-2 pl-pb-2",children:u.map(h=>jsxRuntime.jsx("div",{onClick:()=>S(h.time,h.id,h.title,h.description,h.sticker),className:"odd:dark:pl-bg-dark-1 odd:pl-bg-main/[0.1] hover:pl-bg-main/[0.1] hover:dark:bg-white/[0.25] pl-rounded-[8px]",children:jsxRuntime.jsxs("div",{className:"pl-flex pl-item-center pl-gap-2 pl-cursor-pointer pl-rounded-[4px] pl-relative pl-p-2 pl-mx-2",children:[h.banner||!h.sticker?jsxRuntime.jsx(xe__default.default,{src:h.banner?h.banner:"IMAGES.defaultMarkersListItemIcon",width:40,height:40,alt:h.title}):jsxRuntime.jsx("div",{className:"pl-w-[40px] pl-h-[40px] pl-bg-secondary dark:pl-bg-secondary-50 pl-rounded-[6px] pl-flex pl-items-center",children:jsxRuntime.jsx(ve,{name:h.sticker,className:"pl-w-[20px] pl-h-[20px] pl-mx-auto"})}),jsxRuntime.jsxs("div",{className:"pl-text-gray-800 dark:pl-text-white",children:[jsxRuntime.jsx("p",{className:"pl-flex pl-items-center pl-mb-1 pl-text-[14px] pl-font-bold pl-w-[130px] pl-whitespace-nowrap pl-overflow-hidden pl-text-ellipsis",children:jsxRuntime.jsx("div",{children:h.title})}),jsxRuntime.jsx("p",{className:"pl-text-[13px] pl-font-normal pl-w-[200px] pl-whitespace-nowrap pl-overflow-hidden pl-text-ellipsis",children:h.description})]}),jsxRuntime.jsx("span",{className:"pl-absolute pl-left-9 pl-top-2 pl-text-[12px] pl-font-bold pl-bg-secondary/[0.3] dark:pl-bg-secondary/[0.6] pl-text-gray-800 dark:pl-text-white pl-rounded-[4px] pl-p-[3px]",children:chunk7U5SWNB7_js.P(h.time)})]})},h.id))})})})]})},Io=qr;var Rr=()=>{chunk7U5SWNB7_js.ca(({controller:{isFullScreen:o}})=>({isFullScreen:o}),reactRedux.shallowEqual),chunk7U5SWNB7_js.ca(({videoData:{videoElementSizeInfo:o,params:l}})=>({videoElementSizeInfo:o,params:l}),reactRedux.shallowEqual);let e="";return chunk7U5SWNB7_js.aa("isTouchScreen")?chunk7U5SWNB7_js.aa("isFullScreen")?e="pl-mx-6":e="pl-mx-4":chunk7U5SWNB7_js.aa("isFullScreen")?e="pl-mx-8":e="pl-mx-4",jsxRuntime.jsxs("div",{id:"player-controllbar",className:`pl-flex pl-justify-between pl-items-center ${e}`,children:[jsxRuntime.jsxs("div",{className:"pl-flex pl-items-center pl-gap-5",children:[jsxRuntime.jsx(io,{}),chunk7U5SWNB7_js.aa("isTouchScreenLandscape")&&jsxRuntime.jsx(Po,{}),chunk7U5SWNB7_js.aa("showPictureInPicture")&&jsxRuntime.jsx(so,{}),chunk7U5SWNB7_js.aa("showSettingIcon")&&jsxRuntime.jsx(wo,{}),chunk7U5SWNB7_js.aa("isFullScreen")&&!chunk7U5SWNB7_js.aa("isStaticFormat")&&jsxRuntime.jsx(Ae,{showQualityLevelsIcon:!0}),(chunk7U5SWNB7_js.aa("isFullScreen")||chunk7U5SWNB7_js.aa("isStaticFormat"))&&jsxRuntime.jsx(De,{showSpeedIcon:!0}),chunk7U5SWNB7_js.aa("hasSubtitles")&&!chunk7U5SWNB7_js.aa("isTouchScreenPortrait")&&jsxRuntime.jsx(Co,{})]}),jsxRuntime.jsxs("div",{className:"pl-flex pl-items-center pl-gap-5",children:[chunk7U5SWNB7_js.aa("isTouchScreenPortrait")&&jsxRuntime.jsx(Oe,{}),!chunk7U5SWNB7_js.aa("isIOS")&&jsxRuntime.jsx(ao,{}),chunk7U5SWNB7_js.aa("hasMarkers")&&jsxRuntime.jsx(Io,{})]})]})},Mo=react.memo(Rr);chunkSPUHJYDE_js.e();var Xr=()=>{chunk7U5SWNB7_js.ca(({videoData:{subtitleText:l,selectedSubtitle:r}})=>({subtitleText:l,selectedSubtitle:r}),reactRedux.shallowEqual);chunk7U5SWNB7_js.ca(({controller:{isFullScreen:l}})=>({isFullScreen:l}),reactRedux.shallowEqual);let o=()=>{let l="";return chunk7U5SWNB7_js.aa("isLock")?l="pl-bottom-3":chunk7U5SWNB7_js.aa("isActiveElements")?chunk7U5SWNB7_js.aa("isTouchScreenPortrait")?l="pl-bottom-[45px]":chunk7U5SWNB7_js.aa("isFullScreen")?l="pl-bottom-[120px]":l="pl-bottom-[106px]":chunk7U5SWNB7_js.aa("isActiveElements")||(l="pl-bottom-3"),l};return jsxRuntime.jsx("div",{id:"subtitle-id",style:{direction:"ltr"},className:`pl-absolute pl-w-full pl-text-center pl-text-[18px] pl-px-4 ${chunk7U5SWNB7_js.aa("isFullScreen")&&"pl-text-[16px]"} pl-text-white pl-font-medium ${o()}`,children:jsxRuntime.jsx("p",{className:"pl-mx-auto pl-bg-Common-black-overlay-2 pl-text-wrap pl-max-w-full pl-w-max pl-px-1",children:"Lorem ipsum dolor sit amet consectetur adipisicing elit. Quidem, assumenda aperiam iusto impedit ipsum obcaecati sint"})})},Do=Xr;var Hr=()=>{chunk7U5SWNB7_js.ca(({controller:{lock:o,isFullScreen:l,isLoading:r,activeElements:i}})=>({lock:o,isFullScreen:l,isLoading:r,activeElements:i}),reactRedux.shallowEqual),chunk7U5SWNB7_js.ca(({videoData:{subtitles:o,selectedSubtitle:l}})=>({subtitles:o,selectedSubtitle:l}),reactRedux.shallowEqual);let e="";return chunk7U5SWNB7_js.aa("isTouchScreen")?chunk7U5SWNB7_js.aa("isFullScreen")?e="pl-gap-6 pl-mb-6":e="pl-gap-6 pl-mb-0":chunk7U5SWNB7_js.aa("isFullScreen")?e="pl-gap-6 pl-mb-8":e="pl-gap-4 pl-mb-3",jsxRuntime.jsx("div",{id:"footer",className:"pl-relative",style:{zIndex:4},onClick:o=>o.stopPropagation(),children:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[chunk7U5SWNB7_js.aa("showSubtitle")&&jsxRuntime.jsx(Do,{}),!chunk7U5SWNB7_js.aa("isLock")&&jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsxs("div",{className:`pl-flex pl-flex-col pl-w-full pl-mx-auto animate__animated animate__faster ${e} ${chunk7U5SWNB7_js.aa("isActiveElements")&&!chunk7U5SWNB7_js.aa("isLoading")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,children:[!chunk7U5SWNB7_js.aa("isTouchScreenPortrait")&&jsxRuntime.jsx(Oe,{}),chunk7U5SWNB7_js.aa("showProgressbar")&&jsxRuntime.jsx(lo,{}),jsxRuntime.jsx(Mo,{})]})})]})})},Bo=Hr;chunkSPUHJYDE_js.e();var Ur=Vo__default.default(()=>import('./staticVideoTag-HRY4RUM4.js')),Wr=Vo__default.default(()=>import('./nonStaticVideoTag-KJWRKNCR.js')),Qr=()=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:chunk7U5SWNB7_js.aa("isStaticFormat")?jsxRuntime.jsx(Ur,{}):jsxRuntime.jsx(Wr,{})}),qo=Qr;chunkSPUHJYDE_js.e();var Jr=()=>{let e=chunk7U5SWNB7_js.ba();chunk7U5SWNB7_js.ca(({videoData:{params:o}})=>({params:o}),reactRedux.shallowEqual),react.useEffect(()=>{let o=()=>{document.fullscreenElement?e(chunk7U5SWNB7_js.h(!0)):(e(chunk7U5SWNB7_js.h(!1)),chunkTURDIAQ5_js.j(),chunk7U5SWNB7_js.ja(chunk7U5SWNB7_js.oa("exitFullScreen")));};document.addEventListener&&(document.addEventListener("webkitfullscreenchange",o,!1),document.addEventListener("mozfullscreenchange",o,!1),document.addEventListener("fullscreenchange",o,!1),document.addEventListener("MSFullscreenChange",o,!1));},[]);},zo=Jr;chunkSPUHJYDE_js.e();var jr=(e,o)=>{let l=chunk7U5SWNB7_js.ba(),{activeElements:r}=chunk7U5SWNB7_js.ca(({controller:{activeElements:a}})=>({activeElements:a}),reactRedux.shallowEqual),i=react.useRef(null),p=react.useRef(e),u=react.useRef(o);react.useEffect(()=>{p.current=e;},[e]),react.useEffect(()=>{u.current=o;},[o]),react.useEffect(()=>{let a=!1,f=d=>{let{activeElements:S,isEnded:A}=chunk7U5SWNB7_js.M.getState().controller;A?l(chunk7U5SWNB7_js.f(!0)):d.pointerType==="mouse"&&(clearTimeout(i.current),S?["player-tag","main-content","player-controllbar","video-opacity","playerElements","touchBackward","touchForward"].includes(d.target.id)&&(a=!0):l(chunk7U5SWNB7_js.f(!0)),i.current=setTimeout(()=>{let{settingPopover:h,speedPopover:C,qualityLevelsPopover:L}=chunk7U5SWNB7_js.M.getState().popovers,{play:m}=chunk7U5SWNB7_js.M.getState().controller;!h&&!C&&!L&&m&&a&&l(chunk7U5SWNB7_js.f(!1));},chunkESB3FO2C_js.a));},c=d=>{setTimeout(()=>{let{activeElements:S,isEnded:A,firstPlay:h}=chunk7U5SWNB7_js.M.getState().controller;if(clearTimeout(i.current),A)return l(chunk7U5SWNB7_js.f(!0));chunk7U5SWNB7_js.O()&&!h&&!p.current&&!u.current&&(["player-tag","main-content","video-opacity","touchBackward","touchForward"].includes(d.target.id)||chunk7U5SWNB7_js.R(d,"playerElements")?(l(chunk7U5SWNB7_js.f(!S)),i.current=setTimeout(()=>{let{settingPopover:C,speedPopover:L,qualityLevelsPopover:m}=chunk7U5SWNB7_js.M.getState().popovers;!C&&!L&&!m&&l(chunk7U5SWNB7_js.f(!1));},chunkESB3FO2C_js.a)):i.current=setTimeout(()=>{let{settingPopover:C,speedPopover:L,qualityLevelsPopover:m}=chunk7U5SWNB7_js.M.getState().popovers;!C&&!L&&!m&&l(chunk7U5SWNB7_js.f(!1));},chunkESB3FO2C_js.a));},200);},x=()=>{clearTimeout(i.current),i.current=setTimeout(()=>{let{activeElements:d,isEnded:S}=chunk7U5SWNB7_js.M.getState().controller,{settingPopover:A,speedPopover:h,qualityLevelsPopover:C}=chunk7U5SWNB7_js.M.getState().popovers;S?l(chunk7U5SWNB7_js.f(!0)):!A&&!h&&!C&&d&&!S&&l(chunk7U5SWNB7_js.f(!d));},chunkESB3FO2C_js.a);};return document.getElementById("video-area").addEventListener("touchstart",c),document.getElementById("video-area").addEventListener("touchmove",x),document.getElementById("video-area").addEventListener("pointermove",f),()=>{let d=document.getElementById("video-area");d&&(d.removeEventListener("touchstart",c),d.removeEventListener("touchmove",x),d.removeEventListener("pointermove",f));}},[r,e,o]);},Ro=jr;chunkSPUHJYDE_js.e();var oi=()=>{let{firstPlay:e,isFullScreen:o}=chunk7U5SWNB7_js.ca(({controller:{firstPlay:l,isFullScreen:r}})=>({firstPlay:l,isFullScreen:r}),reactRedux.shallowEqual);react.useEffect(()=>{if(chunk7U5SWNB7_js.da()){let l,r=()=>{l=setTimeout(()=>{chunkTURDIAQ5_js.j();},chunk7U5SWNB7_js.O()?0:300);};return r(),window.addEventListener("resize",r),()=>{window.removeEventListener("resize",r),clearTimeout(l);}}},[e,o,chunk7U5SWNB7_js.da()]);},Xo=oi;chunkSPUHJYDE_js.e();var ri=()=>{let{firstPlay:e}=chunk7U5SWNB7_js.ca(({controller:{firstPlay:o}})=>({firstPlay:o}),reactRedux.shallowEqual);chunk7U5SWNB7_js.ca(({videoData:{details:o}})=>({details:o}),reactRedux.shallowEqual),react.useEffect(()=>{chunk7U5SWNB7_js.aa("setSubtitleFirstPlay")&&chunkNLWM4ZIO_js.b();},[e]);},Uo=ri;var ii=Vo__default.default(()=>import('./touchVolumeBrightness-RW6IFLE7.js')),Go=Vo__default.default(()=>import('./backwardForward-AKSQQUMK.js')),ni=()=>{let[e,o]=react.useState(!1),[l,r]=react.useState(!1);return chunk7U5SWNB7_js.ca(({videoData:{details:i,params:p,videoElementSizeInfo:u}})=>({details:i,params:p,videoElementSizeInfo:u}),reactRedux.shallowEqual),chunk7U5SWNB7_js.ca(({controller:{firstPlay:i,isFullScreen:p,isLoading:u,canPlayVideo:a}})=>({firstPlay:i,isFullScreen:p,isLoading:u,canPlayVideo:a}),reactRedux.shallowEqual),zo(),Xo(),Ro(e,l),Uo(),jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsxs("div",{id:"video-area",style:{zIndex:chunk7U5SWNB7_js.aa("isFullScreen")?1e6:"unset"},onClick:i=>{let p=document.getElementById("player-popover");(chunk7U5SWNB7_js.aa("isFirstPlay")||!chunk7U5SWNB7_js.aa("isTouchScreen")&&!p)&&chunkTURDIAQ5_js.a(i);},onDoubleClick:i=>chunkTURDIAQ5_js.k(i),className:`!pl-bg-contain !pl-bg-center !pl-bg-no-repeat pl-h-full pl-bg-black pl-max-h-screen pl-aspect-video pl-flex pl-items-center ${!chunk7U5SWNB7_js.aa("isTouchScreen")&&!chunk7U5SWNB7_js.aa("isFullScreen")&&"!pl-rounded-[12px]"} ${chunk7U5SWNB7_js.aa("isFullScreen")&&"!pl-fixed !pl-w-screen dvh"} pl-w-full pl-relative ${!chunk7U5SWNB7_js.aa("isActiveElements")&&"pl-cursor-none"}`,children:[jsxRuntime.jsx("div",{id:"video-opacity",className:`pl-absolute pl-w-full pl-aspect-video pl-transition-all pl-duration-500 pl-bg-black ${!chunk7U5SWNB7_js.aa("isTouchScreen")&&!chunk7U5SWNB7_js.aa("isFullScreen")&&"!pl-rounded-[12px]"} ${chunk7U5SWNB7_js.aa("isActiveElements")?"pl-bg-opacity-50":"pl-bg-opacity-0"}`}),chunk7U5SWNB7_js.aa("showTouchVolumeBrightness")&&jsxRuntime.jsx(ii,{}),chunk7U5SWNB7_js.aa("showBackwardForward")&&jsxRuntime.jsxs("div",{className:"pl-absolute pl-top-0 pl-right-0 pl-w-full pl-h-full pl-overflow-hidden pl-flex pl-items-center",style:{zIndex:l||e?1000002:1},children:[jsxRuntime.jsx(Go,{type:"touchForward",isRightDoubleTouched:e,setIsRightDoubleTouched:o}),jsxRuntime.jsx(Go,{type:"touchBackward",isLeftDoubleTouched:l,setIsLeftDoubleTouched:r})]}),jsxRuntime.jsx(qo,{}),jsxRuntime.jsx("div",{id:"playerElements",className:"pl-absolute pl-top-0 pl-right-0 pl-w-full pl-h-full",children:jsxRuntime.jsxs("div",{className:"pl-flex pl-flex-col pl-justify-between pl-w-full pl-h-full",children:[chunk7U5SWNB7_js.aa("showHeader")&&jsxRuntime.jsx(It,{}),chunk7U5SWNB7_js.aa("showMain")&&jsxRuntime.jsx(_t,{}),chunk7U5SWNB7_js.aa("showFooter")&&jsxRuntime.jsx(Bo,{})]})})]})})},Sd=ni;
|
|
30
|
+
|
|
31
|
+
exports.a = Sd;
|
|
32
|
+
//# sourceMappingURL=out.js.map
|
|
33
|
+
//# sourceMappingURL=chunk-AEBDUZFF.js.map
|