cafe-video-player 2.1.2 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/{VideoHighLighter-J244P4R6.mjs → VideoHighLighter-U4GGV66X.mjs} +2 -2
  2. package/{VideoHighLighter-J244P4R6.mjs.map → VideoHighLighter-U4GGV66X.mjs.map} +1 -1
  3. package/{VideoHighLighter-KS4OF7LU.js → VideoHighLighter-ZAC6DXOM.js} +2 -2
  4. package/{VideoHighLighter-KS4OF7LU.js.map → VideoHighLighter-ZAC6DXOM.js.map} +1 -1
  5. package/backwardForward-BVIUUMYX.js +2 -0
  6. package/{backwardForward-T5I2BG67.js.map → backwardForward-BVIUUMYX.js.map} +1 -1
  7. package/backwardForward-Y5UZHDBP.mjs +2 -0
  8. package/{backwardForward-ZA22U5BK.mjs.map → backwardForward-Y5UZHDBP.mjs.map} +1 -1
  9. package/chunk-5FTEBU6O.js +3 -0
  10. package/{chunk-CXFHM7DX.js.map → chunk-5FTEBU6O.js.map} +1 -1
  11. package/{chunk-TTR6HY3N.js → chunk-7GSH5XMZ.js} +2 -2
  12. package/{chunk-TTR6HY3N.js.map → chunk-7GSH5XMZ.js.map} +1 -1
  13. package/{chunk-4SCALKDT.mjs → chunk-A7MEJC4F.mjs} +2 -2
  14. package/{chunk-4SCALKDT.mjs.map → chunk-A7MEJC4F.mjs.map} +1 -1
  15. package/chunk-BOS4UPEA.js +2 -0
  16. package/{chunk-IQGFJNGO.js.map → chunk-BOS4UPEA.js.map} +1 -1
  17. package/chunk-C4TEAPRX.js +9 -0
  18. package/chunk-C4TEAPRX.js.map +1 -0
  19. package/chunk-D7CTAABP.js +2 -0
  20. package/{chunk-AZTVBGMR.js.map → chunk-D7CTAABP.js.map} +1 -1
  21. package/chunk-EDQKSY4F.js +3 -0
  22. package/{chunk-FSNZMZHV.js.map → chunk-EDQKSY4F.js.map} +1 -1
  23. package/chunk-HME64W2O.js +3 -0
  24. package/chunk-HME64W2O.js.map +1 -0
  25. package/chunk-IGINC4KI.js +2 -0
  26. package/chunk-IGINC4KI.js.map +1 -0
  27. package/chunk-J6UYAT2V.mjs +2 -0
  28. package/chunk-J6UYAT2V.mjs.map +1 -0
  29. package/chunk-KIC75NSX.mjs +2 -0
  30. package/{chunk-TRTBWCNM.mjs.map → chunk-KIC75NSX.mjs.map} +1 -1
  31. package/chunk-MW3CX523.mjs +9 -0
  32. package/chunk-MW3CX523.mjs.map +1 -0
  33. package/{chunk-YYDUT7ZK.mjs → chunk-MZP43FH7.mjs} +2 -2
  34. package/{chunk-YYDUT7ZK.mjs.map → chunk-MZP43FH7.mjs.map} +1 -1
  35. package/chunk-O6OWG7HM.mjs +2 -0
  36. package/{chunk-PMXQ6WK2.mjs.map → chunk-O6OWG7HM.mjs.map} +1 -1
  37. package/chunk-PJVN7RKN.mjs +2 -0
  38. package/{chunk-IROHCKSH.mjs.map → chunk-PJVN7RKN.mjs.map} +1 -1
  39. package/chunk-TDHILUXF.js +2 -0
  40. package/{chunk-SRJT46V7.js.map → chunk-TDHILUXF.js.map} +1 -1
  41. package/chunk-TM66GJCG.mjs +3 -0
  42. package/{chunk-XNVWDQSS.mjs.map → chunk-TM66GJCG.mjs.map} +1 -1
  43. package/chunk-VIQ5L73J.js +2 -0
  44. package/{chunk-IT4ECGGR.js.map → chunk-VIQ5L73J.js.map} +1 -1
  45. package/chunk-VIUNI5PQ.mjs +3 -0
  46. package/{chunk-OJ4PZQN5.mjs.map → chunk-VIUNI5PQ.mjs.map} +1 -1
  47. package/chunk-YZYTKWCY.mjs +3 -0
  48. package/chunk-YZYTKWCY.mjs.map +1 -0
  49. package/index.js +1 -1
  50. package/index.js.map +1 -1
  51. package/index.mjs +1 -1
  52. package/index.mjs.map +1 -1
  53. package/nonStaticVideoTag-C2LVXINP.mjs +2 -0
  54. package/nonStaticVideoTag-C2LVXINP.mjs.map +1 -0
  55. package/nonStaticVideoTag-C6MCWMG2.js +2 -0
  56. package/nonStaticVideoTag-C6MCWMG2.js.map +1 -0
  57. package/{notActive-ZFPGLIIJ.mjs → notActive-FNSATJST.mjs} +2 -2
  58. package/{notActive-ZFPGLIIJ.mjs.map → notActive-FNSATJST.mjs.map} +1 -1
  59. package/{notActive-FQ2SLLCT.js → notActive-YTLKQJYE.js} +2 -2
  60. package/{notActive-FQ2SLLCT.js.map → notActive-YTLKQJYE.js.map} +1 -1
  61. package/package.json +1 -1
  62. package/staticPlayer-44ZMIIEA.mjs +2 -0
  63. package/{staticPlayer-QLINPHLK.mjs.map → staticPlayer-44ZMIIEA.mjs.map} +1 -1
  64. package/staticPlayer-7X27HEUG.js +2 -0
  65. package/{staticPlayer-G3WOD5RT.js.map → staticPlayer-7X27HEUG.js.map} +1 -1
  66. package/staticVideoTag-TO5HBYDE.mjs +2 -0
  67. package/{staticVideoTag-G5TJQQNF.mjs.map → staticVideoTag-TO5HBYDE.mjs.map} +1 -1
  68. package/staticVideoTag-YUBA5OAZ.js +2 -0
  69. package/{staticVideoTag-2HZWMOBA.js.map → staticVideoTag-YUBA5OAZ.js.map} +1 -1
  70. package/touchVolumeBrightness-27EBEX5W.mjs +3 -0
  71. package/{touchVolumeBrightness-DE5TFYAG.mjs.map → touchVolumeBrightness-27EBEX5W.mjs.map} +1 -1
  72. package/{touchVolumeBrightness-ZXFRYAIE.js → touchVolumeBrightness-KAAGMQWI.js} +3 -3
  73. package/{touchVolumeBrightness-ZXFRYAIE.js.map → touchVolumeBrightness-KAAGMQWI.js.map} +1 -1
  74. package/videoArea-IKP3GXLH.mjs +2 -0
  75. package/{videoArea-SDEAP3WB.mjs.map → videoArea-IKP3GXLH.mjs.map} +1 -1
  76. package/videoArea-W56PTQDS.js +2 -0
  77. package/{videoArea-WZH7URSO.js.map → videoArea-W56PTQDS.js.map} +1 -1
  78. package/videoPlayerStyles.css +39 -4
  79. package/vodPlayer-ANBY5ULF.mjs +2 -0
  80. package/{vodPlayer-3E5EY62P.mjs.map → vodPlayer-ANBY5ULF.mjs.map} +1 -1
  81. package/vodPlayer-QPIJN45L.js +2 -0
  82. package/{vodPlayer-X4YM6IG5.js.map → vodPlayer-QPIJN45L.js.map} +1 -1
  83. package/backwardForward-T5I2BG67.js +0 -2
  84. package/backwardForward-ZA22U5BK.mjs +0 -2
  85. package/chunk-AZTVBGMR.js +0 -2
  86. package/chunk-BC2TZBZ7.mjs +0 -2
  87. package/chunk-BC2TZBZ7.mjs.map +0 -1
  88. package/chunk-BZEHB5TW.js +0 -9
  89. package/chunk-BZEHB5TW.js.map +0 -1
  90. package/chunk-CXFHM7DX.js +0 -3
  91. package/chunk-ERJKVJY6.js +0 -2
  92. package/chunk-ERJKVJY6.js.map +0 -1
  93. package/chunk-FSNZMZHV.js +0 -3
  94. package/chunk-IDNCPTFE.mjs +0 -3
  95. package/chunk-IDNCPTFE.mjs.map +0 -1
  96. package/chunk-IQGFJNGO.js +0 -2
  97. package/chunk-IROHCKSH.mjs +0 -2
  98. package/chunk-IT4ECGGR.js +0 -2
  99. package/chunk-M2G4MENQ.js +0 -3
  100. package/chunk-M2G4MENQ.js.map +0 -1
  101. package/chunk-OJ4PZQN5.mjs +0 -3
  102. package/chunk-PMXQ6WK2.mjs +0 -2
  103. package/chunk-QVD3Z4ML.mjs +0 -9
  104. package/chunk-QVD3Z4ML.mjs.map +0 -1
  105. package/chunk-SRJT46V7.js +0 -2
  106. package/chunk-TRTBWCNM.mjs +0 -2
  107. package/chunk-XNVWDQSS.mjs +0 -3
  108. package/nonStaticVideoTag-JNQPPLGJ.js +0 -2
  109. package/nonStaticVideoTag-JNQPPLGJ.js.map +0 -1
  110. package/nonStaticVideoTag-YD6SV7LK.mjs +0 -2
  111. package/nonStaticVideoTag-YD6SV7LK.mjs.map +0 -1
  112. package/staticPlayer-G3WOD5RT.js +0 -2
  113. package/staticPlayer-QLINPHLK.mjs +0 -2
  114. package/staticVideoTag-2HZWMOBA.js +0 -2
  115. package/staticVideoTag-G5TJQQNF.mjs +0 -2
  116. package/touchVolumeBrightness-DE5TFYAG.mjs +0 -3
  117. package/videoArea-SDEAP3WB.mjs +0 -2
  118. package/videoArea-WZH7URSO.js +0 -2
  119. package/vodPlayer-3E5EY62P.mjs +0 -2
  120. package/vodPlayer-X4YM6IG5.js +0 -2
