cafe-video-player 2.4.2 → 2.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{VideoHighLighter-3U5XWMWJ.js → VideoHighLighter-IDBU2SKL.js} +2 -2
- package/{VideoHighLighter-3U5XWMWJ.js.map → VideoHighLighter-IDBU2SKL.js.map} +1 -1
- package/{VideoHighLighter-VEYEES5O.mjs → VideoHighLighter-YGR4EQDP.mjs} +2 -2
- package/{VideoHighLighter-VEYEES5O.mjs.map → VideoHighLighter-YGR4EQDP.mjs.map} +1 -1
- package/backwardForward-KGYL4SOY.js +2 -0
- package/{backwardForward-E2NLBMMH.js.map → backwardForward-KGYL4SOY.js.map} +1 -1
- package/backwardForward-RXOZ6EMH.mjs +2 -0
- package/{backwardForward-N75PBTWN.mjs.map → backwardForward-RXOZ6EMH.mjs.map} +1 -1
- package/{chunk-L2M274SY.mjs → chunk-537GNASP.mjs} +2 -2
- package/{chunk-L2M274SY.mjs.map → chunk-537GNASP.mjs.map} +1 -1
- package/chunk-5IQJT3DM.js +3 -0
- package/{chunk-CIBMAE3N.js.map → chunk-5IQJT3DM.js.map} +1 -1
- package/{chunk-HME64W2O.js → chunk-6CGGPC2I.js} +3 -3
- package/chunk-6CGGPC2I.js.map +1 -0
- package/chunk-6VAYPXEA.js +2 -0
- package/{chunk-4SNO3QVC.js.map → chunk-6VAYPXEA.js.map} +1 -1
- package/{chunk-K4TUYQMW.js → chunk-CSUWWM6N.js} +5 -5
- package/{chunk-K4TUYQMW.js.map → chunk-CSUWWM6N.js.map} +1 -1
- package/{chunk-4I3S32RN.mjs → chunk-DCDHZHCP.mjs} +2 -2
- package/{chunk-4I3S32RN.mjs.map → chunk-DCDHZHCP.mjs.map} +1 -1
- package/{chunk-5LJKRSJU.js → chunk-DDJP7SVH.js} +2 -2
- package/{chunk-5LJKRSJU.js.map → chunk-DDJP7SVH.js.map} +1 -1
- package/{chunk-YZYTKWCY.mjs → chunk-GT7NHW3Y.mjs} +3 -3
- package/chunk-GT7NHW3Y.mjs.map +1 -0
- package/{chunk-KIC75NSX.mjs → chunk-HF5Z4TEE.mjs} +2 -2
- package/{chunk-KIC75NSX.mjs.map → chunk-HF5Z4TEE.mjs.map} +1 -1
- package/chunk-KTOGYJ4H.js +2 -0
- package/{chunk-D7CTAABP.js.map → chunk-KTOGYJ4H.js.map} +1 -1
- package/{chunk-MZP43FH7.mjs → chunk-MJC6YUD3.mjs} +2 -2
- package/{chunk-MZP43FH7.mjs.map → chunk-MJC6YUD3.mjs.map} +1 -1
- package/{chunk-M4NZ4V5H.mjs → chunk-OUXHISO6.mjs} +3 -3
- package/{chunk-M4NZ4V5H.mjs.map → chunk-OUXHISO6.mjs.map} +1 -1
- package/{chunk-BOS4UPEA.js → chunk-PHSEUKRI.js} +2 -2
- package/{chunk-BOS4UPEA.js.map → chunk-PHSEUKRI.js.map} +1 -1
- package/chunk-QSFIYXO4.js +2 -0
- package/{chunk-5DVPBBOD.js.map → chunk-QSFIYXO4.js.map} +1 -1
- package/chunk-QZBK73JD.mjs +2 -0
- package/{chunk-ZMWH4RA6.mjs.map → chunk-QZBK73JD.mjs.map} +1 -1
- package/chunk-SD2CSI42.js +2 -0
- package/{chunk-BBWNG7HP.js.map → chunk-SD2CSI42.js.map} +1 -1
- package/{chunk-SUV7NR2J.mjs → chunk-ZBCISOHJ.mjs} +2 -2
- package/{chunk-SUV7NR2J.mjs.map → chunk-ZBCISOHJ.mjs.map} +1 -1
- package/{chunk-UBKDWPP7.mjs → chunk-ZMGVOJ4B.mjs} +4 -4
- package/{chunk-UBKDWPP7.mjs.map → chunk-ZMGVOJ4B.mjs.map} +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/index.mjs +1 -1
- package/index.mjs.map +1 -1
- package/{nonStaticVideoTag-RO6C2T36.mjs → nonStaticVideoTag-T2VIV6QZ.mjs} +2 -2
- package/{nonStaticVideoTag-RO6C2T36.mjs.map → nonStaticVideoTag-T2VIV6QZ.mjs.map} +1 -1
- package/nonStaticVideoTag-XVBHCTWJ.js +2 -0
- package/{nonStaticVideoTag-T4CIWREL.js.map → nonStaticVideoTag-XVBHCTWJ.js.map} +1 -1
- package/package.json +1 -1
- package/staticPlayer-2AHEKGRW.mjs +2 -0
- package/{staticPlayer-NXOOJTWO.mjs.map → staticPlayer-2AHEKGRW.mjs.map} +1 -1
- package/staticPlayer-KK2BYQ5H.js +2 -0
- package/{staticPlayer-DMILO6PN.js.map → staticPlayer-KK2BYQ5H.js.map} +1 -1
- package/staticVideoTag-MBOOBFS4.js +2 -0
- package/{staticVideoTag-KT6PBJ7V.js.map → staticVideoTag-MBOOBFS4.js.map} +1 -1
- package/{staticVideoTag-IZI7PG7M.mjs → staticVideoTag-THGU6TMW.mjs} +2 -2
- package/{staticVideoTag-IZI7PG7M.mjs.map → staticVideoTag-THGU6TMW.mjs.map} +1 -1
- package/{touchVolumeBrightness-KAAGMQWI.js → touchVolumeBrightness-6GVZBWPB.js} +3 -3
- package/{touchVolumeBrightness-KAAGMQWI.js.map → touchVolumeBrightness-6GVZBWPB.js.map} +1 -1
- package/{touchVolumeBrightness-27EBEX5W.mjs → touchVolumeBrightness-REPKPDVV.mjs} +3 -3
- package/{touchVolumeBrightness-27EBEX5W.mjs.map → touchVolumeBrightness-REPKPDVV.mjs.map} +1 -1
- package/videoArea-EH6VNBG5.mjs +2 -0
- package/{videoArea-D5XF44HR.mjs.map → videoArea-EH6VNBG5.mjs.map} +1 -1
- package/videoArea-JLZOD6RH.js +2 -0
- package/{videoArea-HORYPBAZ.js.map → videoArea-JLZOD6RH.js.map} +1 -1
- package/vodPlayer-EE2DQBHX.js +2 -0
- package/{vodPlayer-VTPZZILH.js.map → vodPlayer-EE2DQBHX.js.map} +1 -1
- package/{vodPlayer-7IQILQHX.mjs → vodPlayer-TT43CTCL.mjs} +2 -2
- package/{vodPlayer-7IQILQHX.mjs.map → vodPlayer-TT43CTCL.mjs.map} +1 -1
- package/backwardForward-E2NLBMMH.js +0 -2
- package/backwardForward-N75PBTWN.mjs +0 -2
- package/chunk-4SNO3QVC.js +0 -2
- package/chunk-5DVPBBOD.js +0 -2
- package/chunk-BBWNG7HP.js +0 -2
- package/chunk-CIBMAE3N.js +0 -3
- package/chunk-D7CTAABP.js +0 -2
- package/chunk-HME64W2O.js.map +0 -1
- package/chunk-YZYTKWCY.mjs.map +0 -1
- package/chunk-ZMWH4RA6.mjs +0 -2
- package/nonStaticVideoTag-T4CIWREL.js +0 -2
- package/staticPlayer-DMILO6PN.js +0 -2
- package/staticPlayer-NXOOJTWO.mjs +0 -2
- package/staticVideoTag-KT6PBJ7V.js +0 -2
- package/videoArea-D5XF44HR.mjs +0 -2
- package/videoArea-HORYPBAZ.js +0 -2
- package/vodPlayer-VTPZZILH.js +0 -2
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
'use strict';var chunkWO4IQUGO_js=require('./chunk-WO4IQUGO.js'),toolkit=require('@reduxjs/toolkit'),reactRedux=require('react-redux'),_e=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var _e__default=/*#__PURE__*/_interopDefault(_e);var ne=chunkWO4IQUGO_js.b((va,ie)=>{chunkWO4IQUGO_js.e();ie.exports={baseUrl:"https://hamrahi.cloud",fluentdUrl:"https://hamrahi.cloud"};});var le={};chunkWO4IQUGO_js.c(le,{isNpmPackage:()=>Re});var Re,ue=chunkWO4IQUGO_js.a(()=>{chunkWO4IQUGO_js.e();Re=false;});chunkWO4IQUGO_js.e();var E={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},Q=toolkit.createSlice({name:"controller",initialState:E,reducers:{setPlay:(t,e)=>{t.play=e.payload;},setIsAutoPlay:(t,e)=>{t.isAutoPlay=e.payload;},setDuration:(t,e)=>{t.duration=e.payload;},setCurrentTime:(t,e)=>{t.currentTime=e.payload;},setManualQuality:(t,e)=>{t.manualQuality=e.payload;},setAutoQuality:(t,e)=>{t.autoQuality=e.payload;},setQualityLevels:(t,e)=>{t.qualityLevels=e.payload;},setActiveElements:(t,e)=>{t.activeElements=e.payload;},setIsLoading:(t,e)=>{t.isLoading=e.payload;},setIsFullScreen:(t,e)=>{t.isFullScreen=e.payload;},setBufferedTimeWidth:(t,e)=>{t.bufferedTimeWidth=e.payload;},setFirstPlay:(t,e)=>{t.firstPlay=e.payload;},setActivePointerProgressBar:(t,e)=>{t.activePointerProgressBar=e.payload;},setDelayTurnOffControlbar:(t,e)=>{t.delayTurnOffControlbar=e.payload;},setCanPlayVideo:(t,e)=>{t.canPlayVideo=e.payload;},setLock:(t,e)=>{t.lock=e.payload;},setIsEnded:(t,e)=>{t.isEnded=e.payload;},setTooltipTime:(t,e)=>{t.tooltipTime=e.payload;},setClearControllerSlice:()=>E}}),{setPlay:Qe,setIsAutoPlay:Be,setDuration:Oe,setCurrentTime:$e,setQualityLevels:Ke,setAutoQuality:qe,setActiveElements:Ce,setIsLoading:He,setIsFullScreen:je,setBufferedTimeWidth:We,setFirstPlay:Xe,setActivePointerProgressBar:Ye,setDelayTurnOffControlbar:Ge,setManualQuality:Je,setCanPlayVideo:Ze,setLock:ze,setIsEnded:Ne,setTooltipTime:et,setClearControllerSlice:B}=Q.actions,O=Q.reducer;chunkWO4IQUGO_js.e();var $={details:{stream_link:"",type:"",banner:"",id:void 0,title:void 0,vtt:void 0,vtt_mobile:void 0,user_id:null,content_id:void 0,content_type:null,duration:0,subtitles:void 0},params:{type:"",id:"",bannerAlt:"",fullscreen:"",autoplay:"",banner:"",provider:"cafevdo",onFinished:void 0,onPlay:void 0,onPause:void 0,playStatus:void 0,currentTime:void 0,daaniHashCode:void 0},markers:[],videoElementSizeInfo:{bottom:0,top:0,right:0,left:0,width:0,height:0},isFetchDetails:false,isValidAddress:false,videoTimelines:[],isReady:false,subtitles:[],selectedSubtitle:void 0,subtitleText:void 0,multiAudio:[],selectedAudioId:0},K=toolkit.createSlice({name:"videoData",initialState:$,reducers:{setInfo:(t,e)=>{t.details=e.payload;},setPlayerParams:(t,e)=>{t.params=e.payload;},setMarkers:(t,e)=>{t.markers=e.payload;},setVideoElementSizeInfo:(t,e)=>{t.videoElementSizeInfo=e.payload;},setIsFetchDetails:(t,e)=>{t.isFetchDetails=e.payload;},setIsValidAddress:(t,e)=>{t.isValidAddress=e.payload;},setVideoTimelines:(t,e)=>{t.videoTimelines=e.payload;},setIsReady:(t,e)=>{t.isReady=e.payload;},setSubtitles:(t,e)=>{t.subtitles=e.payload;},setSelectedSubtitle:(t,e)=>{t.selectedSubtitle=e.payload;},setSubtitleText:(t,e)=>{t.subtitleText=e.payload;},setMultiAudio:(t,e)=>{t.multiAudio=JSON.parse(JSON.stringify(e.payload));},setSelectedAudioId:(t,e)=>{t.selectedAudioId=e.payload;},setClearVideoDataSlice:t=>$}}),{setInfo:ot,setPlayerParams:it,setVideoElementSizeInfo:nt,setMarkers:lt,setIsFetchDetails:ut,setIsValidAddress:dt,setVideoTimelines:ct,setIsReady:pt,setSubtitles:mt,setSubtitleText:yt,setSelectedSubtitle:gt,setMultiAudio:ht,setSelectedAudioId:Pt,setClearVideoDataSlice:q}=K.actions,C=K.reducer;chunkWO4IQUGO_js.e();var H={settings:{quality:-1,brightness:100,volume:100,speed:1},videoSettings:{time:0}},j=toolkit.createSlice({name:"user",initialState:H,reducers:{setUserSettings:(t,e)=>{t.settings=e.payload;},setVideoSettings:(t,e)=>{t.videoSettings=e.payload;},setClearUserSlice:()=>H}}),{setUserSettings:At,setVideoSettings:wt,setClearUserSlice:W}=j.actions,X=j.reducer;chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var ke={settingPopover:false,speedPopover:false,qualityLevelsPopover:false,markersListPopover:false,multiAudioPopover:false},Y=toolkit.createSlice({name:"popover",initialState:ke,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:It,setSpeedPopover:Ft,setQualityLevelsPopover:Vt,setMarkersListPopover:_t,setMultiAudioPopover:Rt,setClearPopoversSlice:G}=Y.actions,J=Y.reducer;chunkWO4IQUGO_js.e();var Z={params:{id:"0",type:"",currentTime:0,autoPlay:false,onClose:()=>{}},details:{},play:false},z=toolkit.createSlice({name:"user",initialState:Z,reducers:{setMiniPlayerInfo:(t,e)=>{t.params={...e.payload,id:e.payload.type==="static"?window.atob(e.payload.id):e.payload.id,banner:e.payload.banner?e.payload.banner:void 0};},setDetailsMiniPlayer:(t,e)=>{t.details=e.payload;},setPlayMiniPlayer:(t,e)=>{t.play=e.payload;},setClearMiniPlayerSlice:t=>Z}}),{setMiniPlayerInfo:$t,setDetailsMiniPlayer:Kt,setPlayMiniPlayer:qt,setClearMiniPlayerSlice:Ct}=z.actions,N=z.reducer;var Me=toolkit.configureStore({reducer:{controller:O,videoData:C,popovers:J,user:X,miniPlayer:N},devTools:true,middleware:t=>t({serializableCheck:false})}),s=Me;chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var c=t=>{let{params:e,details:r,isValidAddress:a,isFetchDetails:i,isReady:l,subtitles:p,selectedSubtitle:d,markers:g,multiAudio:P}=s.getState().videoData,{firstPlay:u,lock:n,canPlayVideo:f,manualQuality:S,activeElements:y,isLoading:ce,isEnded:_,isAutoPlay:pe,play:me,isFullScreen:w}=s.getState().controller,{settingPopover:R,speedPopover:ye,qualityLevelsPopover:ge,markersListPopover:he}=s.getState().popovers,{settings:U}=s.getState().user,L=s.getState().miniPlayer;switch(t){case "showHeader":return !u&&f;case "showMain":return !n||u;case "showFooter":return !u&&f;case "showTouchVolumeBrightness":return !u&&k()&&!n&&!_;case "showBackwardForward":return !u&&v()&&!n;case "showTitle":return e.type!=="static"&&w&&!n;case "showSettingPopover":return R;case "showSpeedPopover":return ye;case "showQualityLevelsPopover":return ge;case "showSettingIcon":return e.type!=="static"&&!b()&&!w;case "showBanner":return u&&(r.banner||e.banner);case "showProgressbar":return !b();case "showPictureInPicture":return !b()&&!v();case "showSubtitle":return !!d;case "showMarkerListPopover":return he;case "hidePopovers":return !R;case "isLandscape":return window.innerHeight<=window.innerWidth;case "isTouchScreen":return v();case "isTouchScreenPortrait":return te();case "isTouchScreenLandscape":return k();case "isActiveElements":return y;case "isPlay":return me;case "isPlayMiniPlayer":return L.play;case "isFirstPlay":return u;case "isLock":return n;case "isIOS":return b();case "isLoading":return ce;case "isStaticFormat":return e.type==="static";case "isEnded":return _;case "isAutoPlay":return pe;case "isFullScreen":return w;case "isValidAddress":return a;case "isFetchDetails":return i;case "isAutoQuality":return U.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===L.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 S!=null;case "hasSound":return !!U.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 L.params.id;case "hasCurrentTimeParams":return e.currentTime!==void 0;case "hasMarkers":return g.length!==0;case "hasSubtitlesInParams":return e.subtitles&&e.subtitles.length;case "hasOnChangeCurrentTime":return !!e.onChangeCurrentTime;case "hasMultiAudio":return P&&!!P.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 f;case "setSubtitleFirstPlay":return r.subtitles&&r.subtitles.length>0&&!u&&e.type!=="static";}};var re=t=>new Promise(e=>setTimeout(e,t*1e3)),h=()=>{let t=localStorage.getItem("hamrahiUUID");return t||(t=Ie(),localStorage.setItem("hamrahiUUID",t)),t.toString()},Ie=()=>{let t="xxxxxxxx-xxxx-Mxxx-Nxxx-x".replace(/[xMN]/g,e=>{let r;return e==="M"?r=Math.floor(1+Math.random()*5):e==="N"?r=Math.floor(8+Math.random()*4):r=Math.floor(Math.random()*16),r.toString(16)});return t+=Date.now().toString(16),t},v=()=>typeof window<"u"&&("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),k=()=>{let{isFullScreen:t}=s.getState().controller;return v()&&t},te=()=>{let{isFullScreen:t}=s.getState().controller;return v()&&!t},b=()=>["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,A=t=>(t<10?"0":"")+t,pr=t=>{let e=Math.floor(t/3600),r=Math.floor(t%3600/60),a=Math.floor(t%3600%60);return e<1?`${A(r)}:${A(a)}`:`${A(e)}:${A(r)}:${A(a)}`},mr=t=>{let e=new URL(t),r=t;return e.search.length?r+=`&uuid=${h()}`:r+=`?uuid=${h()}`},yr=(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}},gr=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=${h()}`:r=`?uuid=${h()}`,r},hr=(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 Pr=t=>t>=200&&t<300,fr=()=>{let t=s.dispatch;t(q()),t(B()),t(W()),t(G());},Sr=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},vr=t=>{let e=0;performance&&performance.getEntriesByType("navigation")&&(e=performance.getEntriesByType("navigation")[0].duration),t.current=e;},br=(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])},x=(t,e)=>{let r={};for(let a in t){let i=e?`${e}_${a}`:a;typeof t[a]=="object"&&!Array.isArray(t[a])?r={...r,...x(t[a],i)}:r[i]=t[a];}return r},Ar=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})},wr=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},Lr=t=>t.split(/\r?\n|\r|\n/g),kr=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 xr=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);chunkWO4IQUGO_js.e();var Fr=()=>reactRedux.useDispatch(),Vr=reactRedux.useSelector;chunkWO4IQUGO_js.e();var T=()=>document.getElementById("player-tag"),Er=()=>document.getElementById("mini-player-video-tag"),Qr=()=>document.getElementById("time-progress-bar"),Br=()=>s.getState().videoData.videoElementSizeInfo.width-2;
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var chunkWO4IQUGO_js=require('./chunk-WO4IQUGO.js'),toolkit=require('@reduxjs/toolkit'),reactRedux=require('react-redux'),_e=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var _e__default=/*#__PURE__*/_interopDefault(_e);var ne=chunkWO4IQUGO_js.b((va,ie)=>{chunkWO4IQUGO_js.e();ie.exports={baseUrl:"https://hamrahi.cloud",fluentdUrl:"https://hamrahi.cloud"};});var le={};chunkWO4IQUGO_js.c(le,{isNpmPackage:()=>Re});var Re,ue=chunkWO4IQUGO_js.a(()=>{chunkWO4IQUGO_js.e();Re=false;});chunkWO4IQUGO_js.e();var E={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},Q=toolkit.createSlice({name:"controller",initialState:E,reducers:{setPlay:(t,e)=>{t.play=e.payload;},setIsAutoPlay:(t,e)=>{t.isAutoPlay=e.payload;},setDuration:(t,e)=>{t.duration=e.payload;},setCurrentTime:(t,e)=>{t.currentTime=e.payload;},setManualQuality:(t,e)=>{t.manualQuality=e.payload;},setAutoQuality:(t,e)=>{t.autoQuality=e.payload;},setQualityLevels:(t,e)=>{t.qualityLevels=e.payload;},setActiveElements:(t,e)=>{t.activeElements=e.payload;},setIsLoading:(t,e)=>{t.isLoading=e.payload;},setIsFullScreen:(t,e)=>{t.isFullScreen=e.payload;},setBufferedTimeWidth:(t,e)=>{t.bufferedTimeWidth=e.payload;},setFirstPlay:(t,e)=>{t.firstPlay=e.payload;},setActivePointerProgressBar:(t,e)=>{t.activePointerProgressBar=e.payload;},setDelayTurnOffControlbar:(t,e)=>{t.delayTurnOffControlbar=e.payload;},setCanPlayVideo:(t,e)=>{t.canPlayVideo=e.payload;},setLock:(t,e)=>{t.lock=e.payload;},setIsEnded:(t,e)=>{t.isEnded=e.payload;},setTooltipTime:(t,e)=>{t.tooltipTime=e.payload;},setClearControllerSlice:()=>E}}),{setPlay:Qe,setIsAutoPlay:Be,setDuration:Oe,setCurrentTime:$e,setQualityLevels:Ke,setAutoQuality:qe,setActiveElements:Ce,setIsLoading:He,setIsFullScreen:je,setBufferedTimeWidth:We,setFirstPlay:Xe,setActivePointerProgressBar:Ye,setDelayTurnOffControlbar:Ge,setManualQuality:Je,setCanPlayVideo:Ze,setLock:ze,setIsEnded:Ne,setTooltipTime:et,setClearControllerSlice:B}=Q.actions,O=Q.reducer;chunkWO4IQUGO_js.e();var $={details:{stream_link:"",type:"",banner:"",id:void 0,title:void 0,vtt:void 0,vtt_mobile:void 0,user_id:null,content_id:void 0,content_type:null,duration:0,subtitles:void 0},params:{type:"",id:"",bannerAlt:"",fullscreen:"",autoplay:"",banner:"",provider:"cafevdo",onFinished:void 0,onPlay:void 0,onPause:void 0,playStatus:void 0,currentTime:void 0,daaniHashCode:void 0},markers:[],videoElementSizeInfo:{bottom:0,top:0,right:0,left:0,width:0,height:0},isFetchDetails:false,isValidAddress:false,videoTimelines:[],isReady:false,subtitles:[],selectedSubtitle:void 0,subtitleText:void 0,multiAudio:[],selectedAudioId:0},K=toolkit.createSlice({name:"videoData",initialState:$,reducers:{setInfo:(t,e)=>{t.details=e.payload;},setPlayerParams:(t,e)=>{t.params=e.payload;},setMarkers:(t,e)=>{t.markers=e.payload;},setVideoElementSizeInfo:(t,e)=>{t.videoElementSizeInfo=e.payload;},setIsFetchDetails:(t,e)=>{t.isFetchDetails=e.payload;},setIsValidAddress:(t,e)=>{t.isValidAddress=e.payload;},setVideoTimelines:(t,e)=>{t.videoTimelines=e.payload;},setIsReady:(t,e)=>{t.isReady=e.payload;},setSubtitles:(t,e)=>{t.subtitles=e.payload;},setSelectedSubtitle:(t,e)=>{t.selectedSubtitle=e.payload;},setSubtitleText:(t,e)=>{t.subtitleText=e.payload;},setMultiAudio:(t,e)=>{t.multiAudio=JSON.parse(JSON.stringify(e.payload));},setSelectedAudioId:(t,e)=>{t.selectedAudioId=e.payload;},setClearVideoDataSlice:t=>$}}),{setInfo:ot,setPlayerParams:it,setVideoElementSizeInfo:nt,setMarkers:lt,setIsFetchDetails:ut,setIsValidAddress:dt,setVideoTimelines:ct,setIsReady:pt,setSubtitles:mt,setSubtitleText:yt,setSelectedSubtitle:gt,setMultiAudio:ht,setSelectedAudioId:Pt,setClearVideoDataSlice:q}=K.actions,C=K.reducer;chunkWO4IQUGO_js.e();var H={settings:{quality:-1,brightness:100,volume:100,speed:1},videoSettings:{time:0}},j=toolkit.createSlice({name:"user",initialState:H,reducers:{setUserSettings:(t,e)=>{t.settings=e.payload;},setVideoSettings:(t,e)=>{t.videoSettings=e.payload;},setClearUserSlice:()=>H}}),{setUserSettings:At,setVideoSettings:wt,setClearUserSlice:W}=j.actions,X=j.reducer;chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var ke={settingPopover:false,speedPopover:false,qualityLevelsPopover:false,markersListPopover:false,multiAudioPopover:false},Y=toolkit.createSlice({name:"popover",initialState:ke,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:It,setSpeedPopover:Ft,setQualityLevelsPopover:Vt,setMarkersListPopover:_t,setMultiAudioPopover:Rt,setClearPopoversSlice:G}=Y.actions,J=Y.reducer;chunkWO4IQUGO_js.e();var Z={params:{id:"0",type:"",currentTime:0,autoPlay:false,onClose:()=>{}},details:{},play:false},z=toolkit.createSlice({name:"user",initialState:Z,reducers:{setMiniPlayerInfo:(t,e)=>{t.params={...e.payload,id:e.payload.type==="static"?window.atob(e.payload.id):e.payload.id,banner:e.payload.banner?e.payload.banner:void 0};},setDetailsMiniPlayer:(t,e)=>{t.details=e.payload;},setPlayMiniPlayer:(t,e)=>{t.play=e.payload;},setClearMiniPlayerSlice:t=>Z}}),{setMiniPlayerInfo:$t,setDetailsMiniPlayer:Kt,setPlayMiniPlayer:qt,setClearMiniPlayerSlice:Ct}=z.actions,N=z.reducer;var Me=toolkit.configureStore({reducer:{controller:O,videoData:C,popovers:J,user:X,miniPlayer:N},devTools:true,middleware:t=>t({serializableCheck:false})}),s=Me;chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var c=t=>{let{params:e,details:r,isValidAddress:a,isFetchDetails:i,isReady:l,subtitles:p,selectedSubtitle:d,markers:g,multiAudio:P}=s.getState().videoData,{firstPlay:u,lock:n,canPlayVideo:f,manualQuality:S,activeElements:y,isLoading:ce,isEnded:_,isAutoPlay:pe,play:me,isFullScreen:w}=s.getState().controller,{settingPopover:R,speedPopover:ye,qualityLevelsPopover:ge,markersListPopover:he}=s.getState().popovers,{settings:U}=s.getState().user,L=s.getState().miniPlayer;switch(t){case "showHeader":return !u&&f;case "showMain":return !n||u;case "showFooter":return !u&&f;case "showTouchVolumeBrightness":return !u&&k()&&!n&&!_;case "showBackwardForward":return !u&&v()&&!n;case "showTitle":return e.type!=="static"&&w&&!n;case "showSettingPopover":return R;case "showSpeedPopover":return ye;case "showQualityLevelsPopover":return ge;case "showSettingIcon":return e.type!=="static"&&!b()&&!w;case "showBanner":return u&&(r.banner||e.banner);case "showProgressbar":return !b();case "showPictureInPicture":return !b()&&!v();case "showSubtitle":return !!d;case "showMarkerListPopover":return he;case "hidePopovers":return !R;case "isLandscape":return window.innerHeight<=window.innerWidth;case "isTouchScreen":return v();case "isTouchScreenPortrait":return te();case "isTouchScreenLandscape":return k();case "isActiveElements":return y;case "isPlay":return me;case "isPlayMiniPlayer":return L.play;case "isFirstPlay":return u;case "isLock":return n;case "isIOS":return b();case "isLoading":return ce;case "isStaticFormat":return e.type==="static";case "isEnded":return _;case "isAutoPlay":return pe;case "isFullScreen":return w;case "isValidAddress":return a;case "isFetchDetails":return i;case "isAutoQuality":return U.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===L.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 S!=null;case "hasSound":return !!U.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 L.params.id;case "hasCurrentTimeParams":return e.currentTime!==void 0;case "hasMarkers":return g.length!==0;case "hasSubtitlesInParams":return e.subtitles&&e.subtitles.length;case "hasOnChangeCurrentTime":return !!e.onChangeCurrentTime;case "hasMultiAudio":return P&&!!P.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 f;case "setSubtitleFirstPlay":return r.subtitles&&r.subtitles.length>0&&!u;}};var re=t=>new Promise(e=>setTimeout(e,t*1e3)),h=()=>{let t=localStorage.getItem("hamrahiUUID");return t||(t=Ie(),localStorage.setItem("hamrahiUUID",t)),t.toString()},Ie=()=>{let t="xxxxxxxx-xxxx-Mxxx-Nxxx-x".replace(/[xMN]/g,e=>{let r;return e==="M"?r=Math.floor(1+Math.random()*5):e==="N"?r=Math.floor(8+Math.random()*4):r=Math.floor(Math.random()*16),r.toString(16)});return t+=Date.now().toString(16),t},v=()=>typeof window<"u"&&("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),k=()=>{let{isFullScreen:t}=s.getState().controller;return v()&&t},te=()=>{let{isFullScreen:t}=s.getState().controller;return v()&&!t},b=()=>["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,A=t=>(t<10?"0":"")+t,pr=t=>{let e=Math.floor(t/3600),r=Math.floor(t%3600/60),a=Math.floor(t%3600%60);return e<1?`${A(r)}:${A(a)}`:`${A(e)}:${A(r)}:${A(a)}`},mr=t=>{let e=new URL(t),r=t;return e.search.length?r+=`&uuid=${h()}`:r+=`?uuid=${h()}`},yr=(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}},gr=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=${h()}`:r=`?uuid=${h()}`,r},hr=(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 Pr=t=>t>=200&&t<300,fr=()=>{let t=s.dispatch;t(q()),t(B()),t(W()),t(G());},Sr=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},vr=t=>{let e=0;performance&&performance.getEntriesByType("navigation")&&(e=performance.getEntriesByType("navigation")[0].duration),t.current=e;},br=(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])},x=(t,e)=>{let r={};for(let a in t){let i=e?`${e}_${a}`:a;typeof t[a]=="object"&&!Array.isArray(t[a])?r={...r,...x(t[a],i)}:r[i]=t[a];}return r},Ar=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})},wr=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},Lr=t=>t.split(/\r?\n|\r|\n/g),kr=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 xr=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);chunkWO4IQUGO_js.e();var Fr=()=>reactRedux.useDispatch(),Vr=reactRedux.useSelector;chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var T=()=>document.getElementById("player-tag"),Er=()=>document.getElementById("mini-player-video-tag"),Qr=()=>document.getElementById("time-progress-bar"),Br=()=>s.getState().videoData.videoElementSizeInfo.width-2;var Wr=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}},Xr=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}},Yr=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:T().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}},Gr=t=>{let{params:e,details:r}=s.getState().videoData;return {category:t==="backward"?"backward":"forward",id:Number(e.id),type:e.type,src:r.stream_link?r.stream_link:e.id,provider:e.provider}},Jr=t=>{let{params:e,details:r}=s.getState().videoData;return {category:t,id:Number(e.id),type:e.type,src:c("hasStreamLink")?r.stream_link:e.id}},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}},zr=(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}},Nr=t=>{let{params:e,details:r}=s.getState().videoData;return {category:t,id:Number(e.id),type:e.type,src:c("hasStreamLink")?r.stream_link:e.id}},ae=(t,e,r,a)=>({category:"player-error",type:t,message:e,statusCode:r,url:a}),ea=(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:h(),user_id:a.user_id,content_type:a.content_type,content_id:a.content_id}},ta=(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}},ra=(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}},aa=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}},sa=(t,e,r,a,i)=>{let{params:l,details:p}=s.getState().videoData,d=Date.now()-i.current+t+e,g=window.performance.memory,P=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:x({memory:g,timing:P},"performance"),userAgent:window.navigator.userAgent}},oa=(t,e,r,a,i)=>{let{params:l,details:p}=s.getState().videoData,{settings:d}=s.getState().user,g=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:g,counter:a.current,loadingPercentile:Number((t/g).toFixed(2)),videoTime:T().currentTime,videoEntranceTime:i,speed:d.speed,provider:l.provider}},ia=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}},na=(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 oe=t=>{t&&se(ae(t.type,t.message,t.statusCode,t.url));};var D=async({url:t,method:e="GET",data:r,headers:a,retryCount:i=1,maxRetryCount:l=0,errorMessage:p,retryPolicy:d,errorCallback:g,timeoutCount:P})=>{let u={url:t,method:e,headers:{...a,"Content-Type":"application/json"},timeout:P?P*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 _e__default.default(u)}catch(n){if(oe({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)){g&&g(n.response.status,n.response.message);let f=0,S=0;if(d!==void 0){for(let y=0;y<d.length;y++)if((d[y].codeAbove&&n.response.status>=d[y].codeAbove||d[y].codeBelow&&n.response.status<=d[y].codeBelow)&&(d[y].excludeCodes.length===0||!d[y].excludeCodes.includes(n.response.status))||d[y].includeCodes.length===0||d[y].includeCodes.includes(n.response.status)){S=d[y].count,f=d[y].delay;break}}else S=l,f=i+1;if(i<S)return await re(f),D({url:t,method:e,data:r,headers:a,retryCount:i+1,errorMessage:p,retryPolicy:d,errorCallback:g});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}}}};chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var M=ne(),I=(ue(),chunkWO4IQUGO_js.d(le)),F=()=>(I?M.baseUrl:process.env.baseUrl)+"/live/api",V=()=>I?M.fluentdUrl:process.env.fluentdUrl,wa=()=>(I?M.baseUrl:process.env.baseUrl)+"/emoji";var de=()=>({vod:{getVodUrl:`${F()}/v1/live/details/vod/`,getMarkerUrl:t=>`${F()}/v1/live/list-event/vod/${t}/`},videoTimelineLog:`${V()}/video-timeline.log`,logs:`${V()}/cafevideo-endpoint.log`});var se=t=>{let{details:e,params:r}=s.getState().videoData,a={...t,timestamp:Date.now(),clientUUID:h(),uuid:h(),link:window.location.href,user_id:e.user_id,live_id:null,format:void 0,content_type:e.content_type,content_id:e.content_id,daaniHashCode:r.daaniHashCode};D({url:de().logs,method:"post",data:a});};exports.$=br;exports.A=gt;exports.Aa=aa;exports.B=ht;exports.Ba=sa;exports.C=Pt;exports.Ca=oa;exports.D=It;exports.Da=ia;exports.E=Ft;exports.Ea=na;exports.F=Vt;exports.Fa=oe;exports.G=_t;exports.Ga=D;exports.H=Rt;exports.I=G;exports.J=At;exports.K=wt;exports.L=$t;exports.M=Kt;exports.N=qt;exports.O=Ct;exports.P=s;exports.Q=h;exports.R=v;exports.S=pr;exports.T=mr;exports.U=yr;exports.V=gr;exports.W=hr;exports.X=Pr;exports.Y=fr;exports.Z=Sr;exports._=vr;exports.a=Qe;exports.aa=Ar;exports.b=Oe;exports.ba=wr;exports.c=$e;exports.ca=Lr;exports.d=Ke;exports.da=kr;exports.e=qe;exports.ea=xr;exports.f=Ce;exports.fa=c;exports.g=He;exports.ga=Fr;exports.h=je;exports.ha=Vr;exports.i=We;exports.ia=wa;exports.j=Xe;exports.ja=de;exports.k=Ye;exports.ka=se;exports.l=Ge;exports.la=T;exports.m=Je;exports.ma=Er;exports.n=Ze;exports.na=Qr;exports.o=ze;exports.oa=Br;exports.p=Ne;exports.pa=Wr;exports.q=et;exports.qa=Xr;exports.r=ot;exports.ra=Yr;exports.s=it;exports.sa=Gr;exports.t=nt;exports.ta=Jr;exports.u=ut;exports.ua=Zr;exports.v=dt;exports.va=zr;exports.w=ct;exports.wa=Nr;exports.x=pt;exports.xa=ea;exports.y=mt;exports.ya=ta;exports.z=yt;exports.za=ra;//# sourceMappingURL=chunk-6CGGPC2I.js.map
|
|
3
|
+
//# sourceMappingURL=chunk-6CGGPC2I.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/configs/nextConfigs/next.config.js","../src/videoPlayerLibrary/helpers/configs/npmPackage/npmPackage.ts","../src/videoPlayerLibrary/helpers/redux/slices/controllerSlice.ts","../src/videoPlayerLibrary/helpers/redux/slices/videoDataSlice.ts","../src/videoPlayerLibrary/helpers/redux/slices/userSlice.ts","../src/videoPlayerLibrary/helpers/interfaces/enums.ts","../src/videoPlayerLibrary/helpers/redux/store.ts","../src/videoPlayerLibrary/helpers/redux/slices/popoversSlice.ts","../src/videoPlayerLibrary/helpers/redux/slices/miniPlayerSlice.ts","../src/videoPlayerLibrary/helpers/helpers.ts","../src/videoPlayerLibrary/helpers/conditions/conditions.ts","../src/videoPlayerLibrary/helpers/redux/hooks.ts","../src/videoPlayerLibrary/helpers/logs/fluentdLogger.ts","../src/videoPlayerLibrary/helpers/services/apiCaller.ts","../src/videoPlayerLibrary/helpers/errorBoundary/errorBoundaryFunctions.ts","../src/videoPlayerLibrary/helpers/logs/logs.ts","../src/videoPlayerLibrary/helpers/constants.ts","../src/videoPlayerLibrary/helpers/services/services.ts","../src/videoPlayerLibrary/helpers/services/baseUrl.ts"],"names":["require_next_config","__commonJSMin","exports","module","init_cjs_shims","npmPackage_exports","__export","isNpmPackage","init_npmPackage","__esmMin","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-6CGGPC2I.js","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;\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\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 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 {\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"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkQSFIYXO4_js=require('./chunk-QSFIYXO4.js'),chunk6CGGPC2I_js=require('./chunk-6CGGPC2I.js'),chunk5FTEBU6O_js=require('./chunk-5FTEBU6O.js'),chunkWO4IQUGO_js=require('./chunk-WO4IQUGO.js'),react=require('react'),reactRedux=require('react-redux'),jsxRuntime=require('react/jsx-runtime'),$=require('next/legacy/image');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var $__default=/*#__PURE__*/_interopDefault($);chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var I=({title:l,className:o})=>jsxRuntime.jsx("span",{className:`pl-absolute pl-w-max pl-bg-paper pl-text-white/[0.9] ${chunk6CGGPC2I_js.fa("isFullScreen")?"pl-bottom-[300%]":"pl-bottom-[270%]"} pl-rounded-[8px] pl-text-[10px] pl-px-4 pl-py-[13px] pl-font-normal ${o}`,children:l}),d=I;var q=()=>{let{isFullScreen:l}=chunk6CGGPC2I_js.ha(({controller:{firstPlay:p,isFullScreen:h}})=>({firstPlay:p,isFullScreen:h}),reactRedux.shallowEqual),[o,a]=react.useState(false),r=chunk6CGGPC2I_js.ga();return react.useEffect(()=>{chunk6CGGPC2I_js.fa("isFirstPlay")||r(chunk6CGGPC2I_js.f(false));},[l]),jsxRuntime.jsxs("div",{className:"pl-relative pl-flex pl-items-center",children:[jsxRuntime.jsx($__default.default,{src:chunk6CGGPC2I_js.fa("isFullScreen")?chunk5FTEBU6O_js.a.nonFullScreen:chunk5FTEBU6O_js.a.fullScreen,alt:"fullScreen-icon",className:"pl-cursor-pointer",width:20,height:20,onMouseOver:()=>!chunk6CGGPC2I_js.fa("isTouchScreen")&&a(true),onMouseLeave:()=>!chunk6CGGPC2I_js.fa("isTouchScreen")&&a(false),onClick:()=>{chunkQSFIYXO4_js.f(),chunkQSFIYXO4_js.g();},id:chunk6CGGPC2I_js.fa("isFullScreen")?"exit-full-s":"full-s"}),o&&jsxRuntime.jsx(d,{title:`${chunk6CGGPC2I_js.fa("isFullScreen")?"\u062E\u0631\u0648\u062C \u0627\u0632":""} \u062A\u0645\u0627\u0645 \u0635\u0641\u062D\u0647`})]})},me=q;chunkWO4IQUGO_js.e();var B=()=>{let[l,o]=react.useState(false),a=chunk6CGGPC2I_js.ga(),{settings:r}=chunk6CGGPC2I_js.ha(({user:{settings:t}})=>({settings:t}),reactRedux.shallowEqual),p=react.useRef(r.volume),h=()=>{if(p.current!==r.volume){let{settings:t}=chunk6CGGPC2I_js.P.getState().user;chunk6CGGPC2I_js.ka(chunk6CGGPC2I_js.va(p.current,t.volume)),p.current=t.volume,a(chunk6CGGPC2I_js.J({...t,volume:t.volume}));}},F=t=>{let{settings:b}=chunk6CGGPC2I_js.P.getState().user;t==="mute"?(chunkQSFIYXO4_js.d(0),chunk6CGGPC2I_js.ka(chunk6CGGPC2I_js.va(b.volume,0))):(chunk6CGGPC2I_js.ka(chunk6CGGPC2I_js.va(b.volume,100)),chunkQSFIYXO4_js.d(100));};return jsxRuntime.jsxs("div",{className:"pl-relative pl-inline-flex pl-items-center pl-gap-2 pl-sound-icon",children:[!chunk6CGGPC2I_js.fa("isTouchScreen")&&jsxRuntime.jsx("input",{onMouseUp:h,type:"range",min:"0",max:"100",value:r.volume,onChange:t=>chunkQSFIYXO4_js.d(+t.target.value),className:"pl-soundVolume pl-cursor-pointer rounded-full",style:{background:`linear-gradient(to right, white ${r.volume}%, rgba(255,255,255,0.3) 0)`}}),jsxRuntime.jsxs("div",{className:"pl-relative pl-flex pl-items-center",children:[jsxRuntime.jsx($__default.default,{src:chunk6CGGPC2I_js.fa("hasSound")?chunk5FTEBU6O_js.a.unMute:chunk5FTEBU6O_js.a.mute,alt:chunk6CGGPC2I_js.fa("hasSound")?"unmute-icon":"mute-icon",className:"pl-flex pl-items-center pl-cursor-pointer",width:20,height:20,onClick:()=>chunk6CGGPC2I_js.fa("hasSound")?F("mute"):F("unmute"),onDoubleClick:t=>t.stopPropagation(),onMouseOver:()=>!chunk6CGGPC2I_js.fa("isTouchScreen")&&o(true),onMouseLeave:()=>!chunk6CGGPC2I_js.fa("isTouchScreen")&&o(false),id:chunk6CGGPC2I_js.fa("hasSound")?"mute":"unmute"}),l&&jsxRuntime.jsx(d,{className:"pl-left-0",title:chunk6CGGPC2I_js.fa("hasSound")?"\u0635\u062F\u0627":"\u0628\u06CC\u200C\u0635\u062F\u0627"})]})]})},xe=B;chunkWO4IQUGO_js.e();var K=()=>{let l=chunk6CGGPC2I_js.ga();chunk6CGGPC2I_js.ha(({videoData:{params:o}})=>({params:o}),reactRedux.shallowEqual),react.useEffect(()=>{let o=()=>{document.fullscreenElement?l(chunk6CGGPC2I_js.h(true)):(l(chunk6CGGPC2I_js.h(false)),chunkQSFIYXO4_js.j(),chunk6CGGPC2I_js.ka(chunk6CGGPC2I_js.ta("exitFullScreen")),document.body.style.overflow="auto");};document.addEventListener&&(document.addEventListener("webkitfullscreenchange",o,false),document.addEventListener("mozfullscreenchange",o,false),document.addEventListener("fullscreenchange",o,false),document.addEventListener("MSFullscreenChange",o,false));},[]);},$e=K;exports.a=d;exports.b=me;exports.c=xe;exports.d=$e;//# sourceMappingURL=chunk-6VAYPXEA.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-6VAYPXEA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/components/custom-components/fullScreen/fullScreen.tsx","../src/videoPlayerLibrary/components/custom-components/footer/controllbar/controllbarTooltip.tsx","../src/videoPlayerLibrary/components/custom-components/soundVolume/soundVolume.tsx","../src/videoPlayerLibrary/helpers/hooks/useFullScreen.tsx"],"names":["init_cjs_shims","ControllbarTooltip","title","className","jsx","conditions","controllbarTooltip_default","FullScreen","isFullScreen","useAppSelector","firstPlay","shallowEqual","showTooltip","setShowTooltip","useState","dispatch","useAppDispatch","useEffect","setActiveElements","jsxs","Image","importImages_default","handleFullScreen","handleLockOrientation","fullScreen_default","SoundVolume","settings","primaryVolumeRef","useRef","handleMouseUp","store_default","sendFluentLog","volumeLog","setUserSettings","handleMute","type","handleChangeSoundVolume","event","soundVolume_default","useFullScreen","params","handleChangeFullScreen","setIsFullScreen","handleVideoElementSizeInfo","fullscreenLog","useFullScreen_default"],"mappings":"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","file":"chunk-4SNO3QVC.js","sourcesContent":["import { useEffect, useState } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport ControllbarTooltip from \"../footer/controllbar/controllbarTooltip\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { setActiveElements } from \"../../../helpers/redux/slices/controllerSlice\";\r\nimport { handleFullScreen, handleLockOrientation } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport Image from \"next/legacy/image\";\r\nimport IMAGES from \"../../../images/importImages\";\r\n\r\nconst FullScreen = () => {\r\n const { isFullScreen } = useAppSelector(({ controller: { firstPlay, isFullScreen } }) => ({ firstPlay, isFullScreen }), shallowEqual);\r\n\r\n const [showTooltip, setShowTooltip] = useState<boolean>(false);\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n useEffect(() => {\r\n if (!conditions(ConditionName.isFirstPlay)) dispatch(setActiveElements(false));\r\n }, [isFullScreen]);\r\n\r\n return (\r\n <div className=\"pl-relative pl-flex pl-items-center\">\r\n <Image\r\n src={conditions(ConditionName.isFullScreen) ? IMAGES.nonFullScreen : IMAGES.fullScreen}\r\n alt=\"fullScreen-icon\"\r\n className={`pl-cursor-pointer`}\r\n width={20}\r\n height={20}\r\n onMouseOver={() => !conditions(ConditionName.isTouchScreen) && setShowTooltip(true)}\r\n onMouseLeave={() => !conditions(ConditionName.isTouchScreen) && setShowTooltip(false)}\r\n onClick={() => {\r\n handleFullScreen();\r\n handleLockOrientation();\r\n }}\r\n id={conditions(ConditionName.isFullScreen) ? \"exit-full-s\" : \"full-s\"}\r\n />\r\n {showTooltip && (\r\n <ControllbarTooltip\r\n title={`${conditions(ConditionName.isFullScreen) ? \"خروج از\" : \"\"} تمام صفحه`}\r\n />\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default FullScreen;\r\n","import { conditions } from \"../../../../helpers/conditions/conditions\";\r\nimport { ConditionName } from \"../../../../helpers/interfaces/enums\";\r\nimport { IControllbarTooltipProps } from \"../../../../helpers/interfaces/interfaces\";\r\n\r\nconst ControllbarTooltip = ({ title, className }: IControllbarTooltipProps) => (\r\n <span\r\n className={`pl-absolute pl-w-max pl-bg-paper pl-text-white/[0.9] ${conditions(ConditionName.isFullScreen) ? \"pl-bottom-[300%]\" : \"pl-bottom-[270%]\"} pl-rounded-[8px] pl-text-[10px] pl-px-4 pl-py-[13px] pl-font-normal ${className}`}\r\n >\r\n {title}\r\n </span>\r\n);\r\n\r\nexport default ControllbarTooltip;\r\n","import { useRef, useState } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport ControllbarTooltip from \"../footer/controllbar/controllbarTooltip\";\r\nimport Image from \"next/legacy/image\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport store from \"../../../helpers/redux/store\";\r\nimport { volumeLog } from \"../../../helpers/logs/logs\";\r\nimport { sendFluentLog } from \"../../../helpers/logs/fluentdLogger\";\r\nimport { setUserSettings } from \"../../../helpers/redux/slices/userSlice\";\r\nimport { handleChangeSoundVolume } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport IMAGES from \"../../../images/importImages\";\r\n\r\nconst SoundVolume = () => {\r\n const [showTooltip, setShowTooltip] = useState<boolean>(false);\r\n\r\n const dispatch = useAppDispatch();\r\n const { settings } = useAppSelector(({ user: { settings } }) => ({ settings }), shallowEqual);\r\n\r\n const primaryVolumeRef = useRef<number>(settings.volume);\r\n\r\n const handleMouseUp = () => {\r\n if (primaryVolumeRef.current !== settings.volume) {\r\n const { settings } = store.getState().user;\r\n sendFluentLog(volumeLog(primaryVolumeRef.current, settings.volume));\r\n primaryVolumeRef.current = settings.volume;\r\n // createSettings({ ...settings, volume: settings.volume });\r\n dispatch(setUserSettings({ ...settings, volume: settings.volume }));\r\n }\r\n };\r\n\r\n const handleMute = (type: string) => {\r\n const { settings } = store.getState().user;\r\n if (type === \"mute\") {\r\n handleChangeSoundVolume(0);\r\n sendFluentLog(volumeLog(settings.volume, 0));\r\n // createSettings({ ...settings, volume: 0 });\r\n } else {\r\n sendFluentLog(volumeLog(settings.volume, 100));\r\n handleChangeSoundVolume(100);\r\n // createSettings({ ...settings, volume: 100 });\r\n }\r\n };\r\n\r\n return (\r\n <div className={`pl-relative pl-inline-flex pl-items-center pl-gap-2 pl-sound-icon`}>\r\n {!conditions(ConditionName.isTouchScreen) && (\r\n <input\r\n onMouseUp={handleMouseUp}\r\n type=\"range\"\r\n min=\"0\"\r\n max=\"100\"\r\n value={settings.volume}\r\n onChange={(event) => handleChangeSoundVolume(+event.target.value)}\r\n className=\"pl-soundVolume pl-cursor-pointer rounded-full\"\r\n style={{ background: `linear-gradient(to right, white ${settings.volume}%, rgba(255,255,255,0.3) 0)` }}\r\n />\r\n )}\r\n <div className=\"pl-relative pl-flex pl-items-center\">\r\n <Image\r\n src={conditions(ConditionName.hasSound) ? IMAGES.unMute : IMAGES.mute}\r\n alt={conditions(ConditionName.hasSound) ? \"unmute-icon\" : \"mute-icon\"}\r\n className={`pl-flex pl-items-center pl-cursor-pointer`}\r\n width={20}\r\n height={20}\r\n onClick={() => (conditions(ConditionName.hasSound) ? handleMute(\"mute\") : handleMute(\"unmute\"))}\r\n onDoubleClick={(event: any) => event.stopPropagation()}\r\n onMouseOver={() => !conditions(ConditionName.isTouchScreen) && setShowTooltip(true)}\r\n onMouseLeave={() => !conditions(ConditionName.isTouchScreen) && setShowTooltip(false)}\r\n id={conditions(ConditionName.hasSound) ? \"mute\" : \"unmute\"}\r\n />\r\n {showTooltip && (\r\n <ControllbarTooltip\r\n className=\"pl-left-0\"\r\n title={conditions(ConditionName.hasSound) ? \"صدا\" : \"بیصدا\"}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default SoundVolume;\r\n","import { useEffect } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport { useAppDispatch, useAppSelector } from \"../redux/hooks\";\r\nimport { setIsFullScreen } from \"../redux/slices/controllerSlice\";\r\nimport { handleVideoElementSizeInfo } from \"../redux/actions/controller.actions\";\r\nimport { fullscreenLog } from \"../logs/logs\";\r\nimport { sendFluentLog } from \"../logs/fluentdLogger\";\r\n\r\nconst useFullScreen = () => {\r\n const dispatch = useAppDispatch();\r\n useAppSelector(({ videoData: { params } }) => ({ params }), shallowEqual);\r\n\r\n useEffect(() => {\r\n const handleChangeFullScreen = () => {\r\n const isFullScreen = document.fullscreenElement;\r\n\r\n if (isFullScreen) dispatch(setIsFullScreen(true));\r\n else {\r\n dispatch(setIsFullScreen(false));\r\n handleVideoElementSizeInfo();\r\n sendFluentLog(fullscreenLog(\"exitFullScreen\"));\r\n document.body.style.overflow = \"auto\"\r\n }\r\n };\r\n\r\n if (document.addEventListener) {\r\n document.addEventListener(\"webkitfullscreenchange\", handleChangeFullScreen, false);\r\n document.addEventListener(\"mozfullscreenchange\", handleChangeFullScreen, false);\r\n document.addEventListener(\"fullscreenchange\", handleChangeFullScreen, false);\r\n document.addEventListener(\"MSFullscreenChange\", handleChangeFullScreen, false);\r\n }\r\n\r\n () => {\r\n document.removeEventListener(\"webkitfullscreenchange\", handleChangeFullScreen, false);\r\n document.removeEventListener(\"mozfullscreenchange\", handleChangeFullScreen, false);\r\n document.removeEventListener(\"fullscreenchange\", handleChangeFullScreen, false);\r\n document.removeEventListener(\"MSFullscreenChange\", handleChangeFullScreen, false);\r\n };\r\n }, []);\r\n};\r\n\r\nexport default useFullScreen;\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/components/custom-components/fullScreen/fullScreen.tsx","../src/videoPlayerLibrary/components/custom-components/footer/controllbar/controllbarTooltip.tsx","../src/videoPlayerLibrary/components/custom-components/soundVolume/soundVolume.tsx","../src/videoPlayerLibrary/helpers/hooks/useFullScreen.tsx"],"names":["init_cjs_shims","ControllbarTooltip","title","className","jsx","conditions","controllbarTooltip_default","FullScreen","isFullScreen","useAppSelector","firstPlay","shallowEqual","showTooltip","setShowTooltip","useState","dispatch","useAppDispatch","useEffect","setActiveElements","jsxs","Image","importImages_default","handleFullScreen","handleLockOrientation","fullScreen_default","SoundVolume","settings","primaryVolumeRef","useRef","handleMouseUp","store_default","sendFluentLog","volumeLog","setUserSettings","handleMute","type","handleChangeSoundVolume","event","soundVolume_default","useFullScreen","params","handleChangeFullScreen","setIsFullScreen","handleVideoElementSizeInfo","fullscreenLog","useFullScreen_default"],"mappings":"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","file":"chunk-6VAYPXEA.js","sourcesContent":["import { useEffect, useState } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport ControllbarTooltip from \"../footer/controllbar/controllbarTooltip\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { setActiveElements } from \"../../../helpers/redux/slices/controllerSlice\";\r\nimport { handleFullScreen, handleLockOrientation } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport Image from \"next/legacy/image\";\r\nimport IMAGES from \"../../../images/importImages\";\r\n\r\nconst FullScreen = () => {\r\n const { isFullScreen } = useAppSelector(({ controller: { firstPlay, isFullScreen } }) => ({ firstPlay, isFullScreen }), shallowEqual);\r\n\r\n const [showTooltip, setShowTooltip] = useState<boolean>(false);\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n useEffect(() => {\r\n if (!conditions(ConditionName.isFirstPlay)) dispatch(setActiveElements(false));\r\n }, [isFullScreen]);\r\n\r\n return (\r\n <div className=\"pl-relative pl-flex pl-items-center\">\r\n <Image\r\n src={conditions(ConditionName.isFullScreen) ? IMAGES.nonFullScreen : IMAGES.fullScreen}\r\n alt=\"fullScreen-icon\"\r\n className={`pl-cursor-pointer`}\r\n width={20}\r\n height={20}\r\n onMouseOver={() => !conditions(ConditionName.isTouchScreen) && setShowTooltip(true)}\r\n onMouseLeave={() => !conditions(ConditionName.isTouchScreen) && setShowTooltip(false)}\r\n onClick={() => {\r\n handleFullScreen();\r\n handleLockOrientation();\r\n }}\r\n id={conditions(ConditionName.isFullScreen) ? \"exit-full-s\" : \"full-s\"}\r\n />\r\n {showTooltip && (\r\n <ControllbarTooltip\r\n title={`${conditions(ConditionName.isFullScreen) ? \"خروج از\" : \"\"} تمام صفحه`}\r\n />\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default FullScreen;\r\n","import { conditions } from \"../../../../helpers/conditions/conditions\";\r\nimport { ConditionName } from \"../../../../helpers/interfaces/enums\";\r\nimport { IControllbarTooltipProps } from \"../../../../helpers/interfaces/interfaces\";\r\n\r\nconst ControllbarTooltip = ({ title, className }: IControllbarTooltipProps) => (\r\n <span\r\n className={`pl-absolute pl-w-max pl-bg-paper pl-text-white/[0.9] ${conditions(ConditionName.isFullScreen) ? \"pl-bottom-[300%]\" : \"pl-bottom-[270%]\"} pl-rounded-[8px] pl-text-[10px] pl-px-4 pl-py-[13px] pl-font-normal ${className}`}\r\n >\r\n {title}\r\n </span>\r\n);\r\n\r\nexport default ControllbarTooltip;\r\n","import { useRef, useState } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport ControllbarTooltip from \"../footer/controllbar/controllbarTooltip\";\r\nimport Image from \"next/legacy/image\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport store from \"../../../helpers/redux/store\";\r\nimport { volumeLog } from \"../../../helpers/logs/logs\";\r\nimport { sendFluentLog } from \"../../../helpers/logs/fluentdLogger\";\r\nimport { setUserSettings } from \"../../../helpers/redux/slices/userSlice\";\r\nimport { handleChangeSoundVolume } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport IMAGES from \"../../../images/importImages\";\r\n\r\nconst SoundVolume = () => {\r\n const [showTooltip, setShowTooltip] = useState<boolean>(false);\r\n\r\n const dispatch = useAppDispatch();\r\n const { settings } = useAppSelector(({ user: { settings } }) => ({ settings }), shallowEqual);\r\n\r\n const primaryVolumeRef = useRef<number>(settings.volume);\r\n\r\n const handleMouseUp = () => {\r\n if (primaryVolumeRef.current !== settings.volume) {\r\n const { settings } = store.getState().user;\r\n sendFluentLog(volumeLog(primaryVolumeRef.current, settings.volume));\r\n primaryVolumeRef.current = settings.volume;\r\n // createSettings({ ...settings, volume: settings.volume });\r\n dispatch(setUserSettings({ ...settings, volume: settings.volume }));\r\n }\r\n };\r\n\r\n const handleMute = (type: string) => {\r\n const { settings } = store.getState().user;\r\n if (type === \"mute\") {\r\n handleChangeSoundVolume(0);\r\n sendFluentLog(volumeLog(settings.volume, 0));\r\n // createSettings({ ...settings, volume: 0 });\r\n } else {\r\n sendFluentLog(volumeLog(settings.volume, 100));\r\n handleChangeSoundVolume(100);\r\n // createSettings({ ...settings, volume: 100 });\r\n }\r\n };\r\n\r\n return (\r\n <div className={`pl-relative pl-inline-flex pl-items-center pl-gap-2 pl-sound-icon`}>\r\n {!conditions(ConditionName.isTouchScreen) && (\r\n <input\r\n onMouseUp={handleMouseUp}\r\n type=\"range\"\r\n min=\"0\"\r\n max=\"100\"\r\n value={settings.volume}\r\n onChange={(event) => handleChangeSoundVolume(+event.target.value)}\r\n className=\"pl-soundVolume pl-cursor-pointer rounded-full\"\r\n style={{ background: `linear-gradient(to right, white ${settings.volume}%, rgba(255,255,255,0.3) 0)` }}\r\n />\r\n )}\r\n <div className=\"pl-relative pl-flex pl-items-center\">\r\n <Image\r\n src={conditions(ConditionName.hasSound) ? IMAGES.unMute : IMAGES.mute}\r\n alt={conditions(ConditionName.hasSound) ? \"unmute-icon\" : \"mute-icon\"}\r\n className={`pl-flex pl-items-center pl-cursor-pointer`}\r\n width={20}\r\n height={20}\r\n onClick={() => (conditions(ConditionName.hasSound) ? handleMute(\"mute\") : handleMute(\"unmute\"))}\r\n onDoubleClick={(event: any) => event.stopPropagation()}\r\n onMouseOver={() => !conditions(ConditionName.isTouchScreen) && setShowTooltip(true)}\r\n onMouseLeave={() => !conditions(ConditionName.isTouchScreen) && setShowTooltip(false)}\r\n id={conditions(ConditionName.hasSound) ? \"mute\" : \"unmute\"}\r\n />\r\n {showTooltip && (\r\n <ControllbarTooltip\r\n className=\"pl-left-0\"\r\n title={conditions(ConditionName.hasSound) ? \"صدا\" : \"بیصدا\"}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default SoundVolume;\r\n","import { useEffect } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport { useAppDispatch, useAppSelector } from \"../redux/hooks\";\r\nimport { setIsFullScreen } from \"../redux/slices/controllerSlice\";\r\nimport { handleVideoElementSizeInfo } from \"../redux/actions/controller.actions\";\r\nimport { fullscreenLog } from \"../logs/logs\";\r\nimport { sendFluentLog } from \"../logs/fluentdLogger\";\r\n\r\nconst useFullScreen = () => {\r\n const dispatch = useAppDispatch();\r\n useAppSelector(({ videoData: { params } }) => ({ params }), shallowEqual);\r\n\r\n useEffect(() => {\r\n const handleChangeFullScreen = () => {\r\n const isFullScreen = document.fullscreenElement;\r\n\r\n if (isFullScreen) dispatch(setIsFullScreen(true));\r\n else {\r\n dispatch(setIsFullScreen(false));\r\n handleVideoElementSizeInfo();\r\n sendFluentLog(fullscreenLog(\"exitFullScreen\"));\r\n document.body.style.overflow = \"auto\"\r\n }\r\n };\r\n\r\n if (document.addEventListener) {\r\n document.addEventListener(\"webkitfullscreenchange\", handleChangeFullScreen, false);\r\n document.addEventListener(\"mozfullscreenchange\", handleChangeFullScreen, false);\r\n document.addEventListener(\"fullscreenchange\", handleChangeFullScreen, false);\r\n document.addEventListener(\"MSFullscreenChange\", handleChangeFullScreen, false);\r\n }\r\n\r\n () => {\r\n document.removeEventListener(\"webkitfullscreenchange\", handleChangeFullScreen, false);\r\n document.removeEventListener(\"mozfullscreenchange\", handleChangeFullScreen, false);\r\n document.removeEventListener(\"fullscreenchange\", handleChangeFullScreen, false);\r\n document.removeEventListener(\"MSFullscreenChange\", handleChangeFullScreen, false);\r\n };\r\n }, []);\r\n};\r\n\r\nexport default useFullScreen;\r\n"]}
|