@@ -0,0 +1,3 @@
1
+ import {b as b$1,e,c as c$1,a,d}from'./chunk-NXC6LNWJ.mjs';import {createSlice,configureStore}from'@reduxjs/toolkit';import {useDispatch,useSelector}from'react-redux';import Re from'axios';var le=b$1((ba,ne)=>{e();ne.exports={baseUrl:"https://hamrahi.cloud",fluentdUrl:"https://hamrahi.cloud"};});var ue={};c$1(ue,{isNpmPackage:()=>Ue});var Ue,de=a(()=>{e();Ue=false;});e();var Q={play:false,isAutoPlay:true,duration:0,currentTime:0,qualityLevels:[],manualQuality:void 0,autoQuality:void 0,activeElements:true,isLoading:false,isFullScreen:false,bufferedTimeWidth:0,firstPlay:true,activePointerProgressBar:false,delayTurnOffControlbar:false,canPlayVideo:false,lock:false,isEnded:false,tooltipTime:0},B=createSlice({name:"controller",initialState:Q,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:()=>Q}}),{setPlay:Be,setIsAutoPlay:Oe,setDuration:$e,setCurrentTime:Ke,setQualityLevels:qe,setAutoQuality:Ce,setActiveElements:He,setIsLoading:je,setIsFullScreen:We,setBufferedTimeWidth:Xe,setFirstPlay:Ye,setActivePointerProgressBar:Ge,setDelayTurnOffControlbar:Je,setManualQuality:Ze,setCanPlayVideo:ze,setLock:Ne,setIsEnded:et,setTooltipTime:tt,setClearControllerSlice:O}=B.actions,$=B.reducer;e();var K={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:false,isValidAddress:false,videoTimelines:[],isReady:false,subtitles:[],selectedSubtitle:void 0,subtitleText:void 0,multiAudio:[],selectedAudioId:0},q=createSlice({name:"videoData",initialState:K,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;},setMultiAudio:(t,e)=>{t.multiAudio=JSON.parse(JSON.stringify(e.payload));},setSelectedAudioId:(t,e)=>{t.selectedAudioId=e.payload;},setClearVideoDataSlice:t=>K}}),{setInfo:it,setPlayerParams:nt,setVideoElementSizeInfo:lt,setMarkers:ut,setIsFetchDetails:dt,setIsValidAddress:ct,setVideoTimelines:pt,setIsReady:mt,setSubtitles:yt,setSubtitleText:gt,setSelectedSubtitle:ht,setMultiAudio:Pt,setSelectedAudioId:ft,setClearVideoDataSlice:C}=q.actions,H=q.reducer;e();var j={settings:{quality:-1,brightness:100,volume:100,speed:1},videoSettings:{time:0}},W=createSlice({name:"user",initialState:j,reducers:{setUserSettings:(t,e)=>{t.settings=e.payload;},setVideoSettings:(t,e)=>{t.videoSettings=e.payload;},setClearUserSlice:()=>j}}),{setUserSettings:wt,setVideoSettings:Lt,setClearUserSlice:X}=W.actions,Y=W.reducer;e();e();e();var xe={settingPopover:false,speedPopover:false,qualityLevelsPopover:false,markersListPopover:false,multiAudioPopover:false},G=createSlice({name:"popover",initialState:xe,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;},setMultiAudioPopover:(t,e)=>{t.multiAudioPopover=e.payload;},setClearPopoversSlice:t=>{t.settingPopover=false,t.speedPopover=false,t.qualityLevelsPopover=false,t.markersListPopover=false,t.multiAudioPopover=false;}}}),{setSettingPopover:Ft,setSpeedPopover:Vt,setQualityLevelsPopover:_t,setMarkersListPopover:Rt,setMultiAudioPopover:Ut,setClearPopoversSlice:J}=G.actions,Z=G.reducer;e();var z={params:{id:"0",type:"",currentTime:0,autoPlay:false,onClose:()=>{}},details:{},play:false},N=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:Kt,setDetailsMiniPlayer:qt,setPlayMiniPlayer:Ct,setClearMiniPlayerSlice:Ht}=N.actions,ee=N.reducer;var Ie=configureStore({reducer:{controller:$,videoData:H,popovers:Z,user:Y,miniPlayer:ee},devTools:true,middleware:t=>t({serializableCheck:false})}),s=Ie;e();e();var c=t=>{let{params:e,details:r,isValidAddress:a,isFetchDetails:i,isReady:l,subtitles:p,selectedSubtitle:d,markers:h,multiAudio:f}=s.getState().videoData,{firstPlay:u,lock:n,canPlayVideo:S,manualQuality:v,activeElements:g,isLoading:pe,isEnded:R,isAutoPlay:me,play:ye,isFullScreen:L}=s.getState().controller,{settingPopover:U,speedPopover:ge,qualityLevelsPopover:he,markersListPopover:Pe}=s.getState().popovers,{settings:E}=s.getState().user,k=s.getState().miniPlayer;switch(t){case "showHeader":return !u&&S;case "showMain":return !n||u;case "showFooter":return !u&&S;case "showTouchVolumeBrightness":return !u&&x()&&!n&&!R;case "showBackwardForward":return !u&&b()&&!n;case "showTitle":return e.type!=="static"&&L&&!n;case "showSettingPopover":return U;case "showSpeedPopover":return ge;case "showQualityLevelsPopover":return he;case "showSettingIcon":return e.type!=="static"&&!A()&&!L;case "showBanner":return u&&(r.banner||e.banner);case "showProgressbar":return !A();case "showPictureInPicture":return !A()&&!b();case "showSubtitle":return !!d;case "showMarkerListPopover":return Pe;case "hidePopovers":return !U;case "isLandscape":return window.innerHeight<=window.innerWidth;case "isTouchScreen":return b();case "isTouchScreenPortrait":return re();case "isTouchScreenLandscape":return x();case "isActiveElements":return g;case "isPlay":return ye;case "isPlayMiniPlayer":return k.play;case "isFirstPlay":return u;case "isLock":return n;case "isIOS":return A();case "isLoading":return pe;case "isStaticFormat":return e.type==="static";case "isEnded":return R;case "isAutoPlay":return me;case "isFullScreen":return L;case "isValidAddress":return a;case "isFetchDetails":return i;case "isAutoQuality":return E.quality===-1;case "isPressKeySpace":return !n;case "isPressKeyI":return !n&&!u;case "isPressKeyF":return !n&&!u||!!e.vhl_status;case "isPressKeyS":return !n&&!u;case "isPressKeyArrowRight":return !u&&!n;case "isPressKeyArrowLeft":return !u&&!n;case "isPressKeyM":return !u&&!n;case "isPressKeyC":return !n&&!u&&!!p&&p.length>0;case "isSendTimelineLog":return e.type!=="static";case "isReady":return l;case "isSelectedSubtitle":return !!p&&p.length>0&&d;case "isMiniPlayerAndMainPlayerSame":return e.id===k.params.id;case "isVideoHighLighter":return !!e.vhl_status;case "hasTitle":return r.title;case "hasBanner":return r.banner;case "hasStreamLink":return r.stream_link;case "hasManualQuality":return v!=null;case "hasSound":return !!E.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 d&&d.activeCues&&d.activeCues.length>0;case "hasOnPlayParams":return !!e.onPlay;case "hasOnPauseParams":return !!e.onPause;case "hasPlayStatusParams":return e.playStatus!==void 0;case "hasMiniPlayer":return k.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 "hasMultiAudio":return f&&!!f.length;case "skeletonStatusInVhl":return e.vhl_status==="skeleton";case "getDetails":return !!e.type&&e.id;case "getMarkers":return String(e.type)==="vod"&&e.id&&i;case "canPlayVideo":return S;case "setSubtitleFirstPlay":return r.subtitles&&r.subtitles.length>0&&!u&&e.type!=="static";}};var ae=t=>new Promise(e=>setTimeout(e,t*1e3)),P=()=>{let t=localStorage.getItem("hamrahiUUID");return t||(t=Fe(),localStorage.setItem("hamrahiUUID",t)),t.toString()},Fe=()=>{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},b=()=>typeof window<"u"&&("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),x=()=>{let{isFullScreen:t}=s.getState().controller;return b()&&t},re=()=>{let{isFullScreen:t}=s.getState().controller;return b()&&!t},A=()=>["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,mr=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)}`},yr=t=>{let e=new URL(t),r=t;return e.search.length?r+=`&uuid=${P()}`:r+=`?uuid=${P()}`},gr=(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 false}},hr=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 fr=t=>t>=200&&t<300,Sr=()=>{let t=s.dispatch;t(C()),t(O()),t(X()),t(J());},vr=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},br=t=>{let e=0;performance&&performance.getEntriesByType("navigation")&&(e=performance.getEntriesByType("navigation")[0].duration),t.current=e;},Ar=(t,e,r)=>{let a=e*window.devicePixelRatio,i=r*window.devicePixelRatio,l=[];return c("isTouchScreenPortrait")?l=t.filter(p=>Number(p.split("x")[0].trim())<=a):l=t.filter(p=>Number(p.split("x")[0].trim())<=i||Number(p.split("x")[1].trim())<=a),l.indexOf(l[l.length-1])},T=(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,...T(t[a],i)}:r[i]=t[a];}return r},wr=t=>{let e={fa:1,en:2};return t.slice().sort((r,a)=>{let i=e[r.lang]||999,l=e[a.lang]||999;return i-l})},Lr=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},kr=t=>t.split(/\r?\n|\r|\n/g),xr=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"}};var Tr=t=>(t=t.replace(/\d{2}:\d{2}:\d{2}\.\d{3} --> \d{2}:\d{2}:\d{2}\.\d{3}.*\n/g,""),t=t.replace(/<[^>]+>/g,""),t=t.replace(/\n+/g,`
2
+ `),t=t.trim(),t);e();var Vr=()=>useDispatch(),_r=useSelector;e();var D=()=>document.getElementById("player-tag"),Qr=()=>document.getElementById("mini-player-video-tag"),Br=()=>document.getElementById("time-progress-bar"),Or=()=>s.getState().videoData.videoElementSizeInfo.width-2;e();e();e();e();var Xr=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}},Yr=t=>{let{params:e,details:r}=s.getState().videoData,{qualityLevels:a,manualQuality:i,autoQuality:l}=s.getState().controller;return {category:"qualityChangeRequest",currentPlayingQuality:`${a[c("isAutoQuality")?l??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}},Gr=t=>{let{params:e,details:r}=s.getState().videoData,{qualityLevels:a,autoQuality:i}=s.getState().controller,{settings:l}=s.getState().user;return {category:"catchUpLoading",previousVideoTime:Number(sessionStorage.getItem("previousVideoTime")),currentVideoTime:D().currentTime,duration:t,quality:`${c("isAutoQuality")?a[i]:a[l.quality]}P`,isAutoQuality:c("isAutoQuality"),id:Number(e.id),type:e.type,src:c("hasStreamLink")?r.stream_link:e.id,provider:e.provider}},Jr=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}},Zr=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}},zr=(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}},Nr=(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}},ea=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}},se=(t,e,r,a)=>({category:"player-error",type:t,message:e,statusCode:r,url:a}),ta=(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}},ra=(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}},aa=(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}},sa=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}},oa=(t,e,r,a,i)=>{let{params:l,details:p}=s.getState().videoData,d=Date.now()-i.current+t+e,h=window.performance.memory,f=JSON.parse(JSON.stringify(window.performance.timing));return {category:"initLog",id:Number(l.id),type:l.type,origin:new URL(c("hasStreamLink")?p.stream_link:l.id).origin,src:c("hasStreamLink")?p.stream_link:l.id,loading:t,bannerLoading:!c("hasBanner")||r<0?0:r,waiting:e,firstChunkPlaying:a<0?0:a,totalTime:d,provider:l.provider,performance:T({memory:h,timing:f},"performance"),userAgent:window.navigator.userAgent}},ia=(t,e,r,a,i)=>{let{params:l,details:p}=s.getState().videoData,{settings:d}=s.getState().user,h=Date.now()-r.current;return {category:"loading",id:Number(l.id),type:l.type,src:c("hasStreamLink")?p.stream_link:l.id,duration:t,quality:`${e}P`,isAutoQuality:c("isAutoQuality"),previousLoaderDiff:h,counter:a.current,loadingPercentile:Number((t/h).toFixed(2)),videoTime:D().currentTime,videoEntranceTime:i,speed:d.speed,provider:l.provider}},na=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}},la=(t,e,r,a,i)=>{let{params:l,details:p}=s.getState().videoData;return {category:"eventMarkerClick",video_id:Number(l.id),markerId:t,markerTime:e,markerTitle:r,markerDescription:a,markerSticker:i,type:l.type,src:c("hasStreamLink")?p.stream_link:l.id,provider:l.provider}};var ie=t=>{t&&oe(se(t.type,t.message,t.statusCode,t.url));};var M=async({url:t,method:e="GET",data:r,headers:a,retryCount:i=1,maxRetryCount:l=0,errorMessage:p,retryPolicy:d,errorCallback:h,timeoutCount:f})=>{let u={url:t,method:e,headers:{...a,"Content-Type":"application/json"},timeout:f?f*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 Re(u)}catch(n){if(ie({type:"API-ERROR",message:n.message?n.message:"",statusCode:n.response&&n.response.status?n.response.status:void 0,url:t}),!(n&&n.response&&n.response.status===401)){h&&h(n.response.status,n.response.message);let S=0,v=0;if(d!==void 0){for(let g=0;g<d.length;g++)if((d[g].codeAbove&&n.response.status>=d[g].codeAbove||d[g].codeBelow&&n.response.status<=d[g].codeBelow)&&(d[g].excludeCodes.length===0||!d[g].excludeCodes.includes(n.response.status))||d[g].includeCodes.length===0||d[g].includeCodes.includes(n.response.status)){v=d[g].count,S=d[g].delay;break}}else v=l,S=i+1;if(i<v)return await ae(S),M({url:t,method:e,data:r,headers:a,retryCount:i+1,errorMessage:p,retryPolicy:d,errorCallback:h});if(n.response)return {data:n.response.data?n.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:n.response.status}}}};e();e();var I=le(),F=(de(),d(ue)),V=()=>(F?I.baseUrl:process.env.baseUrl)+"/live/api",_=()=>F?I.fluentdUrl:process.env.fluentdUrl,La=()=>(F?I.baseUrl:process.env.baseUrl)+"/emoji";var ce=()=>({vod:{getVodUrl:`${V()}/v1/live/details/vod/`,getMarkerUrl:t=>`${V()}/v1/live/list-event/vod/${t}/`},videoTimelineLog:`${_()}/video-timeline.log`,logs:`${_()}/cafevideo-endpoint.log`});var oe=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};M({url:ce().logs,method:"post",data:a});};export{Ar as $,ht as A,sa as Aa,Pt as B,oa as Ba,ft as C,ia as Ca,Ft as D,na as Da,Vt as E,la as Ea,_t as F,ie as Fa,Rt as G,M as Ga,Ut as H,J as I,wt as J,Lt as K,Kt as L,qt as M,Ct as N,Ht as O,s as P,P as Q,b as R,mr as S,yr as T,gr as U,hr as V,Pr as W,fr as X,Sr as Y,vr as Z,br as _,Be as a,wr as aa,$e as b,Lr as ba,Ke as c,kr as ca,qe as d,xr as da,Ce as e,Tr as ea,He as f,c as fa,je as g,Vr as ga,We as h,_r as ha,Xe as i,D as ia,Ye as j,Qr as ja,Ge as k,Br as ka,Je as l,Or as la,Ze as m,La as ma,ze as n,ce as na,Ne as o,oe as oa,et as p,Xr as pa,tt as q,Yr as qa,it as r,Gr as ra,nt as s,Jr as sa,lt as t,Zr as ta,dt as u,zr as ua,ct as v,Nr as va,pt as w,ea as wa,mt as x,ta as xa,yt as y,ra as ya,gt as z,aa as za};//# sourceMappingURL=chunk-YZYTKWCY.mjs.map
3
+ //# sourceMappingURL=chunk-YZYTKWCY.mjs.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_esm_shims","npmPackage_exports","__export","isNpmPackage","init_npmPackage","__esmMin","ControllerSliceState","controllerSlice","createSlice","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","setMultiAudio","setSelectedAudioId","setClearVideoDataSlice","videoDataSlice_default","UserSliceState","userSlice","setUserSettings","setVideoSettings","setClearUserSlice","userSlice_default","PopOversSliceState","popoversSlice","setSettingPopover","setSpeedPopover","setQualityLevelsPopover","setMarkersListPopover","setMultiAudioPopover","setClearPopoversSlice","popoversSlice_default","MiniPlayerSliceState","setMiniPlayerInfo","setDetailsMiniPlayer","setPlayMiniPlayer","setClearMiniPlayerSlice","miniPlayerSlice_default","store","configureStore","getDefaultMiddleware","store_default","conditions","type","params","details","isValidAddress","isFetchDetails","isReady","subtitles","selectedSubtitle","markers","multiAudio","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","spliteStringPerLine","str","inViewPort","positionLeft","positionRight","cleanVTT","vttText","useAppDispatch","useDispatch","useAppSelector","useSelector","mainPlayerVideoTag","miniPlayerVideoTag","progressBar","progressBarWidth","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","axios","error","newRetryDelay","newMaxRetryCount","envs","getRestApiLiveUrl","getFluentdUrl","getEmojiUrl","API","videoId","_data"],"mappings":"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","file":"chunk-YZYTKWCY.mjs","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 multiAudio: [],\r\n selectedAudioId: 0,\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 setMultiAudio: (state, action: PayloadAction<any>) => {\r\n state.multiAudio = JSON.parse(JSON.stringify(action.payload));\r\n },\r\n setSelectedAudioId: (state, action: PayloadAction<number>) => {\r\n state.selectedAudioId = 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 setMultiAudio,\r\n setSelectedAudioId,\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 footer,\r\n mainIcons,\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 multiAudio = \"multiAudio\"\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 isVideoHighLighter = \"isVideoHighLighter\",\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 hasMultiAudio = \"hasMultiAudio\",\r\n skeletonStatusInVhl = \"skeletonStatusInVhl\",\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 multiAudioPopover: 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 setMultiAudioPopover: (state, action: PayloadAction<boolean>) => {\r\n state.multiAudioPopover = 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 state.multiAudioPopover = false;\r\n },\r\n },\r\n});\r\n\r\nexport const { setSettingPopover, setSpeedPopover, setQualityLevelsPopover, setMarkersListPopover, setMultiAudioPopover, setClearPopoversSlice } = 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 typeof window !== \"undefined\" && (\"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}","import { isIOS, isTouchScreen, isTouchScreenLandscape, isTouchScreenPortrait } 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 { params, details, isValidAddress, isFetchDetails, isReady, subtitles, selectedSubtitle, markers, multiAudio } = store.getState().videoData;\r\n const { firstPlay, lock, canPlayVideo, manualQuality, activeElements, isLoading, isEnded, isAutoPlay, play, isFullScreen } =\r\n store.getState().controller;\r\n const { settingPopover, speedPopover, qualityLevelsPopover, markersListPopover } = 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) || !!params.vhl_status;\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.isVideoHighLighter:\r\n return !!params.vhl_status;\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 selectedSubtitle && selectedSubtitle.activeCues && selectedSubtitle.activeCues.length > 0;\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.hasMultiAudio:\r\n return multiAudio && !!multiAudio.length;\r\n case ConditionName.skeletonStatusInVhl:\r\n return params.vhl_status === \"skeleton\";\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 details.subtitles && details.subtitles.length > 0 && !firstPlay && params.type !== \"static\";\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"]}
package/index.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkERJKVJY6_js=require('./chunk-ERJKVJY6.js'),chunkTVDVQALL_js=require('./chunk-TVDVQALL.js'),chunkFSNZMZHV_js=require('./chunk-FSNZMZHV.js'),chunkIT4ECGGR_js=require('./chunk-IT4ECGGR.js'),chunkM2G4MENQ_js=require('./chunk-M2G4MENQ.js'),chunkCXFHM7DX_js=require('./chunk-CXFHM7DX.js'),chunkWO4IQUGO_js=require('./chunk-WO4IQUGO.js'),reactRedux=require('react-redux'),Se=require('react'),C=require('next/dynamic'),jsxRuntime=require('react/jsx-runtime'),Ne=require('next/legacy/image'),b=require('hls.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Se__default=/*#__PURE__*/_interopDefault(Se);var C__default=/*#__PURE__*/_interopDefault(C);var Ne__default=/*#__PURE__*/_interopDefault(Ne);var b__default=/*#__PURE__*/_interopDefault(b);chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var ce=e=>{let r=chunkM2G4MENQ_js.da(),o={},t=()=>{r(chunkM2G4MENQ_js.s(o)),r(chunkM2G4MENQ_js.x(true));},m=()=>{e.uuid&&(localStorage.setItem("hamrahiUUID",e.uuid),o.uuid=e.uuid);},E=()=>{o={provider:"cafevdo",...e};},p=()=>{o={id:window.atob(e.id),type:e.type,fullscreen:e.fullscreen,autoplay:e.autoplay,banner:e.banner&&e.banner!=="undefined"?e.banner:void 0,uuid:chunkM2G4MENQ_js.N(),bannerAlt:e.bannerAlt,provider:"cafevdo",onFinished:e.onFinished,onClickMiniPlayerIcon:e.onClickMiniPlayerIcon,onChangeCurrentTime:e.onChangeCurrentTime,currentTime:e.currentTime,subtitles:e.subtitles,daaniHashCode:e.daaniHashCode};},pe=async()=>{o={},Object.keys(e).includes("type")&&(String(e.type)==="vod"?E():String(e.type)==="static"&&p(),m(),t());};Se.useEffect(()=>{pe();},[e]);},Y=ce;chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var ue=(e,r)=>{let o=Se.useRef(r);Se.useEffect(()=>{o.current=r;},[]),Se.useEffect(()=>{let t=m=>{m.code===e&&!["INPUT","TEXTAREA"].includes(m.target.nodeName)&&!m.target.isContentEditable&&o.current(m);};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[e]);},f=ue;var ye=()=>{f("Space",e=>{chunkM2G4MENQ_js.ca("isPressKeySpace")&&chunkIT4ECGGR_js.a(e);}),f("ArrowRight",e=>{chunkM2G4MENQ_js.ca("isPressKeyArrowRight")&&chunkIT4ECGGR_js.e("forward",15,e);}),f("ArrowLeft",e=>{chunkM2G4MENQ_js.ca("isPressKeyArrowLeft")&&chunkIT4ECGGR_js.e("backward",15,e);}),f("KeyI",()=>{chunkM2G4MENQ_js.ca("isPressKeyI")&&chunkM2G4MENQ_js.fa().requestPictureInPicture();}),f("KeyF",()=>{chunkM2G4MENQ_js.ca("isPressKeyF")&&chunkIT4ECGGR_js.f();}),f("KeyM",()=>{if(chunkM2G4MENQ_js.ca("isPressKeyM")){let{settings:e}=chunkM2G4MENQ_js.M.getState().user;chunkIT4ECGGR_js.d(e.volume?0:50);}}),f("KeyC",()=>{chunkM2G4MENQ_js.ca("isPressKeyC")&&chunkFSNZMZHV_js.b();});},j=ye;var ge=C__default.default(()=>import('./staticPlayer-G3WOD5RT.js')),ve=C__default.default(()=>import('./vodPlayer-X4YM6IG5.js')),Te=C__default.default(()=>import('./VideoHighLighter-KS4OF7LU.js')),Ie=e=>{let{params:r}=chunkM2G4MENQ_js.ea(({videoData:{isReady:t,params:m}})=>({isReady:t,params:m}),reactRedux.shallowEqual);if(Se.useEffect(()=>(r.id&&e.params.id!==r.id&&(r.type==="static"&&(chunkM2G4MENQ_js.fa().pause(),chunkM2G4MENQ_js.fa().removeAttribute("src"),chunkM2G4MENQ_js.fa().load()),chunkM2G4MENQ_js.V()),()=>{r.id&&chunkM2G4MENQ_js.V();}),[e.params.id]),Y(e.params),j(),chunkM2G4MENQ_js.ea(({controller:{isFullScreen:t}})=>({isFullScreen:t}),reactRedux.shallowEqual),e.params.vhl_status)return jsxRuntime.jsx(Te,{});let o=jsxRuntime.jsx(jsxRuntime.Fragment,{});return chunkM2G4MENQ_js.ca("isReady")&&(o=jsxRuntime.jsx("div",{className:`${!chunkM2G4MENQ_js.ca("isTouchScreen")&&"pl-rounded-[12px]"}`,style:{zIndex:1e6,touchAction:"pan-y",userSelect:"none"},children:chunkM2G4MENQ_js.ca("isStaticFormat")?jsxRuntime.jsx(ge,{}):jsxRuntime.jsx(ve,{})})),jsxRuntime.jsxs("div",{dir:"rtl",className:`pl-relative pl-rounded-[12px] pl-w-full pl-h-full pl-aspect-video pl-overflow-x-hidden ${chunkM2G4MENQ_js.ca("isFullScreen")&&"!pl-overflow-hidden pl-fixed pl-top-0 pl-right-0 pl-w-screen pl-h-screen pl-rounded-none"}`,id:"parent-player",children:[chunkM2G4MENQ_js.ca("isFirstPlay")&&jsxRuntime.jsx("div",{className:`pl-absolute pl-bg-black pl-w-full pl-h-full pl-aspect-video ${!chunkM2G4MENQ_js.ca("isTouchScreen")&&!chunkM2G4MENQ_js.ca("isFullScreen")&&"pl-rounded-[12px]"}`,children:jsxRuntime.jsx(chunkTVDVQALL_js.a,{})}),o]})},ee=Ie;chunkWO4IQUGO_js.e();var V=class extends Se__default.default.Component{state={hasError:false,error:null,errorInfo:null};static getDerivedStateFromError(r){return {hasError:true}}componentDidCatch(r,o){this.setState({error:r,errorInfo:o}),chunkM2G4MENQ_js.Ca({type:"OTHER_ERROR",message:r.message});}render(){return this.state.hasError?jsxRuntime.jsx(jsxRuntime.Fragment,{}):this.props.children}},I=V;var Ce=({params:e})=>jsxRuntime.jsx(reactRedux.Provider,{store:chunkM2G4MENQ_js.M,children:jsxRuntime.jsx(I,{children:jsxRuntime.jsx(ee,{params:e})})});chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var xe=()=>(chunkM2G4MENQ_js.ea(({miniPlayer:{play:e}})=>({play:e}),reactRedux.shallowEqual),jsxRuntime.jsx("div",{className:`${!chunkM2G4MENQ_js.ca("isTouchScreen")&&"hover:pl-scale-125"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`,onContextMenu:e=>e.preventDefault(),children:jsxRuntime.jsx(Ne__default.default,{alt:"",src:chunkM2G4MENQ_js.ca("isPlayMiniPlayer")?chunkCXFHM7DX_js.a.bigPause:chunkCXFHM7DX_js.a.bigPlay,width:20,height:20,onClick:e=>chunkIT4ECGGR_js.c(e),onDoubleClick:e=>e.stopPropagation(),className:`${chunkM2G4MENQ_js.ca("isPlayMiniPlayer")?"pl-big-play-icon":"pl-big-pause-icon"}`})})),ie=xe;chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var De=()=>{let e=chunkM2G4MENQ_js.da(),r=chunkM2G4MENQ_js.ea(t=>t.miniPlayer.details),o=chunkM2G4MENQ_js.ea(t=>t.miniPlayer.params);return Se.useEffect(()=>{let t=new b__default.default(chunkERJKVJY6_js.d());return b__default.default.isSupported()?(t.attachMedia(document.getElementById("mini-player-video-tag")),t.on(b__default.default.Events.MEDIA_ATTACHED,()=>chunkERJKVJY6_js.C(t))):chunkM2G4MENQ_js.fa().canPlayType("application/vnd.apple.mpegurl")&&(chunkM2G4MENQ_js.fa().src=r.stream_link,chunkERJKVJY6_js.b()),()=>{e(chunkM2G4MENQ_js.L()),t.detachMedia(),t.off(b__default.default.Events.MEDIA_ATTACHED,()=>chunkERJKVJY6_js.C(t));}},[]),Se.useEffect(()=>{o.currentTime&&(e(chunkM2G4MENQ_js.K(true)),chunkM2G4MENQ_js.ga().currentTime=o.currentTime,e(chunkM2G4MENQ_js.a(false)),chunkM2G4MENQ_js.fa().pause());},[o.currentTime]),jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsx("video",{onPlay:()=>e(chunkM2G4MENQ_js.K(true)),onEnded:()=>e(chunkM2G4MENQ_js.K(false)),onError:chunkERJKVJY6_js.a,poster:o.banner?o.banner:r.banner,id:"mini-player-video-tag",className:"pl-absolute pl-bg-black pl-w-full pl-h-full",autoPlay:true,muted:true})})},te=De;chunkWO4IQUGO_js.e();var Ke=()=>{let e=chunkM2G4MENQ_js.da(),r=chunkM2G4MENQ_js.ea(o=>o.miniPlayer.params);return Se.useEffect(()=>{r.currentTime&&(e(chunkM2G4MENQ_js.K(true)),chunkM2G4MENQ_js.ga().currentTime=r.currentTime,e(chunkM2G4MENQ_js.a(false)),chunkM2G4MENQ_js.fa().pause());},[r.currentTime]),jsxRuntime.jsx("video",{poster:r.banner,onPlay:()=>e(chunkM2G4MENQ_js.K(true)),onEnded:()=>e(chunkM2G4MENQ_js.K(false)),onError:chunkERJKVJY6_js.a,src:r.id,id:"mini-player-video-tag",className:"pl-absolute pl-bg-black pl-w-full pl-h-full",autoPlay:true})},ne=Ke;var He=()=>{let e=chunkM2G4MENQ_js.ea(r=>r.miniPlayer.params.type);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:e==="static"?jsxRuntime.jsx(ne,{}):jsxRuntime.jsx(te,{})})},le=He;var me=({params:e})=>{let r=chunkM2G4MENQ_js.da(),o=chunkM2G4MENQ_js.ea(p=>p.miniPlayer.details),t=chunkM2G4MENQ_js.ea(p=>p.miniPlayer.params);chunkM2G4MENQ_js.ea(p=>p.miniPlayer.play);let m=chunkM2G4MENQ_js.ea(p=>p.videoData.params);Se.useEffect(()=>{r(chunkM2G4MENQ_js.I(e));},[]);let E=async()=>await chunkFSNZMZHV_js.a(e.id);return Se.useEffect(()=>{e.id&&e.type==="vod"&&E();},[e.id]),jsxRuntime.jsx(jsxRuntime.Fragment,{children:o.stream_link||t.type==="static"&&t.id?jsxRuntime.jsxs("div",{id:"miniPlayer-video-area",style:{zIndex:1000003},className:"pl-relative pl-w-full pl-h-full",children:[jsxRuntime.jsx("div",{className:`pl-absolute pl-z-[1000000] pl-top-3 pl-right-3 pl-cursor-pointer ${chunkM2G4MENQ_js.ca("isActiveElements")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,onClick:()=>{m.id===t.id&&(chunkM2G4MENQ_js.fa().currentTime=chunkM2G4MENQ_js.ga().currentTime,r(chunkM2G4MENQ_js.c(chunkM2G4MENQ_js.ga().currentTime))),localStorage.setItem("close-miniPlayer","true"),e.onClose();},children:jsxRuntime.jsx(Ne__default.default,{className:"pl-cursor-pointer",src:chunkCXFHM7DX_js.a.closeSquare,alt:"close-square",width:16,height:16})}),jsxRuntime.jsx("div",{className:`pl-w-full pl-absolute pl-bottom-0 animate__animated animate__faster pl-z-[1000000] ${chunkM2G4MENQ_js.ca("isActiveElements")&&!chunkM2G4MENQ_js.ca("isLoading")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,children:jsxRuntime.jsx("div",{className:"pl-w-full pl-flex pl-justify-center",children:jsxRuntime.jsx(ie,{})})}),jsxRuntime.jsx(le,{})]}):jsxRuntime.jsx("div",{className:"pl-w-full pl-h-full pl-bg-white"})})};var Oe=({params:e})=>jsxRuntime.jsx(reactRedux.Provider,{store:chunkM2G4MENQ_js.M,children:jsxRuntime.jsx(I,{children:jsxRuntime.jsx(me,{params:e})})});exports.MiniPlayerLibrary=Oe;exports.VideoPlayerLibrary=Ce;//# sourceMappingURL=index.js.map
1
+ 'use strict';var chunkIGINC4KI_js=require('./chunk-IGINC4KI.js'),chunkTVDVQALL_js=require('./chunk-TVDVQALL.js'),chunkEDQKSY4F_js=require('./chunk-EDQKSY4F.js'),chunkVIQ5L73J_js=require('./chunk-VIQ5L73J.js'),chunkHME64W2O_js=require('./chunk-HME64W2O.js'),chunk5FTEBU6O_js=require('./chunk-5FTEBU6O.js'),chunkWO4IQUGO_js=require('./chunk-WO4IQUGO.js'),reactRedux=require('react-redux'),Se=require('react'),C=require('next/dynamic'),jsxRuntime=require('react/jsx-runtime'),Ne=require('next/legacy/image'),b=require('hls.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Se__default=/*#__PURE__*/_interopDefault(Se);var C__default=/*#__PURE__*/_interopDefault(C);var Ne__default=/*#__PURE__*/_interopDefault(Ne);var b__default=/*#__PURE__*/_interopDefault(b);chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var ce=e=>{let r=chunkHME64W2O_js.ga(),o={},t=()=>{r(chunkHME64W2O_js.s(o)),r(chunkHME64W2O_js.x(true));},m=()=>{e.uuid&&(localStorage.setItem("hamrahiUUID",e.uuid),o.uuid=e.uuid);},E=()=>{o={provider:"cafevdo",...e};},p=()=>{o={id:window.atob(e.id),type:e.type,fullscreen:e.fullscreen,autoplay:e.autoplay,banner:e.banner&&e.banner!=="undefined"?e.banner:void 0,uuid:chunkHME64W2O_js.Q(),bannerAlt:e.bannerAlt,provider:"cafevdo",onFinished:e.onFinished,onClickMiniPlayerIcon:e.onClickMiniPlayerIcon,onChangeCurrentTime:e.onChangeCurrentTime,currentTime:e.currentTime,subtitles:e.subtitles,daaniHashCode:e.daaniHashCode};},pe=async()=>{o={},Object.keys(e).includes("type")&&(String(e.type)==="vod"?E():String(e.type)==="static"&&p(),m(),t());};Se.useEffect(()=>{pe();},[e]);},Y=ce;chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var ue=(e,r)=>{let o=Se.useRef(r);Se.useEffect(()=>{o.current=r;},[]),Se.useEffect(()=>{let t=m=>{m.code===e&&!["INPUT","TEXTAREA"].includes(m.target.nodeName)&&!m.target.isContentEditable&&o.current(m);};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[e]);},f=ue;var ye=()=>{f("Space",e=>{chunkHME64W2O_js.fa("isPressKeySpace")&&chunkVIQ5L73J_js.a(e);}),f("ArrowRight",e=>{chunkHME64W2O_js.fa("isPressKeyArrowRight")&&chunkVIQ5L73J_js.e("forward",15,e);}),f("ArrowLeft",e=>{chunkHME64W2O_js.fa("isPressKeyArrowLeft")&&chunkVIQ5L73J_js.e("backward",15,e);}),f("KeyI",()=>{chunkHME64W2O_js.fa("isPressKeyI")&&chunkHME64W2O_js.ia().requestPictureInPicture();}),f("KeyF",()=>{chunkHME64W2O_js.fa("isPressKeyF")&&chunkVIQ5L73J_js.f();}),f("KeyM",()=>{if(chunkHME64W2O_js.fa("isPressKeyM")){let{settings:e}=chunkHME64W2O_js.P.getState().user;chunkVIQ5L73J_js.d(e.volume?0:50);}}),f("KeyC",()=>{chunkHME64W2O_js.fa("isPressKeyC")&&chunkEDQKSY4F_js.b();});},j=ye;var ge=C__default.default(()=>import('./staticPlayer-7X27HEUG.js')),ve=C__default.default(()=>import('./vodPlayer-QPIJN45L.js')),Te=C__default.default(()=>import('./VideoHighLighter-ZAC6DXOM.js')),Ie=e=>{let{params:r}=chunkHME64W2O_js.ha(({videoData:{isReady:t,params:m}})=>({isReady:t,params:m}),reactRedux.shallowEqual);if(Se.useEffect(()=>(r.id&&e.params.id!==r.id&&(r.type==="static"&&(chunkHME64W2O_js.ia().pause(),chunkHME64W2O_js.ia().removeAttribute("src"),chunkHME64W2O_js.ia().load()),chunkHME64W2O_js.Y()),()=>{r.id&&chunkHME64W2O_js.Y();}),[e.params.id]),Y(e.params),j(),chunkHME64W2O_js.ha(({controller:{isFullScreen:t}})=>({isFullScreen:t}),reactRedux.shallowEqual),e.params.vhl_status)return jsxRuntime.jsx(Te,{});let o=jsxRuntime.jsx(jsxRuntime.Fragment,{});return chunkHME64W2O_js.fa("isReady")&&(o=jsxRuntime.jsx("div",{className:`${!chunkHME64W2O_js.fa("isTouchScreen")&&"pl-rounded-[12px]"}`,style:{zIndex:1e6,touchAction:"pan-y",userSelect:"none"},children:chunkHME64W2O_js.fa("isStaticFormat")?jsxRuntime.jsx(ge,{}):jsxRuntime.jsx(ve,{})})),jsxRuntime.jsxs("div",{dir:"rtl",className:`pl-relative pl-rounded-[12px] pl-w-full pl-h-full pl-aspect-video ${chunkHME64W2O_js.fa("isFullScreen")&&"!pl-overflow-hidden pl-fixed pl-top-0 pl-right-0 pl-w-screen pl-h-screen pl-rounded-none"}`,id:"parent-player",children:[chunkHME64W2O_js.fa("isFirstPlay")&&jsxRuntime.jsx("div",{className:`pl-absolute pl-bg-black pl-w-full pl-h-full pl-aspect-video ${!chunkHME64W2O_js.fa("isTouchScreen")&&!chunkHME64W2O_js.fa("isFullScreen")&&"pl-rounded-[12px]"}`,children:jsxRuntime.jsx(chunkTVDVQALL_js.a,{})}),o]})},ee=Ie;chunkWO4IQUGO_js.e();var V=class extends Se__default.default.Component{state={hasError:false,error:null,errorInfo:null};static getDerivedStateFromError(r){return {hasError:true}}componentDidCatch(r,o){this.setState({error:r,errorInfo:o}),chunkHME64W2O_js.Fa({type:"OTHER_ERROR",message:r.message});}render(){return this.state.hasError?jsxRuntime.jsx(jsxRuntime.Fragment,{}):this.props.children}},I=V;var Ce=({params:e})=>jsxRuntime.jsx(reactRedux.Provider,{store:chunkHME64W2O_js.P,children:jsxRuntime.jsx(I,{children:jsxRuntime.jsx(ee,{params:e})})});chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var De=()=>(chunkHME64W2O_js.ha(({miniPlayer:{play:e}})=>({play:e}),reactRedux.shallowEqual),jsxRuntime.jsx("div",{className:`${!chunkHME64W2O_js.fa("isTouchScreen")&&"hover:pl-scale-125"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`,onContextMenu:e=>e.preventDefault(),children:jsxRuntime.jsx(Ne__default.default,{alt:"",src:chunkHME64W2O_js.fa("isPlayMiniPlayer")?chunk5FTEBU6O_js.a.bigPause:chunk5FTEBU6O_js.a.bigPlay,width:20,height:20,onClick:e=>chunkVIQ5L73J_js.c(e),onDoubleClick:e=>e.stopPropagation(),className:`${chunkHME64W2O_js.fa("isPlayMiniPlayer")?"pl-big-play-icon":"pl-big-pause-icon"}`})})),ie=De;chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var xe=()=>{let e=chunkHME64W2O_js.ga(),r=chunkHME64W2O_js.ha(t=>t.miniPlayer.details),o=chunkHME64W2O_js.ha(t=>t.miniPlayer.params);return Se.useEffect(()=>{let t=new b__default.default(chunkIGINC4KI_js.d());return b__default.default.isSupported()?(t.attachMedia(document.getElementById("mini-player-video-tag")),t.on(b__default.default.Events.MEDIA_ATTACHED,()=>chunkIGINC4KI_js.C(t))):chunkHME64W2O_js.ia().canPlayType("application/vnd.apple.mpegurl")&&(chunkHME64W2O_js.ia().src=r.stream_link,chunkIGINC4KI_js.b()),()=>{e(chunkHME64W2O_js.O()),t.detachMedia(),t.off(b__default.default.Events.MEDIA_ATTACHED,()=>chunkIGINC4KI_js.C(t));}},[]),Se.useEffect(()=>{o.currentTime&&(e(chunkHME64W2O_js.N(true)),chunkHME64W2O_js.ja().currentTime=o.currentTime,e(chunkHME64W2O_js.a(false)),chunkHME64W2O_js.ia().pause());},[o.currentTime]),jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsx("video",{onPlay:()=>e(chunkHME64W2O_js.N(true)),onEnded:()=>e(chunkHME64W2O_js.N(false)),onError:chunkIGINC4KI_js.a,poster:o.banner?o.banner:r.banner,id:"mini-player-video-tag",className:"pl-absolute pl-bg-black pl-w-full pl-h-full",autoPlay:true,muted:true})})},te=xe;chunkWO4IQUGO_js.e();var Ke=()=>{let e=chunkHME64W2O_js.ga(),r=chunkHME64W2O_js.ha(o=>o.miniPlayer.params);return Se.useEffect(()=>{r.currentTime&&(e(chunkHME64W2O_js.N(true)),chunkHME64W2O_js.ja().currentTime=r.currentTime,e(chunkHME64W2O_js.a(false)),chunkHME64W2O_js.ia().pause());},[r.currentTime]),jsxRuntime.jsx("video",{poster:r.banner,onPlay:()=>e(chunkHME64W2O_js.N(true)),onEnded:()=>e(chunkHME64W2O_js.N(false)),onError:chunkIGINC4KI_js.a,src:r.id,id:"mini-player-video-tag",className:"pl-absolute pl-bg-black pl-w-full pl-h-full",autoPlay:true})},ne=Ke;var He=()=>{let e=chunkHME64W2O_js.ha(r=>r.miniPlayer.params.type);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:e==="static"?jsxRuntime.jsx(ne,{}):jsxRuntime.jsx(te,{})})},le=He;var me=({params:e})=>{let r=chunkHME64W2O_js.ga(),o=chunkHME64W2O_js.ha(p=>p.miniPlayer.details),t=chunkHME64W2O_js.ha(p=>p.miniPlayer.params);chunkHME64W2O_js.ha(p=>p.miniPlayer.play);let m=chunkHME64W2O_js.ha(p=>p.videoData.params);Se.useEffect(()=>{r(chunkHME64W2O_js.L(e));},[]);let E=async()=>await chunkEDQKSY4F_js.a(e.id);return Se.useEffect(()=>{e.id&&e.type==="vod"&&E();},[e.id]),jsxRuntime.jsx(jsxRuntime.Fragment,{children:o.stream_link||t.type==="static"&&t.id?jsxRuntime.jsxs("div",{id:"miniPlayer-video-area",style:{zIndex:1000003},className:"pl-relative pl-w-full pl-h-full",children:[jsxRuntime.jsx("div",{className:`pl-absolute pl-z-[1000000] pl-top-3 pl-right-3 pl-cursor-pointer ${chunkHME64W2O_js.fa("isActiveElements")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,onClick:()=>{m.id===t.id&&(chunkHME64W2O_js.ia().currentTime=chunkHME64W2O_js.ja().currentTime,r(chunkHME64W2O_js.c(chunkHME64W2O_js.ja().currentTime))),localStorage.setItem("close-miniPlayer","true"),e.onClose();},children:jsxRuntime.jsx(Ne__default.default,{className:"pl-cursor-pointer",src:chunk5FTEBU6O_js.a.closeSquare,alt:"close-square",width:16,height:16})}),jsxRuntime.jsx("div",{className:`pl-w-full pl-absolute pl-bottom-0 animate__animated animate__faster pl-z-[1000000] ${chunkHME64W2O_js.fa("isActiveElements")&&!chunkHME64W2O_js.fa("isLoading")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,children:jsxRuntime.jsx("div",{className:"pl-w-full pl-flex pl-justify-center",children:jsxRuntime.jsx(ie,{})})}),jsxRuntime.jsx(le,{})]}):jsxRuntime.jsx("div",{className:"pl-w-full pl-h-full pl-bg-white"})})};var Oe=({params:e})=>jsxRuntime.jsx(reactRedux.Provider,{store:chunkHME64W2O_js.P,children:jsxRuntime.jsx(I,{children:jsxRuntime.jsx(me,{params:e})})});exports.MiniPlayerLibrary=Oe;exports.VideoPlayerLibrary=Ce;//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/videoPlayerLibrary/index.ts","../src/videoPlayerLibrary/videoPlayerLibrary.tsx","../src/videoPlayerLibrary/components/videoPlayer/videoPlayer.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleParams.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleKeyPress.tsx","../src/videoPlayerLibrary/helpers/hooks/useKeyPress.tsx","../src/videoPlayerLibrary/helpers/errorBoundary/errorBoundary.tsx","../src/videoPlayerLibrary/miniPlayerLibrary.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/miniPlayer.tsx","../src/videoPlayerLibrary/components/custom-components/playPause/miniPlayerPlayPause.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/videoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerNonStaticVideoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerStaticVideoTag.tsx"],"names":["init_cjs_shims","useHandleParams","query","dispatch","useAppDispatch","queryParams","handleSetParamsInRedux","setPlayerParams","setIsReady","handleAddUUID","handleVodParams","handleStaticParams","getUUID","handleParams","useEffect","useHandleParams_default","useKeyPress","key","cb","callbackRef","useRef","handleKeyPress","event","useKeyPress_default","useHandleKeyPress","conditions","handlePlayPause","handleBackwardForward","mainPlayerVideoTag","handleFullScreen","settings","store_default","handleChangeSoundVolume","handleSubtitle","useHandleKeyPress_default","StaticPlayer","dynamic","VodPlayer","VideoHighLighter","VideoPlayer","props","params","useAppSelector","isReady","shallowEqual","clearRedux","isFullScreen","jsx","element","Fragment","jsxs","loader_default","videoPlayer_default","ErrorBoundary","React","error","errorInfo","errorLogProvider","errorBoundary_default","VideoPlayerLibrary","Provider","MiniPlayerPlayPause","play","Image","importImages_default","handlePlayerPauseMiniPlayer","miniPlayerPlayPause_default","MiniPlayerNonStaticVideoTag","details","state","hls","Hls","handleMiniPlayerHlsConfig","handleMiniPlayerMediaAttached","appendQueryParamsToChunksIOS","setClearMiniPlayerSlice","setPlayMiniPlayer","miniPlayerVideoTag","setPlay","handleVideoError","miniPlayerNonStaticVideoTag_default","MiniPlayerStaticVideoTag","miniPlayerStaticVideoTag_default","VideoTag","type","videoTag_default","MiniPlayer","miniPlayerParams","mainPlayerParams","setMiniPlayerInfo","handleGetDetail","getVodDetails","setCurrentTime","MiniPlayerLibrary"],"mappings":"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","file":"index.js","sourcesContent":["export { VideoPlayerLibrary } from \"./videoPlayerLibrary\";\r\nexport { MiniPlayerLibrary } from \"./miniPlayerLibrary\";\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport VideoPlayer from \"./components/videoPlayer/videoPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const VideoPlayerLibrary = ({ params }: { params: IParams }) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <VideoPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport { conditions } from \"../../helpers/conditions/conditions\";\r\nimport useHandleParams from \"../../helpers/hooks/useHandleParams\";\r\nimport { ConditionName, PlayerTypes, zIndex } from \"../../helpers/interfaces/enums\";\r\nimport { IParams } from \"../../helpers/interfaces/interfaces\";\r\nimport { useAppSelector } from \"../../helpers/redux/hooks\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport dynamic from \"next/dynamic\";\r\nimport useHandleKeyPress from \"../../helpers/hooks/useHandleKeyPress\";\r\nimport { useEffect } from \"react\";\r\nimport { clearRedux } from \"../../helpers/helpers\";\r\nimport { mainPlayerVideoTag } from \"../../helpers/constants\";\r\nimport Loader from \"../custom-components/loader/loader\";\r\n\r\nconst StaticPlayer = dynamic(() => import(\"./staticPlayer/staticPlayer\"));\r\nconst VodPlayer = dynamic(() => import(\"./vodPlayer/vodPlayer\"));\r\nconst VideoHighLighter = dynamic(() => import(\"./videoHighLighter/VideoHighLighter\"));\r\n\r\ninterface IProps {\r\n params: IParams;\r\n}\r\n\r\nconst VideoPlayer = (props: IProps) => {\r\n const { params } = useAppSelector(({ videoData: { isReady, params } }) => ({ isReady, params }), shallowEqual);\r\n useEffect(() => {\r\n if (params.id && props.params.id !== params.id) {\r\n if (params.type === PlayerTypes.static) {\r\n mainPlayerVideoTag().pause();\r\n mainPlayerVideoTag().removeAttribute(\"src\");\r\n mainPlayerVideoTag().load();\r\n }\r\n clearRedux();\r\n }\r\n return () => {\r\n if (params.id) clearRedux();\r\n };\r\n }, [props.params.id]);\r\n\r\n useHandleParams(props.params);\r\n useHandleKeyPress();\r\n useAppSelector(({ controller: { isFullScreen } }) => ({ isFullScreen }), shallowEqual);\r\n\r\n if (props.params.vhl_status) return <VideoHighLighter />;\r\n\r\n let element = <></>;\r\n if (conditions(ConditionName.isReady)) {\r\n element = (\r\n <div\r\n className={`${!conditions(ConditionName.isTouchScreen) && \"pl-rounded-[12px]\"}`}\r\n style={{ zIndex: zIndex.videoPlayerInFullScreen, touchAction: \"pan-y\", userSelect: \"none\" }}\r\n >\r\n {conditions(ConditionName.isStaticFormat) ? <StaticPlayer /> : <VodPlayer />}\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n dir=\"rtl\"\r\n className={`pl-relative pl-rounded-[12px] pl-w-full pl-h-full pl-aspect-video pl-overflow-x-hidden ${\r\n conditions(ConditionName.isFullScreen) && \"!pl-overflow-hidden pl-fixed pl-top-0 pl-right-0 pl-w-screen pl-h-screen pl-rounded-none\"\r\n }`}\r\n id=\"parent-player\"\r\n >\r\n {conditions(ConditionName.isFirstPlay) && (\r\n <div\r\n className={`pl-absolute pl-bg-black pl-w-full pl-h-full pl-aspect-video ${\r\n !conditions(ConditionName.isTouchScreen) && !conditions(ConditionName.isFullScreen) && \"pl-rounded-[12px]\"\r\n }`}\r\n >\r\n <Loader />\r\n </div>\r\n )}\r\n {element}\r\n </div>\r\n );\r\n};\r\n\r\nexport default VideoPlayer;\r\n","\"use client\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { getUUID } from \"../helpers\";\r\nimport { useAppDispatch } from \"../redux/hooks\";\r\nimport { IParams } from \"../interfaces/interfaces\";\r\nimport { setIsReady, setPlayerParams } from \"../redux/slices/videoDataSlice\";\r\nimport { PlayerTypes } from \"../interfaces/enums\";\r\n\r\nconst useHandleParams = (query: any) => {\r\n const dispatch = useAppDispatch();\r\n\r\n let queryParams: IParams = {};\r\n\r\n const handleSetParamsInRedux = () => {\r\n dispatch(setPlayerParams(queryParams));\r\n dispatch(setIsReady(true));\r\n };\r\n\r\n const handleAddUUID = () => {\r\n if (!!query.uuid) {\r\n localStorage.setItem(\"hamrahiUUID\", query.uuid!);\r\n queryParams.uuid = query.uuid;\r\n }\r\n };\r\n\r\n const handleVodParams = () => {\r\n queryParams = {\r\n provider: \"cafevdo\",\r\n ...query,\r\n };\r\n };\r\n\r\n const handleStaticParams = () => {\r\n queryParams = {\r\n id: window.atob(query.id),\r\n type: query.type,\r\n fullscreen: query.fullscreen,\r\n autoplay: query.autoplay,\r\n banner:\r\n query.banner && query.banner !== \"undefined\" ? query.banner : undefined,\r\n uuid: getUUID(),\r\n bannerAlt: query.bannerAlt,\r\n provider: \"cafevdo\",\r\n onFinished: query.onFinished,\r\n onClickMiniPlayerIcon: query.onClickMiniPlayerIcon,\r\n onChangeCurrentTime: query.onChangeCurrentTime,\r\n currentTime: query.currentTime,\r\n subtitles: query.subtitles,\r\n daaniHashCode: query.daaniHashCode\r\n };\r\n };\r\n\r\n const handleParams = async () => {\r\n queryParams = {};\r\n if (Object.keys(query).includes(\"type\")) {\r\n if (String(query.type) === PlayerTypes.vod) handleVodParams();\r\n else if (String(query.type) === PlayerTypes.static) handleStaticParams();\r\n handleAddUUID();\r\n handleSetParamsInRedux();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n handleParams();\r\n }, [query]);\r\n};\r\n\r\nexport default useHandleParams;\r\n","import { conditions } from \"../conditions/conditions\";\r\nimport { mainPlayerVideoTag } from \"../constants\";\r\nimport { ConditionName } from \"../interfaces/enums\";\r\nimport { handleBackwardForward, handleChangeSoundVolume, handleFullScreen, handlePlayPause } from \"../redux/actions/controller.actions\";\r\nimport { handleSubtitle } from \"../redux/actions/videoData.actions\";\r\nimport store from \"../redux/store\";\r\nimport useKeyPress from \"./useKeyPress\";\r\n\r\nconst useHandleKeyPress = () => {\r\n useKeyPress(\"Space\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeySpace)) handlePlayPause(event);\r\n });\r\n useKeyPress(\"ArrowRight\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowRight)) handleBackwardForward(\"forward\", 15, event);\r\n });\r\n useKeyPress(\"ArrowLeft\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowLeft)) handleBackwardForward(\"backward\", 15, event);\r\n });\r\n useKeyPress(\"KeyI\", () => {\r\n if (conditions(ConditionName.isPressKeyI)) mainPlayerVideoTag().requestPictureInPicture();\r\n });\r\n useKeyPress(\"KeyF\", () => {\r\n if (conditions(ConditionName.isPressKeyF)) handleFullScreen();\r\n });\r\n useKeyPress(\"KeyM\", () => {\r\n if (conditions(ConditionName.isPressKeyM)) {\r\n const { settings } = store.getState().user;\r\n handleChangeSoundVolume(settings.volume ? 0 : 50);\r\n }\r\n });\r\n useKeyPress(\"KeyC\", () => {\r\n if (conditions(ConditionName.isPressKeyC)) handleSubtitle();\r\n });\r\n};\r\n\r\nexport default useHandleKeyPress;\r\n","import { useEffect, useRef } from \"react\";\r\n\r\nconst useKeyPress = (key: string, cb: any) => {\r\n const callbackRef = useRef(cb);\r\n\r\n useEffect(() => {\r\n callbackRef.current = cb;\r\n }, []);\r\n\r\n useEffect(() => {\r\n const handleKeyPress = (event: any) => {\r\n if (event.code === key && ![\"INPUT\", \"TEXTAREA\"].includes(event.target.nodeName) && !event.target.isContentEditable) callbackRef.current(event);\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleKeyPress);\r\n\r\n return () => document.removeEventListener(\"keydown\", handleKeyPress);\r\n }, [key]);\r\n};\r\nexport default useKeyPress;\r\n","import React from \"react\";\r\nimport { errorLogProvider } from \"./errorBoundaryFunctions\";\r\n\r\nclass ErrorBoundary extends React.Component {\r\n state = { hasError: false, error: null, errorInfo: null };\r\n\r\n static getDerivedStateFromError(error: any) {\r\n // Update state so the next render will show the fallback UI.\r\n return { hasError: true };\r\n }\r\n\r\n componentDidCatch(error: any, errorInfo: any) {\r\n // You can also log the error to an error reporting service\r\n this.setState({ error: error, errorInfo: errorInfo });\r\n errorLogProvider({ type: \"OTHER_ERROR\", message: error.message });\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n return <></>;\r\n }\r\n\r\n return (this.props as any).children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IMiniPlayerParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport { MiniPlayer } from \"./components/custom-components/miniPlayer/miniPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const MiniPlayerLibrary = ({\r\n params,\r\n}: {\r\n params: IMiniPlayerParams;\r\n}) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <MiniPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport Image from \"next/legacy/image\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { ConditionName, zIndex } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { useEffect } from \"react\";\r\nimport { IMiniPlayerParams } from \"../../../helpers/interfaces/interfaces\";\r\nimport { setMiniPlayerInfo } from \"../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport MiniPlayerPlayPause from \"../playPause/miniPlayerPlayPause\";\r\nimport VideoTag from \"./videoTag/videoTag\";\r\nimport { getVodDetails } from \"../../../helpers/redux/actions/videoData.actions\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../helpers/constants\";\r\nimport { setCurrentTime } from \"../../../helpers/redux/slices/controllerSlice\";\r\n\r\nexport const MiniPlayer = ({ params }: { params: IMiniPlayerParams }) => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector(state => state.miniPlayer.details);\r\n const miniPlayerParams = useAppSelector(state => state.miniPlayer.params);\r\n useAppSelector(state => state.miniPlayer.play);\r\n const mainPlayerParams = useAppSelector(state => state.videoData.params);\r\n \r\n useEffect(() => {\r\n dispatch(setMiniPlayerInfo(params));\r\n },[])\r\n\r\n const handleGetDetail = async () => await getVodDetails(params.id);\r\n\r\n useEffect(() => {\r\n if(params.id && params.type === \"vod\") handleGetDetail();\r\n },[params.id])\r\n\r\n return (\r\n <>\r\n {details.stream_link || (miniPlayerParams.type === \"static\" && !!miniPlayerParams.id) ? (\r\n <div id=\"miniPlayer-video-area\" style={{zIndex: zIndex.miniPlayer}} className=\"pl-relative pl-w-full pl-h-full\">\r\n <div \r\n className={`pl-absolute pl-z-[1000000] pl-top-3 pl-right-3 pl-cursor-pointer ${conditions(ConditionName.isActiveElements) ? \"animate__fadeIn pl-pointer-events-auto\" : \"animate__fadeOut pl-pointer-events-none\" }`} \r\n onClick={() => {\r\n if(mainPlayerParams.id === miniPlayerParams.id) {\r\n mainPlayerVideoTag().currentTime = miniPlayerVideoTag().currentTime;\r\n dispatch(setCurrentTime(miniPlayerVideoTag().currentTime));\r\n }\r\n localStorage.setItem(\"close-miniPlayer\", \"true\");\r\n params.onClose();\r\n }}\r\n > \r\n <Image\r\n className=\"pl-cursor-pointer\"\r\n src={IMAGES.closeSquare}\r\n alt=\"close-square\"\r\n width={16}\r\n height={16}\r\n />\r\n </div>\r\n <div className={`pl-w-full pl-absolute pl-bottom-0 animate__animated animate__faster pl-z-[1000000] ${conditions(ConditionName.isActiveElements) && !conditions(ConditionName.isLoading)\r\n ? \"animate__fadeIn pl-pointer-events-auto\"\r\n : \"animate__fadeOut pl-pointer-events-none\"\r\n }`}>\r\n <div className=\"pl-w-full pl-flex pl-justify-center\">\r\n <MiniPlayerPlayPause />\r\n </div>\r\n </div>\r\n <VideoTag />\r\n </div>\r\n ) : (\r\n <div className=\"pl-w-full pl-h-full pl-bg-white\" />\r\n )}\r\n\r\n </>\r\n )\r\n}","import { shallowEqual } from \"react-redux\";\r\nimport { useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { handlePlayerPauseMiniPlayer } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport Image from \"next/legacy/image\";\r\n\r\nconst MiniPlayerPlayPause = () => {\r\n useAppSelector(({ miniPlayer: { play } }) => ({ play }), shallowEqual);\r\n\r\n return (\r\n <div\r\n className={`${!conditions(ConditionName.isTouchScreen) && \"hover:pl-scale-125\"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`}\r\n onContextMenu={(event) => event.preventDefault()}\r\n >\r\n <Image\r\n alt=\"\"\r\n src={conditions(ConditionName.isPlayMiniPlayer) ? IMAGES.bigPause : IMAGES.bigPlay}\r\n width={20}\r\n height={20}\r\n onClick={(event: any) => handlePlayerPauseMiniPlayer(event)}\r\n onDoubleClick={(event: any) => event.stopPropagation()}\r\n className={`${conditions(ConditionName.isPlayMiniPlayer) ? \"pl-big-play-icon\" : \"pl-big-pause-icon\"}`}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default MiniPlayerPlayPause;\r\n","import { PlayerTypes } from \"../../../../helpers/interfaces/enums\";\r\nimport { useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport MiniPlayerNonStaticVideoTag from \"./miniPlayerNonStaticVideoTag\";\r\nimport MiniPlayerStaticVideoTag from \"./miniPlayerStaticVideoTag\";\r\n\r\nconst VideoTag = () => {\r\n \r\n const type = useAppSelector(state => state.miniPlayer.params.type);\r\n return (\r\n <>{type === PlayerTypes.static ? <MiniPlayerStaticVideoTag /> : <MiniPlayerNonStaticVideoTag />}</>\r\n )\r\n}\r\n\r\nexport default VideoTag;","import Hls from \"hls.js\";\r\nimport { useEffect } from \"react\";\r\nimport {\r\n appendQueryParamsToChunksIOS,\r\n handleMiniPlayerHlsConfig,\r\n handleMiniPlayerMediaAttached,\r\n handleVideoError,\r\n} from \"../../../../helpers/redux/actions/playerCore.actions\";\r\nimport {\r\n useAppDispatch,\r\n useAppSelector,\r\n} from \"../../../../helpers/redux/hooks\";\r\nimport {\r\n mainPlayerVideoTag,\r\n miniPlayerVideoTag,\r\n} from \"../../../../helpers/constants\";\r\nimport {\r\n setClearMiniPlayerSlice,\r\n setPlayMiniPlayer,\r\n} from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\n\r\nconst MiniPlayerNonStaticVideoTag = () => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector((state) => state.miniPlayer.details);\r\n const params = useAppSelector((state) => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n let hls = new Hls(handleMiniPlayerHlsConfig());\r\n if (Hls.isSupported()) {\r\n hls.attachMedia(\r\n document.getElementById(`mini-player-video-tag`) as HTMLMediaElement\r\n );\r\n hls.on(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n } else if (\r\n mainPlayerVideoTag().canPlayType(\"application/vnd.apple.mpegurl\")\r\n ) {\r\n mainPlayerVideoTag().src = details.stream_link!;\r\n\r\n // Append Query Parameter to .ts Chunks\r\n appendQueryParamsToChunksIOS();\r\n }\r\n return () => {\r\n dispatch(setClearMiniPlayerSlice());\r\n hls.detachMedia();\r\n hls.off(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag().pause();\r\n }\r\n }, [params.currentTime]);\r\n\r\n return (\r\n <>\r\n <video\r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n poster={params.banner ? params.banner : details.banner}\r\n id={`mini-player-video-tag`}\r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay={true}\r\n muted={true}\r\n />\r\n </>\r\n );\r\n};\r\n\r\nexport default MiniPlayerNonStaticVideoTag;\r\n","import { useEffect } from \"react\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../../helpers/constants\";\r\nimport { setPlayMiniPlayer } from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\nimport { handleVideoError } from \"../../../../helpers/redux/actions/playerCore.actions\";\r\n\r\nconst MiniPlayerStaticVideoTag = () => {\r\n\r\n const dispatch = useAppDispatch();\r\n const params = useAppSelector(state => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n if(params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag().pause();\r\n }\r\n },[params.currentTime])\r\n\r\n return (\r\n <video \r\n poster={params.banner} \r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n src={params.id} \r\n id={`mini-player-video-tag`} \r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay\r\n />\r\n )\r\n}\r\n\r\nexport default MiniPlayerStaticVideoTag;"]}
1
+ {"version":3,"sources":["../src/videoPlayerLibrary/index.ts","../src/videoPlayerLibrary/videoPlayerLibrary.tsx","../src/videoPlayerLibrary/components/videoPlayer/videoPlayer.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleParams.tsx","../src/videoPlayerLibrary/helpers/hooks/useHandleKeyPress.tsx","../src/videoPlayerLibrary/helpers/hooks/useKeyPress.tsx","../src/videoPlayerLibrary/helpers/errorBoundary/errorBoundary.tsx","../src/videoPlayerLibrary/miniPlayerLibrary.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/miniPlayer.tsx","../src/videoPlayerLibrary/components/custom-components/playPause/miniPlayerPlayPause.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/videoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerNonStaticVideoTag.tsx","../src/videoPlayerLibrary/components/custom-components/miniPlayer/videoTag/miniPlayerStaticVideoTag.tsx"],"names":["init_cjs_shims","useHandleParams","query","dispatch","useAppDispatch","queryParams","handleSetParamsInRedux","setPlayerParams","setIsReady","handleAddUUID","handleVodParams","handleStaticParams","getUUID","handleParams","useEffect","useHandleParams_default","useKeyPress","key","cb","callbackRef","useRef","handleKeyPress","event","useKeyPress_default","useHandleKeyPress","conditions","handlePlayPause","handleBackwardForward","mainPlayerVideoTag","handleFullScreen","settings","store_default","handleChangeSoundVolume","handleSubtitle","useHandleKeyPress_default","StaticPlayer","dynamic","VodPlayer","VideoHighLighter","VideoPlayer","props","params","useAppSelector","isReady","shallowEqual","clearRedux","isFullScreen","jsx","element","Fragment","jsxs","loader_default","videoPlayer_default","ErrorBoundary","React","error","errorInfo","errorLogProvider","errorBoundary_default","VideoPlayerLibrary","Provider","MiniPlayerPlayPause","play","Image","importImages_default","handlePlayerPauseMiniPlayer","miniPlayerPlayPause_default","MiniPlayerNonStaticVideoTag","details","state","hls","Hls","handleMiniPlayerHlsConfig","handleMiniPlayerMediaAttached","appendQueryParamsToChunksIOS","setClearMiniPlayerSlice","setPlayMiniPlayer","miniPlayerVideoTag","setPlay","handleVideoError","miniPlayerNonStaticVideoTag_default","MiniPlayerStaticVideoTag","miniPlayerStaticVideoTag_default","VideoTag","type","videoTag_default","MiniPlayer","miniPlayerParams","mainPlayerParams","setMiniPlayerInfo","handleGetDetail","getVodDetails","setCurrentTime","MiniPlayerLibrary"],"mappings":"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","file":"index.js","sourcesContent":["export { VideoPlayerLibrary } from \"./videoPlayerLibrary\";\r\nexport { MiniPlayerLibrary } from \"./miniPlayerLibrary\";\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport VideoPlayer from \"./components/videoPlayer/videoPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const VideoPlayerLibrary = ({ params }: { params: IParams }) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <VideoPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport { conditions } from \"../../helpers/conditions/conditions\";\r\nimport useHandleParams from \"../../helpers/hooks/useHandleParams\";\r\nimport { ConditionName, PlayerTypes, zIndex } from \"../../helpers/interfaces/enums\";\r\nimport { IParams } from \"../../helpers/interfaces/interfaces\";\r\nimport { useAppSelector } from \"../../helpers/redux/hooks\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport dynamic from \"next/dynamic\";\r\nimport useHandleKeyPress from \"../../helpers/hooks/useHandleKeyPress\";\r\nimport { useEffect } from \"react\";\r\nimport { clearRedux } from \"../../helpers/helpers\";\r\nimport { mainPlayerVideoTag } from \"../../helpers/constants\";\r\nimport Loader from \"../custom-components/loader/loader\";\r\n\r\nconst StaticPlayer = dynamic(() => import(\"./staticPlayer/staticPlayer\"));\r\nconst VodPlayer = dynamic(() => import(\"./vodPlayer/vodPlayer\"));\r\nconst VideoHighLighter = dynamic(() => import(\"./videoHighLighter/VideoHighLighter\"));\r\n\r\ninterface IProps {\r\n params: IParams;\r\n}\r\n\r\nconst VideoPlayer = (props: IProps) => {\r\n const { params } = useAppSelector(({ videoData: { isReady, params } }) => ({ isReady, params }), shallowEqual);\r\n useEffect(() => {\r\n if (params.id && props.params.id !== params.id) {\r\n if (params.type === PlayerTypes.static) {\r\n mainPlayerVideoTag().pause();\r\n mainPlayerVideoTag().removeAttribute(\"src\");\r\n mainPlayerVideoTag().load();\r\n }\r\n clearRedux();\r\n }\r\n return () => {\r\n if (params.id) clearRedux();\r\n };\r\n }, [props.params.id]);\r\n\r\n useHandleParams(props.params);\r\n useHandleKeyPress();\r\n useAppSelector(({ controller: { isFullScreen } }) => ({ isFullScreen }), shallowEqual);\r\n\r\n if (props.params.vhl_status) return <VideoHighLighter />;\r\n\r\n let element = <></>;\r\n if (conditions(ConditionName.isReady)) {\r\n element = (\r\n <div\r\n className={`${!conditions(ConditionName.isTouchScreen) && \"pl-rounded-[12px]\"}`}\r\n style={{ zIndex: zIndex.videoPlayerInFullScreen, touchAction: \"pan-y\", userSelect: \"none\" }}\r\n >\r\n {conditions(ConditionName.isStaticFormat) ? <StaticPlayer /> : <VodPlayer />}\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n dir=\"rtl\"\r\n className={`pl-relative pl-rounded-[12px] pl-w-full pl-h-full pl-aspect-video ${\r\n conditions(ConditionName.isFullScreen) && \"!pl-overflow-hidden pl-fixed pl-top-0 pl-right-0 pl-w-screen pl-h-screen pl-rounded-none\"\r\n }`}\r\n id=\"parent-player\"\r\n >\r\n {conditions(ConditionName.isFirstPlay) && (\r\n <div\r\n className={`pl-absolute pl-bg-black pl-w-full pl-h-full pl-aspect-video ${\r\n !conditions(ConditionName.isTouchScreen) && !conditions(ConditionName.isFullScreen) && \"pl-rounded-[12px]\"\r\n }`}\r\n >\r\n <Loader />\r\n </div>\r\n )}\r\n {element}\r\n </div>\r\n );\r\n};\r\n\r\nexport default VideoPlayer;\r\n","\"use client\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { getUUID } from \"../helpers\";\r\nimport { useAppDispatch } from \"../redux/hooks\";\r\nimport { IParams } from \"../interfaces/interfaces\";\r\nimport { setIsReady, setPlayerParams } from \"../redux/slices/videoDataSlice\";\r\nimport { PlayerTypes } from \"../interfaces/enums\";\r\n\r\nconst useHandleParams = (query: any) => {\r\n const dispatch = useAppDispatch();\r\n\r\n let queryParams: IParams = {};\r\n\r\n const handleSetParamsInRedux = () => {\r\n dispatch(setPlayerParams(queryParams));\r\n dispatch(setIsReady(true));\r\n };\r\n\r\n const handleAddUUID = () => {\r\n if (!!query.uuid) {\r\n localStorage.setItem(\"hamrahiUUID\", query.uuid!);\r\n queryParams.uuid = query.uuid;\r\n }\r\n };\r\n\r\n const handleVodParams = () => {\r\n queryParams = {\r\n provider: \"cafevdo\",\r\n ...query,\r\n };\r\n };\r\n\r\n const handleStaticParams = () => {\r\n queryParams = {\r\n id: window.atob(query.id),\r\n type: query.type,\r\n fullscreen: query.fullscreen,\r\n autoplay: query.autoplay,\r\n banner:\r\n query.banner && query.banner !== \"undefined\" ? query.banner : undefined,\r\n uuid: getUUID(),\r\n bannerAlt: query.bannerAlt,\r\n provider: \"cafevdo\",\r\n onFinished: query.onFinished,\r\n onClickMiniPlayerIcon: query.onClickMiniPlayerIcon,\r\n onChangeCurrentTime: query.onChangeCurrentTime,\r\n currentTime: query.currentTime,\r\n subtitles: query.subtitles,\r\n daaniHashCode: query.daaniHashCode\r\n };\r\n };\r\n\r\n const handleParams = async () => {\r\n queryParams = {};\r\n if (Object.keys(query).includes(\"type\")) {\r\n if (String(query.type) === PlayerTypes.vod) handleVodParams();\r\n else if (String(query.type) === PlayerTypes.static) handleStaticParams();\r\n handleAddUUID();\r\n handleSetParamsInRedux();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n handleParams();\r\n }, [query]);\r\n};\r\n\r\nexport default useHandleParams;\r\n","import { conditions } from \"../conditions/conditions\";\r\nimport { mainPlayerVideoTag } from \"../constants\";\r\nimport { ConditionName } from \"../interfaces/enums\";\r\nimport { handleBackwardForward, handleChangeSoundVolume, handleFullScreen, handlePlayPause } from \"../redux/actions/controller.actions\";\r\nimport { handleSubtitle } from \"../redux/actions/videoData.actions\";\r\nimport store from \"../redux/store\";\r\nimport useKeyPress from \"./useKeyPress\";\r\n\r\nconst useHandleKeyPress = () => {\r\n useKeyPress(\"Space\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeySpace)) handlePlayPause(event);\r\n });\r\n useKeyPress(\"ArrowRight\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowRight)) handleBackwardForward(\"forward\", 15, event);\r\n });\r\n useKeyPress(\"ArrowLeft\", (event: any) => {\r\n if (conditions(ConditionName.isPressKeyArrowLeft)) handleBackwardForward(\"backward\", 15, event);\r\n });\r\n useKeyPress(\"KeyI\", () => {\r\n if (conditions(ConditionName.isPressKeyI)) mainPlayerVideoTag().requestPictureInPicture();\r\n });\r\n useKeyPress(\"KeyF\", () => {\r\n if (conditions(ConditionName.isPressKeyF)) handleFullScreen();\r\n });\r\n useKeyPress(\"KeyM\", () => {\r\n if (conditions(ConditionName.isPressKeyM)) {\r\n const { settings } = store.getState().user;\r\n handleChangeSoundVolume(settings.volume ? 0 : 50);\r\n }\r\n });\r\n useKeyPress(\"KeyC\", () => {\r\n if (conditions(ConditionName.isPressKeyC)) handleSubtitle();\r\n });\r\n};\r\n\r\nexport default useHandleKeyPress;\r\n","import { useEffect, useRef } from \"react\";\r\n\r\nconst useKeyPress = (key: string, cb: any) => {\r\n const callbackRef = useRef(cb);\r\n\r\n useEffect(() => {\r\n callbackRef.current = cb;\r\n }, []);\r\n\r\n useEffect(() => {\r\n const handleKeyPress = (event: any) => {\r\n if (event.code === key && ![\"INPUT\", \"TEXTAREA\"].includes(event.target.nodeName) && !event.target.isContentEditable) callbackRef.current(event);\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleKeyPress);\r\n\r\n return () => document.removeEventListener(\"keydown\", handleKeyPress);\r\n }, [key]);\r\n};\r\nexport default useKeyPress;\r\n","import React from \"react\";\r\nimport { errorLogProvider } from \"./errorBoundaryFunctions\";\r\n\r\nclass ErrorBoundary extends React.Component {\r\n state = { hasError: false, error: null, errorInfo: null };\r\n\r\n static getDerivedStateFromError(error: any) {\r\n // Update state so the next render will show the fallback UI.\r\n return { hasError: true };\r\n }\r\n\r\n componentDidCatch(error: any, errorInfo: any) {\r\n // You can also log the error to an error reporting service\r\n this.setState({ error: error, errorInfo: errorInfo });\r\n errorLogProvider({ type: \"OTHER_ERROR\", message: error.message });\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n return <></>;\r\n }\r\n\r\n return (this.props as any).children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;\r\n","\"use client\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport { IMiniPlayerParams } from \"./helpers/interfaces/interfaces\";\r\nimport store from \"./helpers/redux/store\";\r\nimport { MiniPlayer } from \"./components/custom-components/miniPlayer/miniPlayer\";\r\nimport ErrorBoundary from \"./helpers/errorBoundary/errorBoundary\";\r\n\r\nexport const MiniPlayerLibrary = ({\r\n params,\r\n}: {\r\n params: IMiniPlayerParams;\r\n}) => {\r\n return (\r\n <Provider store={store}>\r\n <ErrorBoundary>\r\n <MiniPlayer params={params} />\r\n </ErrorBoundary>\r\n </Provider>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport Image from \"next/legacy/image\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { ConditionName, zIndex } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { useEffect } from \"react\";\r\nimport { IMiniPlayerParams } from \"../../../helpers/interfaces/interfaces\";\r\nimport { setMiniPlayerInfo } from \"../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport MiniPlayerPlayPause from \"../playPause/miniPlayerPlayPause\";\r\nimport VideoTag from \"./videoTag/videoTag\";\r\nimport { getVodDetails } from \"../../../helpers/redux/actions/videoData.actions\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../helpers/constants\";\r\nimport { setCurrentTime } from \"../../../helpers/redux/slices/controllerSlice\";\r\n\r\nexport const MiniPlayer = ({ params }: { params: IMiniPlayerParams }) => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector(state => state.miniPlayer.details);\r\n const miniPlayerParams = useAppSelector(state => state.miniPlayer.params);\r\n useAppSelector(state => state.miniPlayer.play);\r\n const mainPlayerParams = useAppSelector(state => state.videoData.params);\r\n \r\n useEffect(() => {\r\n dispatch(setMiniPlayerInfo(params));\r\n },[])\r\n\r\n const handleGetDetail = async () => await getVodDetails(params.id);\r\n\r\n useEffect(() => {\r\n if(params.id && params.type === \"vod\") handleGetDetail();\r\n },[params.id])\r\n\r\n return (\r\n <>\r\n {details.stream_link || (miniPlayerParams.type === \"static\" && !!miniPlayerParams.id) ? (\r\n <div id=\"miniPlayer-video-area\" style={{zIndex: zIndex.miniPlayer}} className=\"pl-relative pl-w-full pl-h-full\">\r\n <div \r\n className={`pl-absolute pl-z-[1000000] pl-top-3 pl-right-3 pl-cursor-pointer ${conditions(ConditionName.isActiveElements) ? \"animate__fadeIn pl-pointer-events-auto\" : \"animate__fadeOut pl-pointer-events-none\" }`} \r\n onClick={() => {\r\n if(mainPlayerParams.id === miniPlayerParams.id) {\r\n mainPlayerVideoTag().currentTime = miniPlayerVideoTag().currentTime;\r\n dispatch(setCurrentTime(miniPlayerVideoTag().currentTime));\r\n }\r\n localStorage.setItem(\"close-miniPlayer\", \"true\");\r\n params.onClose();\r\n }}\r\n > \r\n <Image\r\n className=\"pl-cursor-pointer\"\r\n src={IMAGES.closeSquare}\r\n alt=\"close-square\"\r\n width={16}\r\n height={16}\r\n />\r\n </div>\r\n <div className={`pl-w-full pl-absolute pl-bottom-0 animate__animated animate__faster pl-z-[1000000] ${conditions(ConditionName.isActiveElements) && !conditions(ConditionName.isLoading)\r\n ? \"animate__fadeIn pl-pointer-events-auto\"\r\n : \"animate__fadeOut pl-pointer-events-none\"\r\n }`}>\r\n <div className=\"pl-w-full pl-flex pl-justify-center\">\r\n <MiniPlayerPlayPause />\r\n </div>\r\n </div>\r\n <VideoTag />\r\n </div>\r\n ) : (\r\n <div className=\"pl-w-full pl-h-full pl-bg-white\" />\r\n )}\r\n\r\n </>\r\n )\r\n}","import { shallowEqual } from \"react-redux\";\r\nimport { useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { handlePlayerPauseMiniPlayer } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport Image from \"next/legacy/image\";\r\n\r\nconst MiniPlayerPlayPause = () => {\r\n useAppSelector(({ miniPlayer: { play } }) => ({ play }), shallowEqual);\r\n\r\n return (\r\n <div\r\n className={`${!conditions(ConditionName.isTouchScreen) && \"hover:pl-scale-125\"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`}\r\n onContextMenu={(event) => event.preventDefault()}\r\n >\r\n <Image\r\n alt=\"\"\r\n src={conditions(ConditionName.isPlayMiniPlayer) ? IMAGES.bigPause : IMAGES.bigPlay}\r\n width={20}\r\n height={20}\r\n onClick={(event: any) => handlePlayerPauseMiniPlayer(event)}\r\n onDoubleClick={(event: any) => event.stopPropagation()}\r\n className={`${conditions(ConditionName.isPlayMiniPlayer) ? \"pl-big-play-icon\" : \"pl-big-pause-icon\"}`}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default MiniPlayerPlayPause;\r\n","import { PlayerTypes } from \"../../../../helpers/interfaces/enums\";\r\nimport { useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport MiniPlayerNonStaticVideoTag from \"./miniPlayerNonStaticVideoTag\";\r\nimport MiniPlayerStaticVideoTag from \"./miniPlayerStaticVideoTag\";\r\n\r\nconst VideoTag = () => {\r\n \r\n const type = useAppSelector(state => state.miniPlayer.params.type);\r\n return (\r\n <>{type === PlayerTypes.static ? <MiniPlayerStaticVideoTag /> : <MiniPlayerNonStaticVideoTag />}</>\r\n )\r\n}\r\n\r\nexport default VideoTag;","import Hls from \"hls.js\";\r\nimport { useEffect } from \"react\";\r\nimport {\r\n appendQueryParamsToChunksIOS,\r\n handleMiniPlayerHlsConfig,\r\n handleMiniPlayerMediaAttached,\r\n handleVideoError,\r\n} from \"../../../../helpers/redux/actions/playerCore.actions\";\r\nimport {\r\n useAppDispatch,\r\n useAppSelector,\r\n} from \"../../../../helpers/redux/hooks\";\r\nimport {\r\n mainPlayerVideoTag,\r\n miniPlayerVideoTag,\r\n} from \"../../../../helpers/constants\";\r\nimport {\r\n setClearMiniPlayerSlice,\r\n setPlayMiniPlayer,\r\n} from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\n\r\nconst MiniPlayerNonStaticVideoTag = () => {\r\n const dispatch = useAppDispatch();\r\n const details = useAppSelector((state) => state.miniPlayer.details);\r\n const params = useAppSelector((state) => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n let hls = new Hls(handleMiniPlayerHlsConfig());\r\n if (Hls.isSupported()) {\r\n hls.attachMedia(\r\n document.getElementById(`mini-player-video-tag`) as HTMLMediaElement\r\n );\r\n hls.on(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n } else if (\r\n mainPlayerVideoTag().canPlayType(\"application/vnd.apple.mpegurl\")\r\n ) {\r\n mainPlayerVideoTag().src = details.stream_link!;\r\n\r\n // Append Query Parameter to .ts Chunks\r\n appendQueryParamsToChunksIOS();\r\n }\r\n return () => {\r\n dispatch(setClearMiniPlayerSlice());\r\n hls.detachMedia();\r\n hls.off(Hls.Events.MEDIA_ATTACHED, () =>\r\n handleMiniPlayerMediaAttached(hls)\r\n );\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag().pause();\r\n }\r\n }, [params.currentTime]);\r\n\r\n return (\r\n <>\r\n <video\r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n poster={params.banner ? params.banner : details.banner}\r\n id={`mini-player-video-tag`}\r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay={true}\r\n muted={true}\r\n />\r\n </>\r\n );\r\n};\r\n\r\nexport default MiniPlayerNonStaticVideoTag;\r\n","import { useEffect } from \"react\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../../helpers/redux/hooks\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../../../helpers/constants\";\r\nimport { setPlayMiniPlayer } from \"../../../../helpers/redux/slices/miniPlayerSlice\";\r\nimport { setPlay } from \"../../../../helpers/redux/slices/controllerSlice\";\r\nimport { handleVideoError } from \"../../../../helpers/redux/actions/playerCore.actions\";\r\n\r\nconst MiniPlayerStaticVideoTag = () => {\r\n\r\n const dispatch = useAppDispatch();\r\n const params = useAppSelector(state => state.miniPlayer.params);\r\n\r\n useEffect(() => {\r\n if(params.currentTime) {\r\n dispatch(setPlayMiniPlayer(true));\r\n miniPlayerVideoTag().currentTime = params.currentTime;\r\n dispatch(setPlay(false));\r\n mainPlayerVideoTag().pause();\r\n }\r\n },[params.currentTime])\r\n\r\n return (\r\n <video \r\n poster={params.banner} \r\n onPlay={() => dispatch(setPlayMiniPlayer(true))}\r\n onEnded={() => dispatch(setPlayMiniPlayer(false))}\r\n onError={handleVideoError}\r\n src={params.id} \r\n id={`mini-player-video-tag`} \r\n className=\"pl-absolute pl-bg-black pl-w-full pl-h-full\"\r\n autoPlay\r\n />\r\n )\r\n}\r\n\r\nexport default MiniPlayerStaticVideoTag;"]}
package/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import {a as a$4,d,C,b as b$1}from'./chunk-BC2TZBZ7.mjs';import {a}from'./chunk-OEFD3YXU.mjs';import {a as a$1,b as b$2}from'./chunk-OJ4PZQN5.mjs';import {c as c$1,a as a$5,e as e$1,f,d as d$1}from'./chunk-IROHCKSH.mjs';import {Ca,M,ea,fa,V as V$1,ca,da,I,ga,c,K,a as a$3,L,N as N$1,s,x}from'./chunk-IDNCPTFE.mjs';import {a as a$2}from'./chunk-XNVWDQSS.mjs';import {e}from'./chunk-NXC6LNWJ.mjs';import {Provider,shallowEqual}from'react-redux';import Me,{useEffect,useRef}from'react';import V from'next/dynamic';import {jsx,Fragment,jsxs}from'react/jsx-runtime';import xe from'next/legacy/image';import E from'hls.js';e();e();e();e();var fe=e=>{let r=da(),o={},t=()=>{r(s(o)),r(x(true));},p=()=>{e.uuid&&(localStorage.setItem("hamrahiUUID",e.uuid),o.uuid=e.uuid);},S=()=>{o={provider:"cafevdo",...e};},d=()=>{o={id:window.atob(e.id),type:e.type,fullscreen:e.fullscreen,autoplay:e.autoplay,banner:e.banner&&e.banner!=="undefined"?e.banner:void 0,uuid:N$1(),bannerAlt:e.bannerAlt,provider:"cafevdo",onFinished:e.onFinished,onClickMiniPlayerIcon:e.onClickMiniPlayerIcon,onChangeCurrentTime:e.onChangeCurrentTime,currentTime:e.currentTime,subtitles:e.subtitles,daaniHashCode:e.daaniHashCode};},de=async()=>{o={},Object.keys(e).includes("type")&&(String(e.type)==="vod"?S():String(e.type)==="static"&&d(),p(),t());};useEffect(()=>{de();},[e]);},Z=fe;e();e();var ye=(e,r)=>{let o=useRef(r);useEffect(()=>{o.current=r;},[]),useEffect(()=>{let t=p=>{p.code===e&&!["INPUT","TEXTAREA"].includes(p.target.nodeName)&&!p.target.isContentEditable&&o.current(p);};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[e]);},u=ye;var Pe=()=>{u("Space",e=>{ca("isPressKeySpace")&&a$5(e);}),u("ArrowRight",e=>{ca("isPressKeyArrowRight")&&e$1("forward",15,e);}),u("ArrowLeft",e=>{ca("isPressKeyArrowLeft")&&e$1("backward",15,e);}),u("KeyI",()=>{ca("isPressKeyI")&&fa().requestPictureInPicture();}),u("KeyF",()=>{ca("isPressKeyF")&&f();}),u("KeyM",()=>{if(ca("isPressKeyM")){let{settings:e}=M.getState().user;d$1(e.volume?0:50);}}),u("KeyC",()=>{ca("isPressKeyC")&&b$2();});},q=Pe;var ve=V(()=>import('./staticPlayer-QLINPHLK.mjs')),Te=V(()=>import('./vodPlayer-3E5EY62P.mjs')),Ie=V(()=>import('./VideoHighLighter-J244P4R6.mjs')),be=e=>{let{params:r}=ea(({videoData:{isReady:t,params:p}})=>({isReady:t,params:p}),shallowEqual);if(useEffect(()=>(r.id&&e.params.id!==r.id&&(r.type==="static"&&(fa().pause(),fa().removeAttribute("src"),fa().load()),V$1()),()=>{r.id&&V$1();}),[e.params.id]),Z(e.params),q(),ea(({controller:{isFullScreen:t}})=>({isFullScreen:t}),shallowEqual),e.params.vhl_status)return jsx(Ie,{});let o=jsx(Fragment,{});return ca("isReady")&&(o=jsx("div",{className:`${!ca("isTouchScreen")&&"pl-rounded-[12px]"}`,style:{zIndex:1e6,touchAction:"pan-y",userSelect:"none"},children:ca("isStaticFormat")?jsx(ve,{}):jsx(Te,{})})),jsxs("div",{dir:"rtl",className:`pl-relative pl-rounded-[12px] pl-w-full pl-h-full pl-aspect-video pl-overflow-x-hidden ${ca("isFullScreen")&&"!pl-overflow-hidden pl-fixed pl-top-0 pl-right-0 pl-w-screen pl-h-screen pl-rounded-none"}`,id:"parent-player",children:[ca("isFirstPlay")&&jsx("div",{className:`pl-absolute pl-bg-black pl-w-full pl-h-full pl-aspect-video ${!ca("isTouchScreen")&&!ca("isFullScreen")&&"pl-rounded-[12px]"}`,children:jsx(a,{})}),o]})},re=be;e();var N=class extends Me.Component{state={hasError:false,error:null,errorInfo:null};static getDerivedStateFromError(r){return {hasError:true}}componentDidCatch(r,o){this.setState({error:r,errorInfo:o}),Ca({type:"OTHER_ERROR",message:r.message});}render(){return this.state.hasError?jsx(Fragment,{}):this.props.children}},b=N;var Ve=({params:e})=>jsx(Provider,{store:M,children:jsx(b,{children:jsx(re,{params:e})})});e();e();e();var De=()=>(ea(({miniPlayer:{play:e}})=>({play:e}),shallowEqual),jsx("div",{className:`${!ca("isTouchScreen")&&"hover:pl-scale-125"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`,onContextMenu:e=>e.preventDefault(),children:jsx(xe,{alt:"",src:ca("isPlayMiniPlayer")?a$2.bigPause:a$2.bigPlay,width:20,height:20,onClick:e=>c$1(e),onDoubleClick:e=>e.stopPropagation(),className:`${ca("isPlayMiniPlayer")?"pl-big-play-icon":"pl-big-pause-icon"}`})})),ae=De;e();e();var _e=()=>{let e=da(),r=ea(t=>t.miniPlayer.details),o=ea(t=>t.miniPlayer.params);return useEffect(()=>{let t=new E(d());return E.isSupported()?(t.attachMedia(document.getElementById("mini-player-video-tag")),t.on(E.Events.MEDIA_ATTACHED,()=>C(t))):fa().canPlayType("application/vnd.apple.mpegurl")&&(fa().src=r.stream_link,b$1()),()=>{e(L()),t.detachMedia(),t.off(E.Events.MEDIA_ATTACHED,()=>C(t));}},[]),useEffect(()=>{o.currentTime&&(e(K(true)),ga().currentTime=o.currentTime,e(a$3(false)),fa().pause());},[o.currentTime]),jsx(Fragment,{children:jsx("video",{onPlay:()=>e(K(true)),onEnded:()=>e(K(false)),onError:a$4,poster:o.banner?o.banner:r.banner,id:"mini-player-video-tag",className:"pl-absolute pl-bg-black pl-w-full pl-h-full",autoPlay:true,muted:true})})},ne=_e;e();var Re=()=>{let e=da(),r=ea(o=>o.miniPlayer.params);return useEffect(()=>{r.currentTime&&(e(K(true)),ga().currentTime=r.currentTime,e(a$3(false)),fa().pause());},[r.currentTime]),jsx("video",{poster:r.banner,onPlay:()=>e(K(true)),onEnded:()=>e(K(false)),onError:a$4,src:r.id,id:"mini-player-video-tag",className:"pl-absolute pl-bg-black pl-w-full pl-h-full",autoPlay:true})},le=Re;var Le=()=>{let e=ea(r=>r.miniPlayer.params.type);return jsx(Fragment,{children:e==="static"?jsx(le,{}):jsx(ne,{})})},se=Le;var pe=({params:e})=>{let r=da(),o=ea(d=>d.miniPlayer.details),t=ea(d=>d.miniPlayer.params);ea(d=>d.miniPlayer.play);let p=ea(d=>d.videoData.params);useEffect(()=>{r(I(e));},[]);let S=async()=>await a$1(e.id);return useEffect(()=>{e.id&&e.type==="vod"&&S();},[e.id]),jsx(Fragment,{children:o.stream_link||t.type==="static"&&t.id?jsxs("div",{id:"miniPlayer-video-area",style:{zIndex:1000003},className:"pl-relative pl-w-full pl-h-full",children:[jsx("div",{className:`pl-absolute pl-z-[1000000] pl-top-3 pl-right-3 pl-cursor-pointer ${ca("isActiveElements")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,onClick:()=>{p.id===t.id&&(fa().currentTime=ga().currentTime,r(c(ga().currentTime))),localStorage.setItem("close-miniPlayer","true"),e.onClose();},children:jsx(xe,{className:"pl-cursor-pointer",src:a$2.closeSquare,alt:"close-square",width:16,height:16})}),jsx("div",{className:`pl-w-full pl-absolute pl-bottom-0 animate__animated animate__faster pl-z-[1000000] ${ca("isActiveElements")&&!ca("isLoading")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,children:jsx("div",{className:"pl-w-full pl-flex pl-justify-center",children:jsx(ae,{})})}),jsx(se,{})]}):jsx("div",{className:"pl-w-full pl-h-full pl-bg-white"})})};var Be=({params:e})=>jsx(Provider,{store:M,children:jsx(b,{children:jsx(pe,{params:e})})});export{Be as MiniPlayerLibrary,Ve as VideoPlayerLibrary};//# sourceMappingURL=index.mjs.map
1
+ import {a as a$4,d,C,b as b$1}from'./chunk-J6UYAT2V.mjs';import {a}from'./chunk-OEFD3YXU.mjs';import {a as a$1,b as b$2}from'./chunk-VIUNI5PQ.mjs';import {c as c$1,a as a$5,e as e$1,f,d as d$1}from'./chunk-PJVN7RKN.mjs';import {Fa,P,ha,ia,Y,fa,ga,L,ja,c,N as N$1,a as a$3,O,Q,s,x}from'./chunk-YZYTKWCY.mjs';import {a as a$2}from'./chunk-TM66GJCG.mjs';import {e}from'./chunk-NXC6LNWJ.mjs';import {Provider,shallowEqual}from'react-redux';import Me,{useEffect,useRef}from'react';import V from'next/dynamic';import {jsx,Fragment,jsxs}from'react/jsx-runtime';import De from'next/legacy/image';import E from'hls.js';e();e();e();e();var fe=e=>{let r=ga(),o={},t=()=>{r(s(o)),r(x(true));},p=()=>{e.uuid&&(localStorage.setItem("hamrahiUUID",e.uuid),o.uuid=e.uuid);},S=()=>{o={provider:"cafevdo",...e};},d=()=>{o={id:window.atob(e.id),type:e.type,fullscreen:e.fullscreen,autoplay:e.autoplay,banner:e.banner&&e.banner!=="undefined"?e.banner:void 0,uuid:Q(),bannerAlt:e.bannerAlt,provider:"cafevdo",onFinished:e.onFinished,onClickMiniPlayerIcon:e.onClickMiniPlayerIcon,onChangeCurrentTime:e.onChangeCurrentTime,currentTime:e.currentTime,subtitles:e.subtitles,daaniHashCode:e.daaniHashCode};},de=async()=>{o={},Object.keys(e).includes("type")&&(String(e.type)==="vod"?S():String(e.type)==="static"&&d(),p(),t());};useEffect(()=>{de();},[e]);},Z=fe;e();e();var ye=(e,r)=>{let o=useRef(r);useEffect(()=>{o.current=r;},[]),useEffect(()=>{let t=p=>{p.code===e&&!["INPUT","TEXTAREA"].includes(p.target.nodeName)&&!p.target.isContentEditable&&o.current(p);};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[e]);},u=ye;var Pe=()=>{u("Space",e=>{fa("isPressKeySpace")&&a$5(e);}),u("ArrowRight",e=>{fa("isPressKeyArrowRight")&&e$1("forward",15,e);}),u("ArrowLeft",e=>{fa("isPressKeyArrowLeft")&&e$1("backward",15,e);}),u("KeyI",()=>{fa("isPressKeyI")&&ia().requestPictureInPicture();}),u("KeyF",()=>{fa("isPressKeyF")&&f();}),u("KeyM",()=>{if(fa("isPressKeyM")){let{settings:e}=P.getState().user;d$1(e.volume?0:50);}}),u("KeyC",()=>{fa("isPressKeyC")&&b$2();});},q=Pe;var ve=V(()=>import('./staticPlayer-44ZMIIEA.mjs')),Te=V(()=>import('./vodPlayer-ANBY5ULF.mjs')),Ie=V(()=>import('./VideoHighLighter-U4GGV66X.mjs')),be=e=>{let{params:r}=ha(({videoData:{isReady:t,params:p}})=>({isReady:t,params:p}),shallowEqual);if(useEffect(()=>(r.id&&e.params.id!==r.id&&(r.type==="static"&&(ia().pause(),ia().removeAttribute("src"),ia().load()),Y()),()=>{r.id&&Y();}),[e.params.id]),Z(e.params),q(),ha(({controller:{isFullScreen:t}})=>({isFullScreen:t}),shallowEqual),e.params.vhl_status)return jsx(Ie,{});let o=jsx(Fragment,{});return fa("isReady")&&(o=jsx("div",{className:`${!fa("isTouchScreen")&&"pl-rounded-[12px]"}`,style:{zIndex:1e6,touchAction:"pan-y",userSelect:"none"},children:fa("isStaticFormat")?jsx(ve,{}):jsx(Te,{})})),jsxs("div",{dir:"rtl",className:`pl-relative pl-rounded-[12px] pl-w-full pl-h-full pl-aspect-video ${fa("isFullScreen")&&"!pl-overflow-hidden pl-fixed pl-top-0 pl-right-0 pl-w-screen pl-h-screen pl-rounded-none"}`,id:"parent-player",children:[fa("isFirstPlay")&&jsx("div",{className:`pl-absolute pl-bg-black pl-w-full pl-h-full pl-aspect-video ${!fa("isTouchScreen")&&!fa("isFullScreen")&&"pl-rounded-[12px]"}`,children:jsx(a,{})}),o]})},re=be;e();var N=class extends Me.Component{state={hasError:false,error:null,errorInfo:null};static getDerivedStateFromError(r){return {hasError:true}}componentDidCatch(r,o){this.setState({error:r,errorInfo:o}),Fa({type:"OTHER_ERROR",message:r.message});}render(){return this.state.hasError?jsx(Fragment,{}):this.props.children}},b=N;var Ve=({params:e})=>jsx(Provider,{store:P,children:jsx(b,{children:jsx(re,{params:e})})});e();e();e();var xe=()=>(ha(({miniPlayer:{play:e}})=>({play:e}),shallowEqual),jsx("div",{className:`${!fa("isTouchScreen")&&"hover:pl-scale-125"} pl-transition-transform pl-ease-in-out pl-cursor-pointer`,onContextMenu:e=>e.preventDefault(),children:jsx(De,{alt:"",src:fa("isPlayMiniPlayer")?a$2.bigPause:a$2.bigPlay,width:20,height:20,onClick:e=>c$1(e),onDoubleClick:e=>e.stopPropagation(),className:`${fa("isPlayMiniPlayer")?"pl-big-play-icon":"pl-big-pause-icon"}`})})),ae=xe;e();e();var _e=()=>{let e=ga(),r=ha(t=>t.miniPlayer.details),o=ha(t=>t.miniPlayer.params);return useEffect(()=>{let t=new E(d());return E.isSupported()?(t.attachMedia(document.getElementById("mini-player-video-tag")),t.on(E.Events.MEDIA_ATTACHED,()=>C(t))):ia().canPlayType("application/vnd.apple.mpegurl")&&(ia().src=r.stream_link,b$1()),()=>{e(O()),t.detachMedia(),t.off(E.Events.MEDIA_ATTACHED,()=>C(t));}},[]),useEffect(()=>{o.currentTime&&(e(N$1(true)),ja().currentTime=o.currentTime,e(a$3(false)),ia().pause());},[o.currentTime]),jsx(Fragment,{children:jsx("video",{onPlay:()=>e(N$1(true)),onEnded:()=>e(N$1(false)),onError:a$4,poster:o.banner?o.banner:r.banner,id:"mini-player-video-tag",className:"pl-absolute pl-bg-black pl-w-full pl-h-full",autoPlay:true,muted:true})})},ne=_e;e();var Re=()=>{let e=ga(),r=ha(o=>o.miniPlayer.params);return useEffect(()=>{r.currentTime&&(e(N$1(true)),ja().currentTime=r.currentTime,e(a$3(false)),ia().pause());},[r.currentTime]),jsx("video",{poster:r.banner,onPlay:()=>e(N$1(true)),onEnded:()=>e(N$1(false)),onError:a$4,src:r.id,id:"mini-player-video-tag",className:"pl-absolute pl-bg-black pl-w-full pl-h-full",autoPlay:true})},le=Re;var Le=()=>{let e=ha(r=>r.miniPlayer.params.type);return jsx(Fragment,{children:e==="static"?jsx(le,{}):jsx(ne,{})})},se=Le;var pe=({params:e})=>{let r=ga(),o=ha(d=>d.miniPlayer.details),t=ha(d=>d.miniPlayer.params);ha(d=>d.miniPlayer.play);let p=ha(d=>d.videoData.params);useEffect(()=>{r(L(e));},[]);let S=async()=>await a$1(e.id);return useEffect(()=>{e.id&&e.type==="vod"&&S();},[e.id]),jsx(Fragment,{children:o.stream_link||t.type==="static"&&t.id?jsxs("div",{id:"miniPlayer-video-area",style:{zIndex:1000003},className:"pl-relative pl-w-full pl-h-full",children:[jsx("div",{className:`pl-absolute pl-z-[1000000] pl-top-3 pl-right-3 pl-cursor-pointer ${fa("isActiveElements")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,onClick:()=>{p.id===t.id&&(ia().currentTime=ja().currentTime,r(c(ja().currentTime))),localStorage.setItem("close-miniPlayer","true"),e.onClose();},children:jsx(De,{className:"pl-cursor-pointer",src:a$2.closeSquare,alt:"close-square",width:16,height:16})}),jsx("div",{className:`pl-w-full pl-absolute pl-bottom-0 animate__animated animate__faster pl-z-[1000000] ${fa("isActiveElements")&&!fa("isLoading")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,children:jsx("div",{className:"pl-w-full pl-flex pl-justify-center",children:jsx(ae,{})})}),jsx(se,{})]}):jsx("div",{className:"pl-w-full pl-h-full pl-bg-white"})})};var Be=({params:e})=>jsx(Provider,{store:P,children:jsx(b,{children:jsx(pe,{params:e})})});export{Be as MiniPlayerLibrary,Ve as VideoPlayerLibrary};//# sourceMappingURL=index.mjs.map
2
2
  //# sourceMappingURL=index.mjs.map