cafe-video-player 3.0.12 → 3.0.13
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/README.md +2 -0
- package/VideoHighLighter-OBD2IGA6.js +2 -0
- package/VideoHighLighter-OBD2IGA6.js.map +1 -0
- package/VideoHighLighter-T2LVURER.mjs +2 -0
- package/VideoHighLighter-T2LVURER.mjs.map +1 -0
- package/backwardForward-S6ZHVC75.js +2 -0
- package/backwardForward-S6ZHVC75.js.map +1 -0
- package/backwardForward-ZUVULGGJ.mjs +2 -0
- package/backwardForward-ZUVULGGJ.mjs.map +1 -0
- package/chunk-2DV7FRU5.mjs +2 -0
- package/chunk-2DV7FRU5.mjs.map +1 -0
- package/chunk-4QMWBTB5.mjs +2 -0
- package/chunk-4QMWBTB5.mjs.map +1 -0
- package/chunk-4XKL6TLO.mjs +2 -0
- package/chunk-4XKL6TLO.mjs.map +1 -0
- package/chunk-73KLK4QU.mjs +2 -0
- package/chunk-73KLK4QU.mjs.map +1 -0
- package/chunk-AK5TFAW3.js +2 -0
- package/chunk-AK5TFAW3.js.map +1 -0
- package/chunk-AN6JAJSI.js +2 -0
- package/chunk-AN6JAJSI.js.map +1 -0
- package/chunk-BC4366GN.mjs +3 -0
- package/chunk-BC4366GN.mjs.map +1 -0
- package/chunk-BFE2RKVK.js +3 -0
- package/chunk-BFE2RKVK.js.map +1 -0
- package/chunk-BNVNO5NH.js +2 -0
- package/chunk-BNVNO5NH.js.map +1 -0
- package/chunk-CCO6GDG2.mjs +3 -0
- package/chunk-CCO6GDG2.mjs.map +1 -0
- package/chunk-COYFW7R4.js +3 -0
- package/chunk-COYFW7R4.js.map +1 -0
- package/chunk-DJ6KVZRK.js +2 -0
- package/chunk-DJ6KVZRK.js.map +1 -0
- package/chunk-FXAWDALE.mjs +2 -0
- package/chunk-FXAWDALE.mjs.map +1 -0
- package/chunk-GYUGYOVP.mjs +2 -0
- package/chunk-GYUGYOVP.mjs.map +1 -0
- package/chunk-IBV5SFIT.js +2 -0
- package/chunk-IBV5SFIT.js.map +1 -0
- package/chunk-OGCKLRYP.js +2 -0
- package/chunk-OGCKLRYP.js.map +1 -0
- package/chunk-PKXJEXKI.mjs +2 -0
- package/chunk-PKXJEXKI.mjs.map +1 -0
- package/chunk-QM3W7EYS.js +2 -0
- package/chunk-QM3W7EYS.js.map +1 -0
- package/chunk-SKRDEKL2.mjs +9 -0
- package/chunk-SKRDEKL2.mjs.map +1 -0
- package/chunk-U3VFRU6R.js +3 -0
- package/chunk-U3VFRU6R.js.map +1 -0
- package/chunk-WFHA2FPC.js +9 -0
- package/chunk-WFHA2FPC.js.map +1 -0
- package/chunk-WU4GN63P.mjs +2 -0
- package/chunk-WU4GN63P.mjs.map +1 -0
- package/chunk-XKRBXZUB.mjs +3 -0
- package/chunk-XKRBXZUB.mjs.map +1 -0
- package/chunk-Y7BIYTQP.mjs +2 -0
- package/chunk-Y7BIYTQP.mjs.map +1 -0
- package/chunk-ZSSCZTW3.js +2 -0
- package/chunk-ZSSCZTW3.js.map +1 -0
- package/chunk-ZWGZGWEB.js +2 -0
- package/chunk-ZWGZGWEB.js.map +1 -0
- package/index.js +1 -7307
- package/index.js.map +1 -1
- package/index.mjs +1 -7292
- package/index.mjs.map +1 -1
- package/nonStaticVideoTag-6OHMSJEH.js +2 -0
- package/nonStaticVideoTag-6OHMSJEH.js.map +1 -0
- package/nonStaticVideoTag-J6JNATM6.mjs +2 -0
- package/nonStaticVideoTag-J6JNATM6.mjs.map +1 -0
- package/notActive-DRH5BEL5.js +2 -0
- package/notActive-DRH5BEL5.js.map +1 -0
- package/notActive-DSDPVSW4.mjs +2 -0
- package/notActive-DSDPVSW4.mjs.map +1 -0
- package/package.json +52 -51
- package/staticPlayer-2IO6XEKM.mjs +2 -0
- package/staticPlayer-2IO6XEKM.mjs.map +1 -0
- package/staticPlayer-TNS4JFRP.js +2 -0
- package/staticPlayer-TNS4JFRP.js.map +1 -0
- package/staticVideoTag-2YYZBRPY.mjs +2 -0
- package/staticVideoTag-2YYZBRPY.mjs.map +1 -0
- package/staticVideoTag-VLNCYNKV.js +2 -0
- package/staticVideoTag-VLNCYNKV.js.map +1 -0
- package/videoArea-2F2NDD76.mjs +2 -0
- package/videoArea-2F2NDD76.mjs.map +1 -0
- package/videoArea-35ABV3CM.js +2 -0
- package/videoArea-35ABV3CM.js.map +1 -0
- package/videoPlayerStyles.css +0 -4
- package/vodPlayer-337TYSU4.js +2 -0
- package/vodPlayer-337TYSU4.js.map +1 -0
- package/vodPlayer-JTS4WVOB.mjs +2 -0
- package/vodPlayer-JTS4WVOB.mjs.map +1 -0
|
@@ -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/videoDataSlice.ts","../src/videoPlayerLibrary/helpers/interfaces/enums.ts","../src/videoPlayerLibrary/helpers/conditions/conditions.ts","../src/videoPlayerLibrary/helpers/helpers.ts","../src/videoPlayerLibrary/helpers/redux/store.ts","../src/videoPlayerLibrary/helpers/redux/slices/popoversSlice.ts","../src/videoPlayerLibrary/helpers/redux/slices/userSlice.ts","../src/videoPlayerLibrary/helpers/redux/slices/miniPlayerSlice.ts","../src/videoPlayerLibrary/helpers/redux/actions/controller.actions.ts","../src/videoPlayerLibrary/helpers/services/apiCaller.ts","../src/videoPlayerLibrary/helpers/errorBoundary/errorBoundaryFunctions.ts","../src/videoPlayerLibrary/helpers/logs/fluentdLogger.ts","../src/videoPlayerLibrary/helpers/services/services.ts","../src/videoPlayerLibrary/helpers/services/baseUrl.ts","../src/videoPlayerLibrary/helpers/logs/logs.ts","../src/videoPlayerLibrary/helpers/constants.ts"],"names":["require_next_config","__commonJSMin","exports","module","init_cjs_shims","npmPackage_exports","__export","isNpmPackage","init_npmPackage","__esmMin","VideoDataSliceState","videoDataSlice","createSlice","state","action","setInfo","setPlayerParams","setVideoElementSizeInfo","setMarkers","setIsFetchDetails","setIsValidAddress","setVideoTimelines","setIsReady","setRawSubtitles","setSubtitles","setSubtitleText","setSelectedSubtitle","setMultiAudio","setSelectedAudioId","setHiddenAd","setClearVideoDataSlice","videoDataSlice_default","PopOversSliceState","popoversSlice","setSettingPopover","setSpeedPopover","setQualityLevelsPopover","setMarkersListPopover","setMultiAudioPopover","setClearPopoversSlice","popoversSlice_default","UserSliceState","isDev","userSlice","setUserSettings","setVideoSettings","setClearUserSlice","userSlice_default","MiniPlayerSliceState","setMiniPlayerInfo","setDetailsMiniPlayer","setPlayMiniPlayer","setClearMiniPlayerSlice","miniPlayerSlice_default","store","configureStore","controllerSlice_default","getDefaultMiddleware","store_default","envs","_e","getRestApiLiveUrl","getFluentdUrl","getEmojiUrl","API","videoId","sendFluentLog","data","details","params","_data","getUUID","apiCaller","mainPlayerVideoTag","miniPlayerVideoTag","progressBar","progressArea","progressBarWidth","progressTrack","speedChangeLog","selectedSpeed","settings","conditions","qualityChangeRequestLog","selectedQuality","qualityLevels","manualQuality","autoQuality","catchUpLoadingLog","duration","backwardForwardLog","type","fullscreenLog","category","volumeLog","source","target","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","flattenObject","loadingLog","waitingDuration","qualityLevel","loadingCounterRef","videoEntranceTime","previousLoaderDiff","subtitleLog","language","eventMarkerClickLog","markerId","markerTime","markerTitle","markerDescription","markerSticker","errorLogProvider","method","headers","retryCount","maxRetryCount","errorMessage","retryPolicy","errorCallback","timeoutCount","axiosConfig","axios","error","AxiosError","newRetryDelay","newMaxRetryCount","i","wait","handlePlayPause","event","dispatch","setPlay","handlePlayerPauseMiniPlayer","firstUnMuteHandler","setFirstMute","handleChangeSoundVolume","volume","videoTag","firstMute","video","handleBackwardForward","forwardBackwardCount","currentTime","handleFullScreen","isFullScreen","setIsFullScreen","handleLockOrientation","handleLock","setLock","handleVideoTimeline","currentTimeValue","movedTimeValue","videoTimelines","movedTime","handleVideoElementSizeInfo","element","handleDoubleClick","PREFIX","twMerge","classLists","input","classes","hadPrefix","cls","withoutPrefix","tailwindMerge","tw","classname","options","config","isTouch","styleMerge","result","s","resolve","uuid","uuidGenerator","char","val","isTouchScreen","isTouchScreenLandscape","isTouchScreenPortrait","isIOS","addZeroBefore","n","secondsToHMS","seconds","h","m","addUuidToSrc","src","urlObject","urlSrc","checkParentTarget","splitQueryParamsFromStreamLink","playerType","streamLink","queryParams","handleRippleCircle","id","circle","ripple","responseValidator","status","clearRedux","setClearControllerSlice","weighted_random","weights","random","handlePageLoadTime","loadingDurationRef","pageLoadTime","highestResolutionSupported","resolutions","width","height","w","filteredResolutions","resolution","keyName","key","newKey","sortLanguages","array","priority","a","b","prioA","prioB","getSubtitleLabel","subtitleLanguage","label","spliteStringPerLine","str","inViewPort","positionLeft","positionRight","cleanVTT","vttText","setupAutoplayBehavior","playPromise","isValidAddress","isFetchDetails","isReady","rawSubtitles","subtitles","selectedSubtitle","markers","multiAudio","hiddenAd","firstPlay","lock","canPlayVideo","activeElements","isLoading","isEnded","isAutoPlay","play","settingPopover","speedPopover","qualityLevelsPopover","markersListPopover","miniPlayer"],"mappings":"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","file":"chunk-U3VFRU6R.js","sourcesContent":["module.exports = {\n baseUrl: \"https://hamrahi.cloud\",\n fluentdUrl: \"https://hamrahi.cloud\",\n};\n","export const isNpmPackage = false;\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport {\n IVideoElementSizeInfo,\n IDetails,\n IVideoDataSlice,\n IParams,\n IMarker,\n ISubtitle,\n} from \"../../interfaces/interfaces\";\n\nexport const VideoDataSliceState: IVideoDataSlice = {\n details: {\n stream_link: \"\",\n type: \"\",\n banner: \"\",\n id: undefined,\n title: undefined,\n vtt: undefined,\n vtt_mobile: undefined,\n user_id: null,\n content_id: undefined,\n content_type: null,\n duration: 0,\n subtitles: undefined,\n },\n params: {\n type: \"\",\n id: \"\",\n bannerAlt: \"\",\n fullscreen: \"\",\n autoplay: \"\",\n banner: \"\",\n provider: \"cafevdo\",\n onFinished: undefined,\n onPlay: undefined,\n onPause: undefined,\n playStatus: undefined,\n currentTime: undefined,\n daaniHashCode: undefined,\n advertisement: undefined,\n activeSubtitle: \"fa\",\n vhl_progress: 0,\n },\n markers: [],\n videoElementSizeInfo: {\n bottom: 0,\n top: 0,\n right: 0,\n left: 0,\n width: 0,\n height: 0,\n },\n isFetchDetails: false,\n isValidAddress: false,\n videoTimelines: [],\n isReady: false,\n rawSubtitles: undefined,\n subtitles: [],\n selectedSubtitle: undefined,\n subtitleText: undefined,\n multiAudio: [],\n selectedAudioId: 0,\n hiddenAd: false,\n};\n\nexport const videoDataSlice = createSlice({\n name: \"videoData\",\n initialState: VideoDataSliceState,\n reducers: {\n setInfo: (state, action: PayloadAction<IDetails>) => {\n state.details = action.payload;\n },\n setPlayerParams: (state, action: PayloadAction<IParams>) => {\n state.params = action.payload;\n },\n setMarkers: (state, action: PayloadAction<IMarker[]>) => {\n state.markers = action.payload;\n },\n setVideoElementSizeInfo: (\n state,\n action: PayloadAction<IVideoElementSizeInfo>\n ) => {\n state.videoElementSizeInfo = action.payload;\n },\n setIsFetchDetails: (state, action: PayloadAction<boolean>) => {\n state.isFetchDetails = action.payload;\n },\n setIsValidAddress: (state, action: PayloadAction<boolean>) => {\n state.isValidAddress = action.payload;\n },\n setVideoTimelines: (state, action: PayloadAction<number[]>) => {\n state.videoTimelines = action.payload;\n },\n setIsReady: (state, action: PayloadAction<boolean>) => {\n state.isReady = action.payload;\n },\n setRawSubtitles: (\n state,\n action: PayloadAction<ISubtitle[] | null | undefined>\n ) => {\n state.rawSubtitles = action.payload;\n },\n setSubtitles: (state, action: PayloadAction<TextTrack[]>) => {\n state.subtitles = action.payload;\n },\n setSelectedSubtitle: (state, action: PayloadAction<any>) => {\n state.selectedSubtitle = action.payload;\n },\n setSubtitleText: (state, action: PayloadAction<string>) => {\n state.subtitleText = action.payload;\n },\n setMultiAudio: (state, action: PayloadAction<any>) => {\n state.multiAudio = JSON.parse(JSON.stringify(action.payload));\n },\n setSelectedAudioId: (state, action: PayloadAction<number>) => {\n state.selectedAudioId = action.payload;\n },\n setHiddenAd: (state, action: PayloadAction<boolean>) => {\n state.hiddenAd = action.payload;\n },\n setClearVideoDataSlice: (state) => {\n return (state = VideoDataSliceState);\n },\n },\n});\n\nexport const {\n setInfo,\n setPlayerParams,\n setVideoElementSizeInfo,\n setMarkers,\n setIsFetchDetails,\n setIsValidAddress,\n setVideoTimelines,\n setIsReady,\n setRawSubtitles,\n setSubtitles,\n setSubtitleText,\n setSelectedSubtitle,\n setMultiAudio,\n setSelectedAudioId,\n setHiddenAd,\n setClearVideoDataSlice,\n} = videoDataSlice.actions;\nexport default videoDataSlice.reducer;\n","export const enum zIndex {\n vttDisable = -2,\n videoPlayer,\n videoOpacity,\n backwardForwardInActive,\n mainIcons,\n footer,\n vtt,\n markers,\n videoPlayerInFullScreen = 1000,\n popoverBlurBackground,\n backwardForwardActive,\n miniPlayer,\n popoverContent,\n maxPopover,\n videoPlayerInPictureInPicture,\n}\n\nexport const enum SettingSections {\n main = \"main\",\n qualityLevels = \"qualityLevels\",\n speed = \"speed\",\n subtitles = \"subtitles\",\n multiAudio = \"multiAudio\",\n}\n\nexport const enum PlayerTypes {\n static = \"static\",\n vod = \"vod\",\n}\n\nexport const enum ConditionName {\n showHeader = \"showHeader\",\n showMain = \"showMain\",\n showFooter = \"showFooter\",\n showTouchVolumeBrightness = \"showTouchVolumeBrightness\",\n showBackwardForward = \"showBackwardForward\",\n showTitle = \"showTitle\",\n showSettingPopover = \"showSettingPopover\",\n showSpeedPopover = \"showSpeedPopover\",\n showQualityLevelsPopover = \"showQualityLevelsPopover\",\n showSettingIcon = \"showSettingIcon\",\n showBanner = \"showBanner\",\n showProgressbar = \"showProgressbar\",\n showPictureInPicture = \"showPictureInPicture\",\n showSubtitle = \"showSubtitle\",\n showMarkerListPopover = \"showMarkerListPopover\",\n hidePopovers = \"hidePopovers\",\n isLandscape = \"isLandscape\",\n isTouchScreen = \"isTouchScreen\",\n isTouchScreenPortrait = \"isTouchScreenPortrait\",\n isTouchScreenLandscape = \"isTouchScreenLandscape\",\n isActiveElements = \"isActiveElements\",\n isPlay = \"isPlay\",\n isPlayMiniPlayer = \"isPlayMiniPlayer\",\n isFirstPlay = \"isFirstPlay\",\n isFirstMutePlay = \"isFirstMutePlay\",\n isLock = \"isLock\",\n isIOS = \"isIOS\",\n isLoading = \"isLoading\",\n isStaticFormat = \"isStaticFormat\",\n isEnded = \"isEnded\",\n isAutoPlay = \"isAutoPlay\",\n isFullScreen = \"isFullScreen\",\n isValidAddress = \"isValidAddress\",\n isFetchDetails = \"isFetchDetails\",\n isAutoQuality = \"isAutoQuality\",\n isPressKeySpace = \"isPressKeySpace\",\n isPressKeyI = \"isPressKeyI\",\n isPressKeyF = \"isPressKeyF\",\n isPressKeyS = \"isPressKeyS\",\n isPressKeyArrowRight = \"isPressKeyArrowRight\",\n isPressKeyArrowLeft = \"isPressKeyArrowLeft\",\n isPressKeyM = \"isPressKeyM\",\n isPressKeyC = \"isPressKeyC\",\n isSendTimelineLog = \"isSendTimelineLog\",\n isReady = \"isReady\",\n isSelectedSubtitle = \"isSelectedSubtitle\",\n isMiniPlayerAndMainPlayerSame = \"isMiniPlayerAndMainPlayerSame\",\n isVideoHighLighter = \"isVideoHighLighter\",\n hasTitle = \"hasTitle\",\n hasBanner = \"hasBanner\",\n streamLink = \"streamLink\",\n hasManualQuality = \"hasManualQuality\",\n hasSound = \"hasSound\",\n hasAutoPlay = \"hasAutoPlay\",\n hasFullScreenParams = \"hasFullScreenParams\",\n hasOnFinishedParams = \"hasOnFinishedParams\",\n hasSubtitles = \"hasSubtitles\",\n hasMultipleSubtitles = \"hasMultipleSubtitles\",\n hasSubtitlesInDetails = \"hasSubtitlesInDetails\",\n hasActiveCue = \"hasActiveCue\",\n hasOnPlayParams = \"hasOnPlayParams\",\n hasOnPauseParams = \"hasOnPauseParams\",\n hasMiniPlayer = \"hasMiniPlayer\",\n hasCurrentTimeParams = \"hasCurrentTimeParams\",\n hasMarkers = \"hasMarkers\",\n hasSubtitlesInParams = \"hasSubtitlesInParams\",\n hasOnChangeCurrentTime = \"hasOnChangeCurrentTime\",\n hasMultiAudio = \"hasMultiAudio\",\n hasAdvertisement = \"hasAdvertisement\",\n hasActiveSubtitleInParams = \"hasActiveSubtitleInParams\",\n hasRawSubtitles = \"hasRawSubtitles\",\n skeletonStatusInVhl = \"skeletonStatusInVhl\",\n getDetails = \"getDetails\",\n getMarkers = \"getMarkers\",\n canPlayVideo = \"canPlayVideo\",\n setSubtitleFirstPlay = \"setSubtitleFirstPlay\",\n showSoundVolumeAlert = \"showSoundVolumeAlert\",\n}\n","import { isIOS, isTouchScreen, isTouchScreenLandscape, isTouchScreenPortrait } from \"../helpers\";\nimport { ConditionName, PlayerTypes } from \"../interfaces/enums\";\nimport store from \"../redux/store\";\n\nexport const conditions = (type: string) => {\n const { params, details, isValidAddress, isFetchDetails, isReady, rawSubtitles, subtitles, selectedSubtitle, markers, multiAudio, hiddenAd } =\n store.getState().videoData;\n const { firstPlay, lock, canPlayVideo, manualQuality, activeElements, isLoading, isEnded, isAutoPlay, play, isFullScreen, firstMute } =\n store.getState().controller;\n const { settingPopover, speedPopover, qualityLevelsPopover, markersListPopover } = store.getState().popovers;\n const { settings } = store.getState().user;\n const miniPlayer = store.getState().miniPlayer;\n\n switch (type) {\n case ConditionName.showHeader:\n return !firstPlay && canPlayVideo;\n case ConditionName.showMain:\n return !lock || firstPlay;\n case ConditionName.showFooter:\n return isTouchScreen() ? canPlayVideo && !firstPlay : canPlayVideo;\n case ConditionName.showTouchVolumeBrightness:\n return !firstPlay && isTouchScreenLandscape() && !lock && !isEnded;\n case ConditionName.showBackwardForward:\n return !firstPlay && !lock;\n case ConditionName.showTitle:\n return params.type !== \"static\" && isFullScreen && !lock;\n case ConditionName.showSettingPopover:\n return settingPopover;\n case ConditionName.showSpeedPopover:\n return speedPopover;\n case ConditionName.showQualityLevelsPopover:\n return qualityLevelsPopover;\n case ConditionName.showSettingIcon:\n return !isIOS();\n case ConditionName.showBanner:\n return firstPlay && (details.banner || params.banner);\n case ConditionName.showProgressbar:\n return true;\n case ConditionName.showPictureInPicture:\n return !isIOS() && !isTouchScreen();\n case ConditionName.showSubtitle:\n return !!selectedSubtitle;\n case ConditionName.showMarkerListPopover:\n return markersListPopover;\n case ConditionName.hidePopovers:\n return !settingPopover;\n case ConditionName.isLandscape:\n return window.innerHeight <= window.innerWidth;\n case ConditionName.isTouchScreen:\n return isTouchScreen();\n case ConditionName.isTouchScreenPortrait:\n return isTouchScreenPortrait();\n case ConditionName.isTouchScreenLandscape:\n return isTouchScreenLandscape();\n case ConditionName.isActiveElements:\n return activeElements;\n case ConditionName.isPlay:\n return play;\n case ConditionName.isPlayMiniPlayer:\n return miniPlayer.play;\n case ConditionName.isFirstPlay:\n return firstPlay;\n case ConditionName.isLock:\n return lock;\n case ConditionName.isFirstMutePlay:\n return firstMute;\n case ConditionName.isIOS:\n return isIOS();\n case ConditionName.isLoading:\n return isLoading;\n case ConditionName.isStaticFormat:\n return params.type === PlayerTypes.static;\n case ConditionName.isEnded:\n return isEnded;\n case ConditionName.isAutoPlay:\n return isAutoPlay;\n case ConditionName.isFullScreen:\n return isFullScreen;\n case ConditionName.isValidAddress:\n return params.id ? isValidAddress : !!params.stream_link;\n case ConditionName.isFetchDetails:\n return params.id ? isFetchDetails : !!params.stream_link;\n case ConditionName.isAutoQuality:\n return settings.quality === -1;\n case ConditionName.isPressKeySpace:\n return !lock;\n case ConditionName.isPressKeyI:\n return !lock && !firstPlay;\n case ConditionName.isPressKeyF:\n return (!lock && !firstPlay) || !!params.vhl_status;\n case ConditionName.isPressKeyS:\n return !lock && !firstPlay;\n case ConditionName.isPressKeyArrowRight:\n return !firstPlay && !lock;\n case ConditionName.isPressKeyArrowLeft:\n return !firstPlay && !lock;\n case ConditionName.isPressKeyM:\n return !firstPlay && !lock;\n case ConditionName.isPressKeyC:\n return !lock && !firstPlay && !!subtitles && subtitles.length > 0;\n case ConditionName.isSendTimelineLog:\n return params.type !== \"static\";\n case ConditionName.isReady:\n return isReady;\n case ConditionName.isSelectedSubtitle:\n return !!subtitles && subtitles.length > 0 && selectedSubtitle;\n case ConditionName.isMiniPlayerAndMainPlayerSame:\n return params.id === miniPlayer.params.id;\n case ConditionName.isVideoHighLighter:\n return !!params.vhl_status;\n case ConditionName.hasTitle:\n return details.title;\n case ConditionName.hasBanner:\n return details.banner;\n case ConditionName.streamLink:\n return details.stream_link || params.stream_link;\n case ConditionName.hasManualQuality:\n return manualQuality !== undefined && manualQuality !== null;\n case ConditionName.hasSound:\n return !!settings.volume;\n case ConditionName.hasAutoPlay:\n return params.autoplay === \"true\";\n case ConditionName.hasFullScreenParams:\n return params.fullscreen === \"true\";\n case ConditionName.hasOnFinishedParams:\n return !!params.onFinished;\n case ConditionName.hasSubtitles:\n return !!subtitles && subtitles.length > 0;\n case ConditionName.hasMultipleSubtitles:\n return !!subtitles && subtitles.length > 1;\n case ConditionName.hasActiveCue:\n return selectedSubtitle && selectedSubtitle.activeCues && selectedSubtitle.activeCues.length > 0;\n case ConditionName.hasOnPlayParams:\n return !!params.onPlay;\n case ConditionName.hasOnPauseParams:\n return !!params.onPause;\n case ConditionName.hasMiniPlayer:\n return miniPlayer.params.id;\n case ConditionName.hasCurrentTimeParams:\n return params.currentTime !== undefined;\n case ConditionName.hasMarkers:\n return markers.length !== 0;\n case ConditionName.hasSubtitlesInParams:\n return params.subtitles && params.subtitles.length;\n case ConditionName.hasOnChangeCurrentTime:\n return !!params.onChangeCurrentTime;\n case ConditionName.hasMultiAudio:\n return multiAudio && !!multiAudio.length;\n case ConditionName.hasAdvertisement:\n return !!params.advertisement && !!params.advertisement.videoUrl && !hiddenAd;\n case ConditionName.hasActiveSubtitleInParams:\n return !!params.activeSubtitle;\n case ConditionName.hasRawSubtitles:\n return !!rawSubtitles && !!rawSubtitles.length;\n case ConditionName.skeletonStatusInVhl:\n return params.vhl_status === \"skeleton\";\n case ConditionName.getDetails:\n return !!params.type && params.id;\n case ConditionName.getMarkers:\n return String(params.type) === \"vod\" && params.id && isFetchDetails;\n case ConditionName.canPlayVideo:\n return canPlayVideo;\n case ConditionName.showSoundVolumeAlert:\n return firstMute;\n case ConditionName.setSubtitleFirstPlay:\n return (\n ((params.type === PlayerTypes.vod && details.subtitles && details.subtitles.length > 0) ||\n (params.type === PlayerTypes.static && params.subtitles && params.subtitles.length)) &&\n !firstPlay\n );\n default:\n break;\n }\n};\n","import { conditions } from \"./conditions/conditions\";\nimport { ConditionName } from \"./interfaces/enums\";\nimport store from \"./redux/store\";\nimport { setClearVideoDataSlice } from \"./redux/slices/videoDataSlice\";\nimport { setClearControllerSlice, setFirstMute, setPlay } from \"./redux/slices/controllerSlice\";\nimport { setClearUserSlice } from \"./redux/slices/userSlice\";\nimport { setClearPopoversSlice } from \"./redux/slices/popoversSlice\";\nimport { handleChangeSoundVolume } from \"./redux/actions/controller.actions\";\nimport { ClassNameValue } from \"tailwind-merge\";\nimport { twMerge as tailwindMerge } from \"tailwind-merge\";\n\nconst PREFIX = \"pl-\";\n\nconst twMerge = (...classLists: ClassNameValue[]) => {\n const input = classLists.flat(1).filter(Boolean).join(\" \").trim();\n if (!input) return \"\";\n const classes = input?.split(/\\s+/);\n const hadPrefix = new Set(classes.filter((cls) => cls.startsWith(PREFIX)).map((cls) => cls.slice(PREFIX.length)));\n const withoutPrefix = classes.map((cls) => (cls.startsWith(PREFIX) ? cls.slice(PREFIX.length) : cls));\n const merged = tailwindMerge(withoutPrefix.join(\" \"))?.split(\" \");\n const finalClasses = merged.map((cls) => (hadPrefix.has(cls) ? PREFIX + cls : cls));\n return finalClasses.join(\" \").trim();\n};\n\nexport const tw = (classname: string, options?: { touchFullScreen?: string; touch?: string; desktopFullScreen?: string; desktop?: string }) => {\n const config = options || {};\n const isTouch = conditions(ConditionName.isTouchScreen);\n const isFullScreen = conditions(ConditionName.isFullScreen);\n\n if (isTouch) return twMerge(classname, config.touch, isFullScreen ? config.touchFullScreen : undefined);\n else return twMerge(classname, config.desktop, isFullScreen ? config.desktopFullScreen : undefined);\n};\n\nexport const styleMerge = <T extends number | string>(options: { touchFullScreen?: T; touch?: T; desktopFullScreen?: T; desktop?: T }) => {\n const isTouch = conditions(ConditionName.isTouchScreen);\n const isFullScreen = conditions(ConditionName.isFullScreen);\n\n let result: T | undefined;\n\n if (isTouch) result = isFullScreen ? (options.touchFullScreen ?? options.touch) : options.touch;\n else result = isFullScreen ? (options.desktopFullScreen ?? options.desktop) : options.desktop;\n\n return result as T;\n};\n\nexport const wait = (s: number) => new Promise((resolve) => setTimeout(resolve, s * 1000));\n\nexport const getUUID = () => {\n let uuid = localStorage.getItem(\"hamrahiUUID\");\n if (!uuid) {\n uuid = uuidGenerator();\n localStorage.setItem(\"hamrahiUUID\", uuid);\n }\n return uuid.toString();\n};\n\nexport const uuidGenerator = () => {\n let uuid = \"xxxxxxxx-xxxx-Mxxx-Nxxx-x\".replace(/[xMN]/g, (char) => {\n let val: number;\n if (char === \"M\") val = Math.floor(1 + Math.random() * 5);\n else if (char === \"N\") val = Math.floor(8 + Math.random() * 4);\n else val = Math.floor(Math.random() * 16);\n return val.toString(16);\n });\n uuid += Date.now().toString(16);\n return uuid;\n};\n\nexport const isTouchScreen = () =>\n typeof window !== \"undefined\" &&\n (\"ontouchstart\" in window || ((window as any)[\"DocumentTouch\"] && document instanceof (window as any)[\"DocumentTouch\"]));\n\nexport const isTouchScreenLandscape = () => {\n const { isFullScreen } = store.getState().controller;\n return isTouchScreen() && isFullScreen;\n};\nexport const isTouchScreenPortrait = () => {\n const { isFullScreen } = store.getState().controller;\n return isTouchScreen() && !isFullScreen;\n};\n\nexport const isIOS = () => {\n return (\n [\"iPad Simulator\", \"iPhone Simulator\", \"iPod Simulator\", \"iPad\", \"iPhone\", \"iPod\"].includes(navigator.platform) ||\n // iPad on iOS 13 detection\n (navigator.userAgent.includes(\"Mac\") && \"ontouchend\" in document)\n );\n};\n\nexport const addZeroBefore = (n: number) => {\n return (n < 10 ? \"0\" : \"\") + n;\n};\n\nexport const secondsToHMS = (seconds: number) => {\n const h = Math.floor(seconds / 3600);\n const m = Math.floor((seconds % 3600) / 60);\n const s = Math.floor((seconds % 3600) % 60);\n return h < 1 ? `${addZeroBefore(m)}:${addZeroBefore(s)}` : `${addZeroBefore(h)}:${addZeroBefore(m)}:${addZeroBefore(s)}`;\n};\n\nexport const addUuidToSrc = (src: string) => {\n const urlObject = new URL(src);\n let urlSrc = src;\n if (urlObject.search.length) return (urlSrc += `&uuid=${getUUID()}`);\n else return (urlSrc += `?uuid=${getUUID()}`);\n};\n\nexport const checkParentTarget = (event: any, target: string) => {\n try {\n return [\n event.target.id,\n event.target.parentNode.id,\n event.target.parentNode.parentNode.id,\n event.target.parentNode.parentNode.parentNode.id,\n event.target.parentNode.parentNode.parentNode.parentNode.id,\n ].includes(target);\n } catch (error) {\n return false;\n }\n};\n\nexport const splitQueryParamsFromStreamLink = (playerType: \"mainPlayer\" | \"miniPlayer\") => {\n const { params } = store.getState().videoData;\n\n let streamLink = \"\";\n if (!params.id && params.stream_link) streamLink = params.stream_link;\n else {\n if (playerType === \"mainPlayer\") streamLink = store.getState().videoData.details.stream_link!;\n else streamLink = store.getState().miniPlayer.details.stream_link!;\n }\n\n let queryParams: string = \"\";\n if (streamLink) queryParams = streamLink?.split(\"m3u8\")[1];\n if (queryParams) queryParams = `${queryParams}&uuid=${getUUID()}`;\n else queryParams = `?uuid=${getUUID()}`;\n return queryParams;\n};\n\nexport const handleRippleCircle = (event: any, id: string) => {\n const element: any = document.getElementById(id);\n const circle = document.createElement(\"span\");\n circle.style.width = circle.style.height = `50px`;\n circle.style.left = `${event.touches[0].clientX - element.offsetLeft - 25}px`;\n circle.style.top = `${event.touches[0].clientY - element.offsetTop - 25}px`;\n circle.classList.add(\"pl-ripple\");\n const ripple = element.getElementsByClassName(\"pl-ripple\")[0];\n if (ripple) ripple.remove();\n element.appendChild(circle);\n};\n\nexport const handleRipple = (event: any, id: string, size: number = 50) => {\n const clientX = event.clientX !== undefined ? event.clientX : event.touches[0].clientX;\n const clientY = event.clientY !== undefined ? event.clientY : event.touches[0].clientY;\n const element: any = document.getElementById(id);\n const circle = document.createElement(\"span\");\n circle.style.width = circle.style.height = `${size}px`;\n circle.style.left = `${clientX - size / 2}px`;\n circle.style.top = `${clientY - element.getBoundingClientRect().top - size / 2}px`;\n circle.classList.add(\"pl-ripple\");\n const ripple = element.getElementsByClassName(\"pl-ripple\")[0];\n if (ripple) ripple.remove();\n element.appendChild(circle);\n};\n\nexport const responseValidator = (status: number): boolean => status >= 200 && status < 300;\n\nexport const clearRedux = () => {\n const dispatch = store.dispatch;\n dispatch(setClearVideoDataSlice());\n dispatch(setClearControllerSlice());\n dispatch(setClearUserSlice());\n dispatch(setClearPopoversSlice());\n};\n\nexport const weighted_random = (options: any) => {\n let i;\n\n let weights: any[] = [];\n\n for (i = 0; i < options.length; i++) weights[i] = options[i].weight + (weights[i - 1] || 0);\n\n let random = Math.random() * weights[weights.length - 1];\n\n for (i = 0; i < weights.length; i++) if (weights[i] > random) break;\n\n return options[i].domain;\n};\n\n// ***** Player Core *****\n\nexport const handlePageLoadTime = (loadingDurationRef: any) => {\n let pageLoadTime = 0;\n if (performance && performance.getEntriesByType(\"navigation\")) pageLoadTime = performance.getEntriesByType(\"navigation\")[0].duration;\n loadingDurationRef.current = pageLoadTime;\n};\n\nexport const highestResolutionSupported = (resolutions: string[], width: number, height: number) => {\n const w = width * window.devicePixelRatio;\n const h = height * window.devicePixelRatio;\n let filteredResolutions: string[] = [];\n if (conditions(ConditionName.isTouchScreenPortrait))\n filteredResolutions = resolutions.filter((resolution: string) => Number(resolution?.split(\"x\")[0].trim()) <= w);\n else\n filteredResolutions = resolutions.filter(\n (resolution: string) => Number(resolution?.split(\"x\")[0].trim()) <= h || Number(resolution?.split(\"x\")[1].trim()) <= w,\n );\n return filteredResolutions.indexOf(filteredResolutions[filteredResolutions.length - 1]);\n};\n\nexport const flattenObject = (input: any, keyName?: string) => {\n let result: any = {};\n for (const key in input) {\n const newKey = keyName ? `${keyName}_${key}` : key;\n if (typeof input[key] === \"object\" && !Array.isArray(input[key])) result = { ...result, ...flattenObject(input[key], newKey) };\n else result[newKey] = input[key];\n }\n return result;\n};\n\nexport const sortLanguages = (array: any) => {\n const priority: any = { fa: 1, en: 2 };\n\n return array.slice().sort((a: any, b: any) => {\n const prioA = priority[a.lang] || 999;\n const prioB = priority[b.lang] || 999;\n\n return prioA - prioB;\n });\n};\n\nexport const getSubtitleLabel = (subtitleLanguage: string) => {\n let label;\n switch (subtitleLanguage) {\n case \"fa\":\n label = \"فارسی\";\n break;\n case \"en\":\n label = \"انگلیسی\";\n break;\n case \"ar\":\n label = \"عربی\";\n break;\n case \"tr\":\n label = \"ترکی\";\n break;\n default:\n break;\n }\n return label;\n};\n\nexport const spliteStringPerLine = (str: string) => str?.split(/\\r?\\n|\\r|\\n/g);\n\nexport const inViewPort = (element: any) => {\n if (element) {\n const positionLeft = element.offsetLeft - element.offsetWidth / 2;\n const positionRight = window.innerWidth - (element.offsetLeft + element.offsetWidth);\n if (positionLeft >= 0 && positionRight >= 0) return \"inViewport\";\n else if (positionLeft < 0) return \"OutViewPortFromLeft\";\n else if (positionRight < 0) return \"OutViewPortFromRight\";\n }\n};\n\nexport const compare = (a: any, b: any) => {\n if (a.time < b.time) return -1;\n if (a.time > b.time) return 1;\n return 0;\n};\n\nexport const cleanVTT = (vttText: string) => {\n // Remove all timestamps and alignment/position data\n vttText = vttText.replace(/\\d{2}:\\d{2}:\\d{2}\\.\\d{3} --> \\d{2}:\\d{2}:\\d{2}\\.\\d{3}.*\\n/g, \"\");\n\n // Remove all HTML tags like <c> and </c>\n vttText = vttText.replace(/<[^>]+>/g, \"\");\n\n // Remove extra blank lines\n vttText = vttText.replace(/\\n+/g, \"\\n\");\n\n // Trim leading and trailing whitespace\n vttText = vttText.trim();\n\n return vttText;\n};\n\nexport const isDev = process.env.NODE_ENV === \"development\";\n\nexport const setupAutoplayBehavior = (video: HTMLVideoElement) => {\n const dispatch = store.dispatch;\n const { params } = store.getState().videoData;\n if (params.autoplay === \"true\" || params.advertisement) {\n const playPromise = video.play();\n\n dispatch(setPlay(true));\n handleChangeSoundVolume(100, video);\n\n if (playPromise !== undefined)\n playPromise\n .then(() => {\n handleChangeSoundVolume(100, video);\n })\n .catch(() => {\n handleChangeSoundVolume(0, video);\n dispatch(setFirstMute(true));\n if (ConditionName.isIOS) video.play();\n });\n }\n};\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\";\nimport { IPopoversSlice } from \"../../interfaces/interfaces\";\n\nconst PopOversSliceState: IPopoversSlice = {\n settingPopover: false,\n speedPopover: false,\n qualityLevelsPopover: false,\n markersListPopover: false,\n multiAudioPopover: false,\n};\nexport const popoversSlice = createSlice({\n name: \"popover\",\n initialState: PopOversSliceState,\n reducers: {\n setSettingPopover: (state, action: PayloadAction<boolean>) => {\n state.settingPopover = action.payload;\n },\n setSpeedPopover: (state, action: PayloadAction<boolean>) => {\n state.speedPopover = action.payload;\n },\n setQualityLevelsPopover: (state, action: PayloadAction<boolean>) => {\n state.qualityLevelsPopover = action.payload;\n },\n setMarkersListPopover: (state, action: PayloadAction<boolean>) => {\n state.markersListPopover = action.payload;\n },\n setMultiAudioPopover: (state, action: PayloadAction<boolean>) => {\n state.multiAudioPopover = action.payload;\n },\n setClearPopoversSlice: (state) => {\n state.settingPopover = false;\n state.speedPopover = false;\n state.qualityLevelsPopover = false;\n state.markersListPopover = false;\n state.multiAudioPopover = false;\n },\n },\n});\n\nexport const { setSettingPopover, setSpeedPopover, setQualityLevelsPopover, setMarkersListPopover, setMultiAudioPopover, setClearPopoversSlice } = popoversSlice.actions;\n\nexport default popoversSlice.reducer;\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { IUserSettings, IUserSlice, IVideoSettings } from \"../../interfaces/interfaces\";\nimport { isDev } from \"../../helpers\";\n\nconst UserSliceState: IUserSlice = {\n settings: { quality: isDev ? 0 : -1, brightness: 100, volume: 100, speed: 1 },\n videoSettings: { time: 0 },\n};\n\nexport const userSlice = createSlice({\n name: \"user\",\n initialState: UserSliceState,\n reducers: {\n setUserSettings: (state, action: PayloadAction<IUserSettings>) => {\n state.settings = action.payload;\n },\n setVideoSettings: (state, action: PayloadAction<IVideoSettings>) => {\n state.videoSettings = action.payload;\n },\n setClearUserSlice: () => {\n return UserSliceState;\n },\n },\n});\n\nexport const { setUserSettings, setVideoSettings, setClearUserSlice } = userSlice.actions;\n\nexport default userSlice.reducer;\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport {\n IDetails,\n IMiniPlayerParams,\n IMiniPlayerSlice,\n} from \"../../interfaces/interfaces\";\nimport { PlayerTypes } from \"../../interfaces/enums\";\n\nconst MiniPlayerSliceState: IMiniPlayerSlice = {\n params: {\n id: \"0\",\n type: \"\",\n currentTime: 0,\n autoPlay: false,\n onClose: () => {},\n },\n details: {},\n play: false,\n};\n\nexport const userSlice = createSlice({\n name: \"user\",\n initialState: MiniPlayerSliceState,\n reducers: {\n setMiniPlayerInfo: (state, action: PayloadAction<IMiniPlayerParams>) => {\n state.params = {\n ...action.payload,\n id:\n action.payload.type === PlayerTypes.static\n ? window.atob(action.payload.id)\n : action.payload.id,\n banner: action.payload.banner ? action.payload.banner : undefined,\n };\n },\n setDetailsMiniPlayer: (state, action: PayloadAction<IDetails>) => {\n state.details = action.payload;\n },\n setPlayMiniPlayer: (state, action: PayloadAction<boolean>) => {\n state.play = action.payload;\n },\n setClearMiniPlayerSlice: (state) => {\n return (state = MiniPlayerSliceState);\n },\n },\n});\n\nexport const {\n setMiniPlayerInfo,\n setDetailsMiniPlayer,\n setPlayMiniPlayer,\n setClearMiniPlayerSlice,\n} = userSlice.actions;\n\nexport default userSlice.reducer;\n","import { setFirstMute, setIsFullScreen, setLock, setPlay } from \"../slices/controllerSlice\";\nimport store from \"../store\";\nimport { setVideoElementSizeInfo, setVideoTimelines } from \"../slices/videoDataSlice\";\nimport { ConditionName } from \"../../interfaces/enums\";\nimport { apiCaller } from \"../../services/apiCaller\";\nimport { API } from \"../../services/services\";\nimport { setUserSettings } from \"../slices/userSlice\";\nimport { setClearPopoversSlice } from \"../slices/popoversSlice\";\nimport { conditions } from \"../../conditions/conditions\";\nimport { backwardForwardLog, fullscreenLog, lockLog, videoTimelineLog } from \"../../logs/logs\";\nimport { sendFluentLog } from \"../../logs/fluentdLogger\";\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../constants\";\nimport { setPlayMiniPlayer } from \"../slices/miniPlayerSlice\";\n\nexport const handlePlayPause = (event: any) => {\n if (event === null || event.target.nodeName !== \"INPUT\") {\n const dispatch = store.dispatch;\n if (event !== null) {\n event.stopPropagation();\n event.preventDefault();\n }\n mainPlayerVideoTag()?.paused ? mainPlayerVideoTag().play() : mainPlayerVideoTag()?.pause();\n dispatch(setPlay(!mainPlayerVideoTag()?.paused));\n if (miniPlayerVideoTag() && miniPlayerVideoTag().played) {\n miniPlayerVideoTag()?.pause();\n dispatch(setPlayMiniPlayer(false));\n }\n }\n};\n\nexport const handlePlayerPauseMiniPlayer = (event: any) => {\n if (event === null || event.target.nodeName !== \"INPUT\") {\n const dispatch = store.dispatch;\n miniPlayerVideoTag().paused ? miniPlayerVideoTag().play() : miniPlayerVideoTag()?.pause();\n dispatch(setPlayMiniPlayer(!miniPlayerVideoTag().paused));\n if (mainPlayerVideoTag() && mainPlayerVideoTag().played) {\n mainPlayerVideoTag()?.pause();\n dispatch(setPlay(false));\n }\n }\n};\n\nexport const firstUnMuteHandler = () => {\n const dispatch = store.dispatch;\n dispatch(setFirstMute(false));\n if (conditions(ConditionName.isIOS)) mainPlayerVideoTag().currentTime = mainPlayerVideoTag().currentTime - 0.001;\n};\n\nexport const handleChangeSoundVolume = (volume: number, videoTag?: HTMLVideoElement) => {\n const dispatch = store.dispatch;\n const { settings } = store.getState().user;\n const { firstMute } = store.getState().controller;\n\n const video = videoTag || mainPlayerVideoTag();\n\n dispatch(setUserSettings({ ...settings, volume }));\n\n if (!video) return;\n\n if (firstMute && volume) firstUnMuteHandler();\n if (conditions(ConditionName.isIOS)) video.muted = !volume;\n else video.volume = volume / 100;\n};\n\nexport const handleBackwardForward = (type: string, forwardBackwardCount: number = 15, event?: any) => {\n if (type === \"touchBackward\") type = \"backward\";\n else if (type === \"touchForward\") type = \"forward\";\n if (\n (event && event.target.nodeName === \"INPUT\") ||\n (type === \"backward\" && mainPlayerVideoTag().currentTime < 15) ||\n (type === \"forward\" && mainPlayerVideoTag().duration - mainPlayerVideoTag().currentTime < 15)\n )\n return;\n sendFluentLog(backwardForwardLog(type));\n let currentTime = 0;\n if (type === \"backward\") {\n if (forwardBackwardCount === 0) currentTime = 0;\n else currentTime = mainPlayerVideoTag().currentTime - forwardBackwardCount;\n } else if (type === \"forward\") {\n if (forwardBackwardCount === mainPlayerVideoTag().duration) currentTime = forwardBackwardCount;\n else currentTime = mainPlayerVideoTag().currentTime + forwardBackwardCount;\n }\n mainPlayerVideoTag().currentTime = currentTime;\n};\n\nexport const handleFullScreen = () => {\n const dispatch = store.dispatch;\n\n const isFullScreen = document.fullscreenElement;\n if (conditions(ConditionName.isIOS)) {\n if ((mainPlayerVideoTag() as any).webkitEnterFullScreen) {\n dispatch(setPlay(false));\n // Toggle fullscreen in Safari for iPad\n (mainPlayerVideoTag() as any).webkitEnterFullScreen();\n } else {\n dispatch(setClearPopoversSlice());\n sendFluentLog(fullscreenLog(\"fullScreen\"));\n }\n } else {\n if (isFullScreen) {\n dispatch(setIsFullScreen(false));\n document.exitFullscreen().then(() => (document.body.style.overflow = \"auto\"));\n } else {\n dispatch(setClearPopoversSlice());\n document.documentElement.requestFullscreen().then(() => (document.body.style.overflow = \"hidden\"));\n dispatch(setIsFullScreen(true));\n sendFluentLog(fullscreenLog(\"fullScreen\"));\n }\n }\n};\n\nexport const handleLockOrientation = () => {\n if (conditions(ConditionName.isTouchScreen) && !conditions(ConditionName.isIOS)) {\n if (conditions(ConditionName.isLandscape) && !conditions(ConditionName.isFullScreen)) (window.screen.orientation as any).lock(\"portrait\");\n else (window.screen.orientation as any).lock(\"landscape\");\n }\n};\n\nexport const handleLock = (type: string) => {\n const dispatch = store.dispatch;\n dispatch(setLock(type === \"lock\"));\n sendFluentLog(lockLog(type));\n if (type === \"unlock\") localStorage.setItem(\"unlock-click\", \"true\");\n};\n\nexport const handleVideoTimeline = (currentTimeValue: number, movedTimeValue?: number) => {\n if (conditions(ConditionName.isSendTimelineLog)) {\n const dispatch = store.dispatch;\n const { videoTimelines } = store.getState().videoData;\n let currentTime = Math.floor(currentTimeValue);\n let movedTime = Math.floor(movedTimeValue!);\n if (videoTimelines.length === 0) {\n dispatch(setVideoTimelines([currentTime >= mainPlayerVideoTag()?.duration ? movedTime! : currentTime]));\n } else {\n if (videoTimelines[0] < currentTime)\n apiCaller({\n url: API().videoTimelineLog,\n method: \"post\",\n data: videoTimelineLog(videoTimelines[0], currentTime),\n });\n if (movedTime && movedTime >= mainPlayerVideoTag()?.duration) dispatch(setVideoTimelines([]));\n else dispatch(setVideoTimelines([movedTime!]));\n }\n }\n};\n\nexport const handleVideoElementSizeInfo = () => {\n const dispatch = store.dispatch;\n const element: any = document.getElementById(\"video-area\")?.getBoundingClientRect();\n element.height = (element.width * 9) / 16;\n if (element) dispatch(setVideoElementSizeInfo(element));\n};\n\nexport const handleDoubleClick = (event: any) => {\n if (!conditions(ConditionName.isTouchScreen) && event.target.nodeName !== \"INPUT\") handleFullScreen();\n};\n","import axios, { AxiosError } from \"axios\";\nimport { IApiCaller, IAxiosConfig, IRetryPolicy } from \"../interfaces/interfaces\";\nimport store from \"../redux/store\";\nimport { wait } from \"../helpers\";\nimport { errorLogProvider } from \"../errorBoundary/errorBoundaryFunctions\";\n\nexport const apiCaller: any = async ({\n url,\n method = \"GET\",\n data,\n headers,\n retryCount = 1,\n maxRetryCount = 0,\n errorMessage,\n retryPolicy,\n errorCallback,\n timeoutCount,\n}: IApiCaller) => {\n let axiosConfig: IAxiosConfig = {\n url: url,\n method: method,\n headers: {\n ...headers,\n \"Content-Type\": \"application/json\",\n },\n timeout: timeoutCount ? timeoutCount * 1000 : undefined,\n };\n if (data) {\n if (method === \"GET\")\n axiosConfig = {\n ...axiosConfig,\n params: {\n uuid: store.getState().videoData.params.uuid,\n provider: store.getState().videoData.params.provider === \"unknown\" ? undefined : store.getState().videoData.params.provider,\n ...data,\n },\n };\n else\n axiosConfig = {\n ...axiosConfig,\n data: {\n uuid: store.getState().videoData.params.uuid,\n provider: store.getState().videoData.params.provider === \"unknown\" ? undefined : store.getState().videoData.params.provider,\n ...data,\n },\n };\n } else {\n if (method === \"GET\")\n axiosConfig = {\n ...axiosConfig,\n params: {\n uuid: store.getState().videoData.params.uuid,\n provider: store.getState().videoData.params.provider === \"unknown\" ? undefined : store.getState().videoData.params.provider,\n },\n };\n else\n axiosConfig = {\n ...axiosConfig,\n data: {\n uuid: store.getState().videoData.params.uuid,\n provider: store.getState().videoData.params.provider === \"unknown\" ? undefined : store.getState().videoData.params.provider,\n },\n };\n }\n try {\n return await axios(axiosConfig);\n } catch (error: any) {\n if (error instanceof AxiosError && error.code !== \"ERR_NETWORK\") {\n errorLogProvider({\n type: \"API-ERROR\",\n message: error.message ? error.message : \"\",\n statusCode: error.response && error.response.status ? error.response.status : undefined,\n url,\n });\n }\n\n if (error && error.response && error.response.status === 401) {\n //\n } else {\n if (errorCallback) errorCallback(error.response.status, error.response.message);\n let newRetryDelay = 0,\n newMaxRetryCount = 0;\n if (retryPolicy !== undefined) {\n for (let i = 0; i < retryPolicy.length; i++) {\n if (\n (((retryPolicy[i].codeAbove && error.response.status >= retryPolicy[i].codeAbove!) ||\n (retryPolicy[i].codeBelow && error.response.status <= retryPolicy[i].codeBelow!)) &&\n (retryPolicy[i].excludeCodes.length === 0 || !retryPolicy[i].excludeCodes.includes(error.response.status))) ||\n retryPolicy[i].includeCodes.length === 0 ||\n retryPolicy[i].includeCodes.includes(error.response.status)\n ) {\n newMaxRetryCount = retryPolicy[i].count;\n newRetryDelay = retryPolicy[i].delay;\n break;\n }\n }\n } else {\n newMaxRetryCount = maxRetryCount;\n newRetryDelay = retryCount + 1;\n }\n if (retryCount < newMaxRetryCount) {\n await wait(newRetryDelay);\n return apiCaller({\n url,\n method,\n data,\n headers,\n retryCount: retryCount + 1,\n newMaxRetryCount,\n errorMessage,\n retryPolicy,\n errorCallback,\n });\n } else if (error.response)\n return {\n data: error.response.data ? error.response.data : { detail: \"عملیات با خطا مواجه شده است.\" },\n status: error.response.status,\n };\n }\n }\n};\n\nexport function getAll(path: string, retryPolicy?: IRetryPolicy[], params?: any, retryCount: number = 1, maxRetryCount: number = 0) {\n return new Promise(async (resolve, reject) => {\n // Added reject to the Promise executor function.\n try {\n const url = new URL(path);\n const limit = 1000;\n if (params) {\n Object.keys(params).forEach((key) => {\n if (params[key]) {\n url.searchParams.set(key, params[key]);\n }\n });\n }\n url.searchParams.set(\"limit\", limit.toString());\n const response = await fetch(url.href);\n if (!response.ok) {\n // Check if the response was not ok (status not in the range 200-299).\n throw response;\n }\n const data = await response.json();\n const count = data.count;\n const requestCount = Math.ceil(count / limit) - 1;\n const promises: Array<Promise<any>> = [];\n for (let i = 0; i < requestCount; i++) {\n const offset = i * limit; // Fixed the offset calculation.\n url.searchParams.set(\"offset\", offset.toString());\n const promise: Promise<any> = fetch(url.href).then((res) => {\n if (res.ok) {\n return res.json();\n }\n return res.json().then((err) => Promise.reject(err));\n });\n promises.push(promise);\n }\n Promise.all(promises)\n .then((res) => {\n const results = res.flatMap((item) => item.results);\n resolve([...data.results, ...results]);\n })\n .catch(reject); // Added catch to handle any errors in the Promise.all.\n } catch (error: any) {\n let newRetryDelay = 0,\n newMaxRetryCount = 0;\n if (retryPolicy !== undefined) {\n for (let i = 0; i < retryPolicy.length; i++) {\n if (\n ((retryPolicy[i].codeAbove && error.status >= retryPolicy[i].codeAbove!) ||\n (retryPolicy[i].codeBelow && error.status <= retryPolicy[i].codeBelow!)) &&\n (retryPolicy[i].excludeCodes.length === 0 || !retryPolicy[i].excludeCodes.includes(error.status)) &&\n (retryPolicy[i].includeCodes.length === 0 || retryPolicy[i].includeCodes.includes(error.status))\n ) {\n newMaxRetryCount = retryPolicy[i].count;\n newRetryDelay = retryPolicy[i].delay;\n break;\n }\n }\n if (retryCount < newMaxRetryCount) {\n await wait(newRetryDelay);\n getAll(path, retryPolicy, params, retryCount + 1, newMaxRetryCount);\n }\n }\n }\n });\n}\n","import { sendFluentLog } from \"../logs/fluentdLogger\";\nimport { ExceptionsLog } from \"../logs/logs\";\n\nexport const errorLogProvider = (data?: {type:string, message:string, statusCode?:number, url?:string}) => {\n if(data) sendFluentLog(ExceptionsLog(data.type, data.message, data.statusCode, data.url));\n}\n","import store from \"../redux/store\";\nimport { apiCaller } from \"../services/apiCaller\";\nimport { API } from \"../services/services\";\nimport { getUUID } from \"../helpers\";\n\nexport const sendFluentLog = (data: any) => {\n const { details, params } = store.getState().videoData;\n let _data = {\n ...data,\n timestamp: Date.now(),\n clientUUID: getUUID(),\n uuid: getUUID(),\n link: window.location.href,\n user_id: details.user_id,\n live_id: null,\n format: undefined,\n content_type: details.content_type,\n content_id: details.content_id,\n daaniHashCode: params.daaniHashCode,\n };\n apiCaller({ url: API().logs, method: \"post\", data: _data });\n};\n","import {\n getFluentdUrl,\n getRestApiLiveUrl,\n} from \"./baseUrl\";\n\nexport const API = () => {\n return {\n vod: {\n getVodUrl: `${getRestApiLiveUrl()}/v1/live/details/vod/`,\n getMarkerUrl: (videoId:number) => `${getRestApiLiveUrl()}/v1/live/list-event/vod/${videoId}/`\n },\n videoTimelineLog: `${getFluentdUrl()}/video-timeline.log`,\n logs: `${getFluentdUrl()}/cafevideo-endpoint.log`,\n };\n};","const envs = require(\"../configs/nextConfigs/next.config.js\");\nconst isNpmPackage = require(\"../configs/npmPackage/npmPackage\");\n\nexport const getRestApiLiveUrl = () => (isNpmPackage ? envs.baseUrl : (process.env.baseUrl as string)) + \"/live/api\";\nexport const getFluentdUrl = () => (isNpmPackage ? envs.fluentdUrl : (process.env.fluentdUrl as string));\nexport const getEmojiUrl = () => (isNpmPackage ? envs.baseUrl : (process.env.baseUrl as string)) + \"/emoji\";\n\n","import { conditions } from \"../conditions/conditions\";\nimport { mainPlayerVideoTag } from \"../constants\";\nimport { flattenObject, getUUID } from \"../helpers\";\nimport { ConditionName } from \"../interfaces/enums\";\nimport store from \"../redux/store\";\n\nexport const speedChangeLog = (selectedSpeed: Number) => {\n const { params, details } = store.getState().videoData;\n const { settings } = store.getState().user;\n return {\n category: \"speedChange\",\n previousSelectedSpeed: settings.speed,\n selectedSpeed: selectedSpeed,\n id: Number(params.id),\n type: params.type,\n src: conditions(ConditionName.streamLink) || params.id,\n provider: params.provider,\n };\n};\n\nexport const qualityChangeRequestLog = (selectedQuality: String) => {\n const { params, details } = store.getState().videoData;\n const { qualityLevels, manualQuality, autoQuality } = store.getState().controller;\n return {\n category: \"qualityChangeRequest\",\n currentPlayingQuality: `${qualityLevels[conditions(ConditionName.isAutoQuality) ? (autoQuality ?? manualQuality!) : manualQuality!]}P`,\n previousSelectedQuality: conditions(ConditionName.isAutoQuality) ? \"auto\" : `${qualityLevels[manualQuality!]}P`,\n selectedQuality: selectedQuality,\n id: Number(params.id),\n type: params.type,\n src: conditions(ConditionName.streamLink) || params.id,\n provider: params.provider,\n };\n};\n\nexport const catchUpLoadingLog = (duration: number) => {\n const { params, details } = store.getState().videoData;\n const { qualityLevels, autoQuality } = store.getState().controller;\n const { settings } = store.getState().user;\n\n return {\n category: \"catchUpLoading\",\n previousVideoTime: Number(sessionStorage.getItem(\"previousVideoTime\")),\n currentVideoTime: mainPlayerVideoTag().currentTime,\n duration: duration,\n quality: `${conditions(ConditionName.isAutoQuality) ? qualityLevels[autoQuality!] : qualityLevels[settings.quality]}P`,\n isAutoQuality: conditions(ConditionName.isAutoQuality),\n id: Number(params.id),\n type: params.type,\n src: conditions(ConditionName.streamLink) || params.id,\n provider: params.provider,\n };\n};\n\nexport const backwardForwardLog = (type: string) => {\n const { params, details } = store.getState().videoData;\n return {\n category: type === \"backward\" ? \"backward\" : \"forward\",\n id: Number(params.id),\n type: params.type,\n src: conditions(ConditionName.streamLink) || params.id,\n provider: params.provider,\n };\n};\n\nexport const fullscreenLog = (category: string) => {\n const { params, details } = store.getState().videoData;\n return {\n category: category,\n id: Number(params.id),\n type: params.type,\n src: conditions(ConditionName.streamLink) || params.id,\n };\n};\n\nexport const brightnessLog = (source: number, target: number) => {\n const { params, details } = store.getState().videoData;\n return {\n category: \"brightnessChange\",\n source: source,\n target: target,\n id: Number(params.id),\n type: params.type,\n src: conditions(ConditionName.streamLink) || params.id,\n };\n};\n\nexport const volumeLog = (source: number, target: number) => {\n const { params, details } = store.getState().videoData;\n return {\n category: \"volumeChange\",\n source: source,\n target: target,\n id: Number(params.id),\n type: params.type,\n src: conditions(ConditionName.streamLink) || params.id,\n };\n};\n\nexport const lockLog = (category: string) => {\n const { params, details } = store.getState().videoData;\n return {\n category: category,\n id: Number(params.id),\n type: params.type,\n src: conditions(ConditionName.streamLink) || params.id,\n };\n};\n\nexport const ExceptionsLog = (type: string, message: string, statusCode?: number, url?: string) => {\n return {\n category: \"player-error\",\n type,\n message,\n statusCode,\n url,\n };\n};\n\nexport const videoTimelineLog = (start: number, end: number) => {\n const { params, details } = store.getState().videoData;\n const { duration } = store.getState().controller;\n return {\n category: \"video-timeline\",\n video_id: +params.id!,\n video_type: params.type,\n start: start,\n end: end,\n watchedDuration: end - start,\n video_duration: Math.floor(duration),\n clientUUID: getUUID(),\n user_id: details.user_id,\n content_type: details.content_type,\n content_id: details.content_id,\n };\n};\n\nexport const autoQualityChangeLog = (sourceQuality: String, targetQuality: String, diffQuality: number) => {\n const { params, details } = store.getState().videoData;\n return {\n category: \"autoQualityChange\",\n sourceQuality: sourceQuality,\n targetQuality: targetQuality,\n diffQuality: diffQuality,\n id: Number(params.id),\n type: params.type,\n src: conditions(ConditionName.streamLink) || params.id,\n provider: params.provider,\n };\n};\n\nexport const pingpongLog = (startTimer: number, qualityHistory: number[]) => {\n const { params, details } = store.getState().videoData;\n return {\n category: \"pingpong\",\n id: Number(params.id),\n type: params.type,\n src: conditions(ConditionName.streamLink) || params.id,\n PingPongDuration: Number((new Date().getTime() - startTimer).toFixed(2)),\n PingPongSourceQuality: `${qualityHistory[0]}P`, // A A->B && B->A\n PingPongTargetQuality: `${qualityHistory[1]}P`, // B,\n provider: params.provider,\n };\n};\n\nexport const pausePlayLog = (isPlay: boolean) => {\n const { params, details } = store.getState().videoData;\n return {\n category: isPlay ? \"playVideo\" : \"pauseVideo\",\n id: Number(params.id),\n type: params.type,\n src: conditions(ConditionName.streamLink) || params.id,\n provider: params.provider,\n };\n};\n\nexport const initLog = (loadingTime: number, waitingTime: number, bannerLoadingTime: number, firstChunkPlayingTime: number, timerRef: any) => {\n const { params, details } = store.getState().videoData;\n const totalTime = Date.now() - timerRef.current + loadingTime + waitingTime;\n const memory = (window.performance as any).memory;\n const timing = JSON.parse(JSON.stringify((window.performance as any).timing));\n return {\n category: \"initLog\",\n id: Number(params.id),\n type: params.type,\n origin: new URL(conditions(ConditionName.streamLink) || params.id!).origin,\n src: conditions(ConditionName.streamLink) || params.id,\n loading: loadingTime,\n bannerLoading: !conditions(ConditionName.hasBanner) || bannerLoadingTime < 0 ? 0 : bannerLoadingTime,\n waiting: waitingTime,\n firstChunkPlaying: firstChunkPlayingTime < 0 ? 0 : firstChunkPlayingTime,\n totalTime: totalTime,\n provider: params.provider,\n performance: flattenObject({ memory, timing }, \"performance\"),\n userAgent: window.navigator.userAgent,\n };\n};\n\nexport const loadingLog = (waitingDuration: number, qualityLevel: number, timerRef: any, loadingCounterRef: any, videoEntranceTime: number) => {\n const { params, details } = store.getState().videoData;\n const { settings } = store.getState().user;\n const previousLoaderDiff = Date.now() - timerRef.current;\n return {\n category: \"loading\",\n id: Number(params.id),\n type: params.type,\n src: conditions(ConditionName.streamLink) || params.id,\n duration: waitingDuration,\n quality: `${qualityLevel}P`,\n isAutoQuality: conditions(ConditionName.isAutoQuality),\n previousLoaderDiff: previousLoaderDiff,\n counter: loadingCounterRef.current,\n loadingPercentile: Number((waitingDuration / previousLoaderDiff).toFixed(2)),\n videoTime: mainPlayerVideoTag().currentTime,\n videoEntranceTime: videoEntranceTime,\n speed: settings.speed,\n provider: params.provider,\n };\n};\n\nexport const subtitleLog = (language: string) => {\n const { params, details } = store.getState().videoData;\n return {\n category: \"subtitle\",\n language: language,\n id: Number(params.id),\n type: params.type,\n src: conditions(ConditionName.streamLink) || params.id,\n };\n};\n\nexport const eventMarkerClickLog = (markerId: Number, markerTime: Number, markerTitle: String, markerDescription: String, markerSticker: String) => {\n const { params, details } = store.getState().videoData;\n return {\n category: \"eventMarkerClick\",\n video_id: Number(params.id),\n markerId: markerId,\n markerTime: markerTime,\n markerTitle: markerTitle,\n markerDescription: markerDescription,\n markerSticker: markerSticker,\n type: params.type,\n src: conditions(ConditionName.streamLink) || params.id,\n provider: params.provider,\n };\n};\n","import store from \"./redux/store\";\n\nexport const mainPlayerVideoTag = () => document.getElementById(\"player-tag\") as HTMLVideoElement;\nexport const miniPlayerVideoTag = () => document.getElementById(\"mini-player-video-tag\") as HTMLVideoElement;\n\nexport const playerControllbar = () => document.getElementById(\"player-controllbar\") as any;\n\nexport const progressBar = () => document.getElementById(\"time-progress-bar\") as any;\nexport const progressArea = () => document.getElementById(\"progress-area\") as any;\nexport const progressContainer = () => document.getElementById(\"time-progress-container\") as any;\n\nexport const progressBarWidth = () => store.getState().videoData.videoElementSizeInfo.width;\n\nexport const progressTrack = () => document.getElementById(\"time-progress-area\") as any;\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict';var chunkIBV5SFIT_js=require('./chunk-IBV5SFIT.js'),chunkZSSCZTW3_js=require('./chunk-ZSSCZTW3.js'),chunkOGCKLRYP_js=require('./chunk-OGCKLRYP.js'),chunkAK5TFAW3_js=require('./chunk-AK5TFAW3.js'),chunkCOYFW7R4_js=require('./chunk-COYFW7R4.js'),chunkBFE2RKVK_js=require('./chunk-BFE2RKVK.js'),chunkU3VFRU6R_js=require('./chunk-U3VFRU6R.js'),chunkAN6JAJSI_js=require('./chunk-AN6JAJSI.js'),react=require('react'),reactRedux=require('react-redux'),pe=require('next/image'),jsxRuntime=require('react/jsx-runtime'),reactDom=require('react-dom'),Lo=require('next/dynamic');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var pe__default=/*#__PURE__*/_interopDefault(pe);var Lo__default=/*#__PURE__*/_interopDefault(Lo);chunkAN6JAJSI_js.e();chunkAN6JAJSI_js.e();chunkAN6JAJSI_js.e();var Ro=()=>jsxRuntime.jsxs("div",{className:`pl-relative animate__animated animate__faster ${chunkU3VFRU6R_js.t("isActiveElements")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,children:[jsxRuntime.jsx(pe__default.default,{src:chunkCOYFW7R4_js.a.lock,alt:"lock-icon",width:20,height:20,onClick:()=>chunkU3VFRU6R_js.aa("unlock")}),!localStorage.getItem("unlock-click")&&jsxRuntime.jsx("p",{className:"pl-text-[10px] pl-text-black/[0.87] pl-bg-[#F7F7F7] pl-absolute pl-left-0 pl-px-4 pl-py-3 pl-rounded-[8px] pl-w-max",children:"\u0628\u0631\u0627\u06CC \u0628\u0627\u0632 \u06A9\u0631\u062F\u0646 \u0642\u0641\u0644\u060C \u06A9\u0644\u06CC\u06A9 \u06A9\u0646\u06CC\u062F"})]}),Dt=Ro;var Uo=()=>{let{firstPlay:t}=chunkAN6JAJSI_js.A(({controller:{lock:l,activeElements:o,firstPlay:i}})=>({lock:l,activeElements:o,firstPlay:i}),reactRedux.shallowEqual);return jsxRuntime.jsx("div",{className:chunkU3VFRU6R_js.ea(`pl-duration-300 pl-transition-[opacity] ${t?"pl-opacity-0":"pl-opacity-100"}`,{desktop:"pl-rounded-t-[12px] pl-pt-8 pl-h-[45.5px]",touch:"pl-h-[16px]"}),children:jsxRuntime.jsx("div",{className:" pl-mx-8 pl-flex pl-items-start pl-justify-end pl-h-full",children:chunkU3VFRU6R_js.t("isLock")&&jsxRuntime.jsx(Dt,{})})})},_t=Uo;chunkAN6JAJSI_js.e();var Wo=()=>{let{firstPlay:t,autoplay:l,play:o,isLoading:i}=chunkAN6JAJSI_js.A(({controller:{lock:a,firstPlay:h,play:v,activeElements:f,isLoading:n},videoData:{params:{autoplay:w}}})=>({lock:a,firstPlay:h,autoplay:w,play:v,activeElements:f,isLoading:n}),reactRedux.shallowEqual),[r,p]=react.useState(true),[s,d]=react.useState(!l);return react.useEffect(()=>{if(t||chunkU3VFRU6R_js.t("isTouchScreen"))return;let a=null;return d(true),a=setTimeout(()=>d(false),1e3),()=>{a&&clearTimeout(a);}},[o,t]),react.useEffect(()=>{let a;return i?a=setTimeout(()=>p(true),chunkAK5TFAW3_js.b):p(false),()=>{clearTimeout(a);}},[i,t]),jsxRuntime.jsx("main",{className:`pl-flex-1 pl-flex pl-flex-col ${chunkU3VFRU6R_js.ha()?"pl-absolute pl-inset-0":""}`,children:r?jsxRuntime.jsx(chunkZSSCZTW3_js.a,{}):jsxRuntime.jsx(jsxRuntime.Fragment,{children:!chunkU3VFRU6R_js.t("isLock")&&jsxRuntime.jsx("div",{id:"main-content",className:`pl-h-full pl-flex-1 pl-flex pl-justify-center pl-items-center pl-text-center ${chunkU3VFRU6R_js.t("isActiveElements")?"pl-pointer-events-auto":"pl-pointer-events-none"}`,children:chunkU3VFRU6R_js.t("isTouchScreen")?jsxRuntime.jsxs("div",{className:"pl-flex pl-justify-center pl-gap-8 pl-items-center pl-w-max",style:{zIndex:2},children:[!t&&jsxRuntime.jsx("div",{onClick:a=>{a.stopPropagation(),chunkU3VFRU6R_js.Z("touchForward",10,a);},className:`pl-flex pl-transition-all pl-duration-300 pl-ease-in-out pl-items-center pl-justify-center pl-rounded-full ${chunkU3VFRU6R_js.t("isFullScreen")?"pl-size-[56px]":"pl-size-[40px]"} pl-bg-black/75 ${chunkU3VFRU6R_js.t("isActiveElements")?"pl-opacity-100":"pl-opacity-0"}`,children:jsxRuntime.jsx(pe__default.default,{src:chunkCOYFW7R4_js.a.forward2,alt:"",className:"!pl-cursor-pointer",width:chunkU3VFRU6R_js.t("isFullScreen")?28:16,height:chunkU3VFRU6R_js.t("isFullScreen")?28:16})}),jsxRuntime.jsx(chunkZSSCZTW3_js.b,{normalStyle:true,disableScale:true,disableTooltip:true,className:`pl-flex pl-transition-all pl-duration-300 pl-ease-in-out pl-items-center pl-justify-center pl-rounded-full ${chunkU3VFRU6R_js.t("isFullScreen")?"pl-size-[68px]":"pl-size-[48px]"} pl-bg-black/75 ${chunkU3VFRU6R_js.t("isActiveElements")?"pl-opacity-100":"pl-opacity-0"}`,width:chunkU3VFRU6R_js.t("isFullScreen")?36:24,height:chunkU3VFRU6R_js.t("isFullScreen")?36:24}),!t&&jsxRuntime.jsx("div",{onClick:a=>{a.stopPropagation(),chunkU3VFRU6R_js.Z("touchBackward",10,a);},className:`pl-flex pl-transition-all pl-duration-300 pl-ease-in-out pl-items-center pl-justify-center pl-rounded-full ${chunkU3VFRU6R_js.t("isFullScreen")?"pl-size-[56px]":"pl-size-[40px]"} pl-bg-black/75 ${chunkU3VFRU6R_js.t("isActiveElements")?"pl-opacity-100":"pl-opacity-0"}`,children:jsxRuntime.jsx(pe__default.default,{src:chunkCOYFW7R4_js.a.backward2,alt:"",className:"!pl-cursor-pointer",width:chunkU3VFRU6R_js.t("isFullScreen")?28:16,height:chunkU3VFRU6R_js.t("isFullScreen")?28:16})})]}):jsxRuntime.jsx("div",{className:"pl-flex pl-justify-center pl-gap-8 pl-items-center pl-w-max",style:{zIndex:2},children:jsxRuntime.jsx(chunkZSSCZTW3_js.b,{normalStyle:true,disableScale:true,disableTooltip:true,inverse:!t,width:chunkU3VFRU6R_js.t("isFullScreen")?81:48,height:chunkU3VFRU6R_js.t("isFullScreen")?81:48,className:`pl-flex pl-transition-all pl-duration-300 pl-ease-in-out pl-items-center pl-justify-center pl-rounded-full ${chunkU3VFRU6R_js.t("isFullScreen")?"pl-size-[122px]":"pl-size-[72px]"} pl-bg-black/75 ${s?"pl-opacity-100":"pl-opacity-0 pl-scale-0"} ${t?"!pl-cursor-pointer":"!pl-cursor-default"}`})})})})})},Vt=Wo;chunkAN6JAJSI_js.e();chunkAN6JAJSI_js.e();chunkAN6JAJSI_js.e();chunkAN6JAJSI_js.e();var Yo=t=>{let{videoElementSizeInfo:l}=chunkU3VFRU6R_js.Aa.getState().videoData,o=t.clientX!==void 0?t.clientX:t.touches[0].clientX;if(o<=l.right&&o>0)return o-l.left};var ce=t=>{t&&(t.style.opacity="0.0",t.style.pointerEvents="none",t.style.zIndex=-2,Ee());},Jo=t=>{t.style.display="block",t.style.zIndex=4,t.style.opacity=chunkU3VFRU6R_js.Aa.getState().videoData.details.vtt?"1.0":"0.6",t.style.pointerEvents="auto",t.style.transition="opacity 1s ease-out";},Ko=(t,l,o)=>{l&&Jo(l);let i=chunkU3VFRU6R_js.A()?.offsetLeft||0,r=i?0:16,p=Yo(t)-i,s=l.offsetWidth,d=l.parentElement.offsetWidth,a=Math.min(Math.max(p-s/2,0+r),d-s-r);l.style.left=`${a}px`,chunkU3VFRU6R_js.Aa.dispatch(chunkAN6JAJSI_js.v(Number(me(t)))),o.textContent=`${chunkU3VFRU6R_js.ia(me(t))}`;},ue=(t,l=false)=>{let{videoElementSizeInfo:o}=chunkU3VFRU6R_js.Aa.getState().videoData,i=document.querySelector(".pl-progressTooltip"),r=document.querySelector(".pl-progressTimeTooltip"),p=t.clientX!==void 0?t.clientX:t.touches[0].clientX;i&&r&&p<=o.right&&p>o.left?(Ko(t,i,r),l&&setTimeout(()=>ce(i),2e3)):ce(i);},me=t=>{let l=chunkU3VFRU6R_js.C(),{duration:o}=chunkU3VFRU6R_js.Aa.getState().controller;if(!l||!o)return 0;let i=t.clientX!==void 0?t.clientX:t.touches?.[0]?.clientX,r=l.getBoundingClientRect();return Math.max(0,Math.min(i-r.left,r.width))/r.width*o},qt=t=>{let{duration:l}=chunkU3VFRU6R_js.Aa.getState().controller,o=chunkU3VFRU6R_js.z(),i=me(t);o.style.width=`${i/l*100}%`;},Rt=(t,l,o)=>{t.preventDefault(),t.stopPropagation(),o(true);let i=chunkU3VFRU6R_js.Aa.dispatch,r=t.clientX!==void 0?t.clientX:t.touches[0].clientX;if(r<=t.view.innerWidth&&r>0){i(chunkAN6JAJSI_js.p(true)),i(chunkAN6JAJSI_js.q(true));let p=me(t);sessionStorage.setItem("previousVideoTime",String(p)),chunkU3VFRU6R_js.C()?.setPointerCapture(t.pointerId),l.length>0&&l.map(s=>clearTimeout(s));}},Ee=t=>{},Ze=t=>{t.preventDefault(),t.stopPropagation();let l=chunkU3VFRU6R_js.Aa.dispatch,{activePointerProgressBar:o}=chunkU3VFRU6R_js.Aa.getState().controller,{left:i}=chunkU3VFRU6R_js.Aa.getState().videoData.videoElementSizeInfo,r=t.clientX!==void 0?t.clientX:t.touches[0].clientX,p=document.querySelector(".pl-progressTooltip");r>i?(p&&(p.style.display="block !important",p.style.pointerEvents="auto"),o&&(l(chunkAN6JAJSI_js.q(true)),ue(t),qt(t),chunkU3VFRU6R_js.x()?.pause())):p&&(p.style.display="none !important",p.style.pointerEvents="none");},Xt=(t,l,o,i)=>{i(false),t.preventDefault(),t.stopPropagation();let r=chunkU3VFRU6R_js.Aa.dispatch,{duration:p}=chunkU3VFRU6R_js.Aa.getState().controller,{left:s,right:d}=chunkU3VFRU6R_js.Aa.getState().videoData.videoElementSizeInfo,a=chunkU3VFRU6R_js.Aa.getState().videoData.params;t.target.removeEventListener("pointermove",Ze);let h=t.clientX!==void 0?t.clientX:t.touches[0].clientX,v=0;h>s&&h<d?v=me(t):h<s?v=0:h>0&&(v=p),chunkU3VFRU6R_js.t("isStaticFormat")||chunkU3VFRU6R_js.ba(chunkU3VFRU6R_js.x().currentTime,v),chunkU3VFRU6R_js.x().currentTime=v,chunkU3VFRU6R_js.t("hasOnChangeCurrentTime")&&a.onChangeCurrentTime(v),chunkU3VFRU6R_js.Aa.getState().controller.activePointerProgressBar&&(r(chunkAN6JAJSI_js.p(false)),r(chunkAN6JAJSI_js.q(false)),chunkU3VFRU6R_js.x().play(),ue(t,true),sessionStorage.setItem("current-time",String(v)),qt(t),el(t,r,l,o));},el=(t,l,o,i)=>{let r=i,p=setTimeout(()=>{let{settingPopover:s}=chunkU3VFRU6R_js.Aa.getState().popovers,{delayTurnOffControlbar:d}=chunkU3VFRU6R_js.Aa.getState().controller;t.pointerType==="touch"&&!s&&d&&l(chunkAN6JAJSI_js.k(false));},chunkAK5TFAW3_js.a);r.push(p),o(r);},jt=()=>{let t=Date.now();chunkU3VFRU6R_js.x().play().then(()=>chunkU3VFRU6R_js.w(chunkU3VFRU6R_js.F(Date.now()-t)));},Ut=t=>ue(t),Qt=()=>{let t=document.querySelector(".pl-progressTooltip");ce(t);},tl=t=>{let l=t?.split("."),i=l[0]?.split(":");return {milliseconds:parseInt(l[1],10)||0,seconds:parseInt(i.pop(),10)||0,minutes:parseInt(i.pop(),10)||0,hours:parseInt(i.pop(),10)||0}},Ht=t=>{let l=tl(t);return parseInt(l.hours*3600+l.minutes*60+l.seconds+l.milliseconds/1e3,10)},ol=t=>{let l=t?.split(/#xywh=/i),o=l[0],r=l[1].match(/[0-9]+/gi);return {x:r[0],y:r[1],w:r[2],h:r[3],image:o}},ll=(t,l)=>t.indexOf("//")>=0?t:l.indexOf("//")===0?[l.replace(/\/$/gi,""),t.trim()].join("/"):l.indexOf("//")>0?[l.trim(),t.trim()].join("/"):t,il=(t,l)=>{let o={},i=l?.split(/\/\w+\.vtt\s?/)[0];if(t=ll(t,i),!t.match(/#xywh=/i))return o.background='url("'+t+l?.split(/\/\w+\.vtt\s?/)[1]+'")',o;let r=ol(t);return o.background='url("'+r.image+l?.split(/\/\w+\.vtt\s?/)[1]+'") no-repeat -'+r.x+"px -"+r.y+"px",o.width=r.w+"px",o.height=r.h+"px",o.url=r.image,o},Wt=(t,l)=>{fetch(t).then(o=>{if(!o.ok)throw chunkU3VFRU6R_js.Aa.dispatch(chunkU3VFRU6R_js.a({...chunkU3VFRU6R_js.Aa.getState().videoData.details,vtt:void 0,vtt_mobile:void 0})),new Error("Network response was not ok");return o.text()}).then(o=>{let i=[];(o?.split(/[\r\n][\r\n]/i)).forEach(p=>{if(p.match(/([0-9]{2}:)?([0-9]{2}:)?[0-9]{2}(.[0-9]{3})?( ?--> ?)([0-9]{2}:)?([0-9]{2}:)?[0-9]{2}(.[0-9]{3}).*/gi)){let s=p?.split(/[\r\n]/i),a=s[0]?.split(/ ?--> ?/i),h=a[0],v=a[1],f=s[1],n=il(f,t);i.push({start:Ht(h),end:Ht(v),css:n});}}),l(i);}).catch(o=>{console.error("Error fetching file:",o);});},Zt=(t,l,o)=>{for(let i=0;i<l.length;++i){let r=l[i];if(t>=r.start&&t<r.end){if(r.css.url&&!o[r.css.url]){let p={background:r.css.background,width:r.css.width,height:r.css.height};return o[r.css.url]=p,p}else if(r.css.url)return o[r.css.url]}}};var rl=()=>{let{details:t}=chunkAN6JAJSI_js.A(({videoData:{details:d}})=>({details:d}),reactRedux.shallowEqual),{tooltipTime:l}=chunkAN6JAJSI_js.A(({controller:{tooltipTime:d,activeElements:a,isFullScreen:h}})=>({tooltipTime:d,activeElements:a,isFullScreen:h}),reactRedux.shallowEqual),o={},[i,r]=react.useState(void 0),[p,s]=react.useState(chunkU3VFRU6R_js.t("isTouchScreen")?t.vtt_mobile:t.vtt);if(react.useEffect(()=>{s(t.vtt_mobile);},[t.vtt_mobile]),react.useEffect(()=>{p&&Wt(t.vtt_mobile,r);},[p]),chunkU3VFRU6R_js.t("isActiveElements"))return jsxRuntime.jsxs("div",{className:"pl-flex pl-flex-col pl-items-center pl-justify-center pl-progressTooltip pl-absolute pl-bottom-[calc(100%+10px)] pl-text-white pl-text-[14px] pl-rounded-[6px] pl-opacity-0",children:[p&&!!i&&jsxRuntime.jsx("div",{className:chunkU3VFRU6R_js.ea("pl-flex-1 pl-border-[1.5px] pl-border-white pl-overflow-hidden pl-relative pl-rounded-[12px]",{desktopFullScreen:"pl-h-[164px] pl-w-[291px] pl-mb-1.5",desktop:"pl-h-[93px] pl-w-[165px] pl-mb-1",touch:"pl-h-[70px] pl-w-[135px] pl-mb-1",touchFullScreen:"pl-h-[137px] pl-w-[244px]"}),children:jsxRuntime.jsx("div",{style:Zt(l,i,o),className:chunkU3VFRU6R_js.ea("pl-absolute pl-inset-0 pl-top-1/2 pl-left-1/2 -pl-translate-x-1/2 -pl-translate-y-1/2 ",{desktop:"pl-scale-[170%]",touch:"pl-scale-[130%]",desktopFullScreen:"pl-scale-[290%]",touchFullScreen:"pl-scale-[250%]"})})}),jsxRuntime.jsx("div",{className:chunkU3VFRU6R_js.ea("pl-flex pl-items-center pl-mx-auto pl-w-fit pl-bg-black/75 pl-rounded-[24px] pl-justify-center pl-progressTimeTooltip pl-text-white !pl-opacity-100 ",{desktop:"pl-text-[12px] pl-py-1 pl-px-2 pl-font-bold",desktopFullScreen:"pl-text-base pl-py-1.5 pl-px-3",touchFullScreen:"pl-text-base pl-py-1.5 pl-px-3",touch:"pl-text-[12px] pl-py-1 pl-px-2"})})]})},Kt=react.memo(rl);chunkAN6JAJSI_js.e();chunkAN6JAJSI_js.e();var al=(t,l)=>{react.useEffect(()=>{let o=i=>{!t.current||t.current.contains(i.target)||l(i);};return document.addEventListener("mousedown",o),document.addEventListener("touchstart",o),()=>{document.removeEventListener("mousedown",o),document.removeEventListener("touchstart",o);}},[t,l]);},R=al;chunkAN6JAJSI_js.e();var cl=({name:t,className:l,dataMarker:o})=>jsxRuntime.jsx("img",{"data-marker":o,src:`${chunkU3VFRU6R_js.u()}/${t}.png`,alt:t,className:l}),Ye=cl;var fl=()=>{chunkAN6JAJSI_js.z();let {duration:l,activeElements:o}=chunkAN6JAJSI_js.A(({controller:{duration:c,activeElements:x,isFullScreen:F}})=>({duration:c,activeElements:x,isFullScreen:F}),reactRedux.shallowEqual),{markers:i}=chunkAN6JAJSI_js.A(({videoData:{markers:c,videoElementSizeInfo:x}})=>({markers:c,videoElementSizeInfo:x}),reactRedux.shallowEqual),[r,p]=react.useState(void 0),[s,d]=react.useState([]),[a,h]=react.useState({}),[v,f]=react.useState(false),n=c=>l?chunkU3VFRU6R_js.B()*c/l:0,w=(c,x,F,P,D,G,H,K)=>{c.stopPropagation();let Se=24*x/(chunkU3VFRU6R_js.B()+5),Y=[],O=0;K.map(be=>{be.time>x-Se&&be.time<x+Se&&(Y.push(be),O+=be.time);}),Y.length>1?d(Y):(Y=[],d([]),I(c,x,F,P,D,G,H));},I=(c,x,F,P,D,G,H)=>{c.stopPropagation(),ue(c,H),chunkU3VFRU6R_js.ba(chunkU3VFRU6R_js.x().currentTime,x),chunkU3VFRU6R_js.x().currentTime=x,chunkU3VFRU6R_js.z()&&(chunkU3VFRU6R_js.z().style.width=n(x)),chunkU3VFRU6R_js.w(chunkU3VFRU6R_js.O(F,x,P,D,G));};react.useEffect(()=>{chunkU3VFRU6R_js.t("isActiveElements")||d([]);},[o]);let M=react.useRef(null);R(M,()=>d([])),react.useEffect(()=>{if(s.length>0){let c=chunkU3VFRU6R_js.va(document.getElementsByClassName("pl-overlapMarkers")[0]);if(c==="inViewport")return f(true),h({left:n(s[0].time)});if(c==="OutViewPortFromLeft")return f(false),h({left:0});if(c==="OutViewPortFromRight")return f(false),h({right:0})}},[s,document.getElementsByClassName("pl-overlapMarkers")[0]]);let C=c=>{c.preventDefault(),chunkU3VFRU6R_js.t("isTouchScreen")&&p(Number(c.target.getAttribute("data-marker")));};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[i.map(c=>jsxRuntime.jsx("div",{onContextMenu:C,"data-marker":c.time,onClick:x=>w(x,c.time,c.id,c.title,c.description,c.sticker,true,i),onDoubleClick:x=>x.stopPropagation(),children:jsxRuntime.jsxs("div",{className:`pl-emoji-image pl-absolute pl-bottom-[200%] pl-bg-z-gray-700/[0.4] pl-rounded-[6px] pl-p-1 ${chunkU3VFRU6R_js.t("isTouchScreenPortrait"),"pl-mb-5"} pl-ml-[-12px] pl-cursor-pointer`,style:{left:n(c.time),zIndex:5},"data-marker":c.time,children:[c.isPersonal!==null&&c.isPersonal!==void 0&&jsxRuntime.jsx("div",{className:"pl-absolute pl-rounded-full pl-top-[-2px] pl-right-[-1px] pl-bg-main pl-w-2 pl-h-2"}),jsxRuntime.jsx(Ye,{dataMarker:c.time,name:c.sticker,className:"pl-w-[16px] pl-h-[16px] !pl-max-w-max"})]})},c.id)),s.length>0&&jsxRuntime.jsx("div",{className:`pl-overlapMarkers ${v?"pl-overlayMarkersInViewport":"pl-overlayMarkersOutViewport"} pl-absolute pl-bottom-[45px] pl-px-1 pl-py-2 pl-flex pl-gap-3 pl-flex-row-reverse pl-justify-end pl-bg-z-gray-700/[0.4] pl-rounded-[6px] pl-ml-[-10px] animate__animated animate__fadeInUp pl-opacity-100`,ref:M,style:a,children:s.map(c=>jsxRuntime.jsx("div",{className:"pl-emoji-image pl-rounded-[6px] pl-cursor-pointer","data-marker":c.time,onClick:x=>I(x,c.time,c.id,c.title,c.description,c.sticker,true),onDoubleClick:x=>x.stopPropagation(),children:jsxRuntime.jsx(Ye,{dataMarker:c.time,name:c.sticker,className:"pl-w-[24px] pl-h-[24px] !pl-max-w-max"})},c.id))})]})},lo=react.memo(fl);var vl=()=>{let[t,l]=react.useState(false),[o,i]=react.useState([]);react.useEffect(()=>{ce(document.querySelector(".progressTooltip"));},[]);let{duration:r,currentTime:p,bufferedTimeWidth:s}=chunkAN6JAJSI_js.A(({controller:{duration:d,currentTime:a,bufferedTimeWidth:h,isFullScreen:v}})=>({duration:d,currentTime:a,bufferedTimeWidth:h,isFullScreen:v}),reactRedux.shallowEqual);return chunkAN6JAJSI_js.A(({videoData:{params:d,videoElementSizeInfo:a}})=>({params:d,videoElementSizeInfo:a}),reactRedux.shallowEqual),jsxRuntime.jsxs("div",{id:"time-progress-container",className:chunkU3VFRU6R_js.ea(`pl-relative ${chunkU3VFRU6R_js.t("isTouchScreenPortrait")?"pl-order-1":"pl-order-none"}`,{desktop:"pl-px-4"}),children:[jsxRuntime.jsxs("div",{className:"pl-relative",children:[jsxRuntime.jsx(Kt,{}),jsxRuntime.jsx(lo,{})]}),jsxRuntime.jsx("div",{className:"pl-flex pl-items-end",onPointerDown:d=>Rt(d,o,l),onPointerMove:Ze,onPointerUp:d=>Xt(d,i,o,l),onMouseMove:Ut,onMouseOut:Qt,onClick:jt,children:jsxRuntime.jsx("div",{id:"progress-area",className:chunkU3VFRU6R_js.ea("pl-w-full"),children:jsxRuntime.jsxs("div",{id:"time-progress-area",className:chunkU3VFRU6R_js.ea("!pl-w-full pl-relative pl-transition-transform pl-duration-300 pl-m-auto pl-cursor-pointer !pl-bg-[#4A4A4A] ",{desktop:"pl-h-[3px] pl-rounded-[8px]",desktopFullScreen:"!pl-h-[6px]",touch:"pl-h-[3px]",touchFullScreen:""}),children:[jsxRuntime.jsx("div",{style:{width:`${s}%`},id:"time-progress-buffer",className:chunkU3VFRU6R_js.ea("pl-absolute pl-bg-[#C7C7C7] ",{desktop:"pl-h-[3px] pl-rounded-[8px]",desktopFullScreen:"!pl-h-[6px]",touch:"pl-h-[3px]",touchFullScreen:""})}),jsxRuntime.jsx("div",{style:{width:p===r?"0%":`${p/r*100}%`},id:"time-progress-bar",className:chunkU3VFRU6R_js.ea("pl-relative pl-cursor-pointer pl-bg-[#FF0033] before:pl-bg-[#FF0033] before:pl-inline-block",{desktop:`pl-h-[3px] before:pl-size-[9px] pl-rounded-[8px] ${t&&"before:pl-size-[11px]"}`,desktopFullScreen:`!pl-h-[6px] before:!pl-size-[20px] ${t&&"before:!pl-size-[22px]"}`,touch:"pl-h-[3px] before:pl-size-[8px]",touchFullScreen:"before:!pl-size-[9px]"})})]})})})]})},ro=vl;chunkAN6JAJSI_js.e();chunkAN6JAJSI_js.e();chunkAN6JAJSI_js.e();var no=react.forwardRef(({children:t,status:l,onClose:o,type:i,classNames:r,parentClassNames:p,styles:s,isBlurBackground:d,isFullHeight:a=false,isFullScreen:h,isHeader:v,isHasCatchUpLineOnTop:f=false,animation:n,scrollbar:w=false,isFocusOnInput:I=false},M)=>{let[C,c]=react.useState(l),[x,F]=react.useState(0),[P,D]=react.useState(0),[G,H]=react.useState(0),{videoElementSizeInfo:K}=chunkAN6JAJSI_js.A(({videoData:{videoElementSizeInfo:O}})=>({videoElementSizeInfo:O}),reactRedux.shallowEqual);react.useEffect(()=>{let O;return l?c(true):O=setTimeout(()=>{o(false),D(0),c(false);},500),()=>clearTimeout(O)},[l]);let rt=O=>{O.touches[0].clientY>=K.top?D(window.innerHeight-O.touches[0].clientY):D(window.innerHeight-K.top),H(1005);},Se=()=>{P!==0&&(P>x?P-x>(window.innerHeight-K.top-x)/2?(D(window.innerHeight-K.top),H(1005)):(D(0),setTimeout(()=>H(0),500)):(P>x/2?D(x):(D(0),F(0),o()),H(0)));},Y=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[d&&jsxRuntime.jsx("div",{className:`pl-bg-black/[0.5] pl-w-screen pl-h-screen pl-fixed pl-top-0 pl-right-0 animate__animated animate__faster ${l?"animate__fadeIn":"animate__fadeOut"}`,style:{zIndex:1001,backdropFilter:"blur(4px)"}}),jsxRuntime.jsx("div",{className:`${i==="modal"&&"pl-fixed pl-top-0 pl-left-0 pl-flex pl-w-full pl-h-full pl-justify-center pl-items-end sm:pl-items-center"} ${p}`,style:{zIndex:a&&!I?G:1004},children:jsxRuntime.jsx("div",{className:`pl-flex pl-flex-col pl-rounded-[8px] animate__animated animate__faster pl-bg-white/[0.9] dark:pl-bg-black/[0.7]
|
|
2
|
+
${a&&"pl-h-full"}
|
|
3
|
+
${n||(window.innerWidth>768&&i==="modal"?l?"animate__fadeIn":"animate__fadeOut":l?"animate__fadeInUp":"animate__fadeOutDown")}
|
|
4
|
+
before:pl-hidden
|
|
5
|
+
${i!=="modal"&&`pl-absolute ${chunkU3VFRU6R_js.ea("",{desktop:"pl-bottom-[20px]",desktopFullScreen:"pl-bottom-[60px]"})} pl-overflow-auto no-scrollbar`}
|
|
6
|
+
${r}
|
|
7
|
+
`,style:{maxHeight:h?"unset":P||x||"",zIndex:1004,...s},ref:M,id:"popover-content",children:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[v&&jsxRuntime.jsx("div",{onTouchMove:f?rt:()=>{},onTouchEndCapture:f?Se:()=>{},className:"pl-py-4",children:f&&jsxRuntime.jsx("div",{className:"pl-absolute pl-top-[10px] pl-right-[50%] pl-mr-[-25px] pl-text-center pl-w-8 pl-h-1 pl-rounded-[20px] pl-bg-gray-highLight"})}),jsxRuntime.jsx("div",{id:"popover-content",className:`pl-overflow-y-auto pl-h-full pl-w-full ${!w&&"no-scrollbar"}`,onTouchMove:O=>O.stopPropagation(),children:t})]})})})]});return jsxRuntime.jsx(jsxRuntime.Fragment,{children:C&&jsxRuntime.jsx(jsxRuntime.Fragment,{children:i==="modal"?reactDom.createPortal(jsxRuntime.jsx("div",{style:{fontFamily:"IRANSansXFaNum",direction:"rtl",overflowX:"hidden"},children:Y}),document.getElementById("dialog-react-root-videoPlayer")):jsxRuntime.jsx("div",{id:"player-popover",children:Y})})})});no.displayName="popover";var W=no;chunkAN6JAJSI_js.e();var kl=({setSection:t,showQualityLevelsIcon:l})=>{let o=chunkAN6JAJSI_js.z(),{qualityLevels:i}=chunkAN6JAJSI_js.A(({controller:{qualityLevels:n,manualQuality:w,autoQuality:I}})=>({qualityLevels:n,manualQuality:w,autoQuality:I}),reactRedux.shallowEqual),{settings:r}=chunkAN6JAJSI_js.A(({user:{settings:n}})=>({settings:n}),reactRedux.shallowEqual),{qualityLevelsPopover:p}=chunkAN6JAJSI_js.A(({popovers:{qualityLevelsPopover:n}})=>({qualityLevelsPopover:n}),reactRedux.shallowEqual),{videoElementSizeInfo:s}=chunkAN6JAJSI_js.A(({videoData:{params:n,videoElementSizeInfo:w}})=>({params:n,videoElementSizeInfo:w}),reactRedux.shallowEqual),[d,a]=react.useState(false);i=[-1,...i];let h=(n,w)=>chunkU3VFRU6R_js.t("isAutoQuality")&&w===-1?true:!chunkU3VFRU6R_js.t("isAutoQuality")&&r.quality===n,v=react.useRef(null);R(v,()=>o(chunkU3VFRU6R_js.q(false)));let f=jsxRuntime.jsx("div",{id:"qualityLevels",className:`animate__animated animate__fadeIn ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-pb-2":"pl-py-2"}`,children:jsxRuntime.jsxs("ul",{className:"pl-flex pl-flex-col pl-gap-1",children:[jsxRuntime.jsxs("li",{className:`pl-flex pl-items-center pl-border-b ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-border-b-[#D9D9D9]":"pl-border-b-[#4A4A4A]"} pl-ps-[24.2px] pl-leading-[28px] pl-text-[12px] pl-font-medium pl-relative pl-cursor-pointer pl-h-10`,onClick:()=>t&&t("main"),children:[jsxRuntime.jsx("div",{className:"pl-absolute pl-right-[10px] pl-top-1/2 -pl-translate-y-1/2 pl-flex pl-items-center pl-justify-center",children:jsxRuntime.jsx(pe__default.default,{src:chunkCOYFW7R4_js.a.chevronRight,className:chunkU3VFRU6R_js.t("isTouchScreen")?"pl-brightness-0":"",alt:"",width:16,height:16})}),jsxRuntime.jsx("span",{className:`pl-w-full pl-text-[12px] ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#212121]":"pl-text-white"} pl-pr-[10px]`,children:"\u06A9\u06CC\u0641\u06CC\u062A \u067E\u062E\u0634"})]}),jsxRuntime.jsx("div",{className:"pl-overflow-y-auto no-scrollbar",style:{maxHeight:chunkU3VFRU6R_js.t("isTouchScreenPortrait")?void 0:s.height-200-70},children:i.map((n,w)=>jsxRuntime.jsxs("li",{className:`pl-flex pl-items-center pl-ps-[24.2px] pl-leading-[28px] pl-text-[12px] pl-font-medium pl-relative pl-cursor-pointer pl-h-10 pl-transition-all ${chunkU3VFRU6R_js.t("isTouchScreen")?"":"hover:pl-bg-[#4A4A4A]"} ${h(w-1,n)&&"!pl-cursor-default"}`,onClick:()=>{h(w-1,n)||(chunkU3VFRU6R_js.w(chunkU3VFRU6R_js.E(n===-1?"auto":`${n}P`)),o(chunkU3VFRU6R_js.ya({...r,quality:n===-1?-1:w-1})),t&&t("main"));},children:[!!h(w-1,n)&&jsxRuntime.jsx("div",{className:"pl-absolute pl-right-[10px] pl-top-1/2 -pl-translate-y-1/2 pl-flex pl-items-center pl-justify-center",children:jsxRuntime.jsx(pe__default.default,{src:chunkCOYFW7R4_js.a.tick,alt:"",className:chunkU3VFRU6R_js.t("isTouchScreen")?"pl-brightness-0":"",width:20,height:20})}),jsxRuntime.jsx("span",{className:`pl-w-full pl-text-[12px] ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#212121]":"pl-text-white"} pl-pr-[10px]`,children:n===-1?jsxRuntime.jsxs("span",{children:[jsxRuntime.jsx("span",{children:"\u062E\u0648\u062F\u06A9\u0627\u0631 "}),jsxRuntime.jsx("span",{className:`pl-text-[10px] pl-font-normal ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#737373]":"pl-text-[#C7C7C7]"}`,children:"(\u0628\u0631 \u0627\u0633\u0627\u0633 \u0633\u0631\u0639\u062A \u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0634\u0645\u0627)"})]}):`${n}p`})]},w))})]})});return jsxRuntime.jsx(jsxRuntime.Fragment,{children:l?jsxRuntime.jsxs("div",{className:"pl-relative pl-flex pl-items-center",ref:v,children:[jsxRuntime.jsx(pe__default.default,{src:chunkCOYFW7R4_js.a.qualitySetting,alt:"speed-icon",width:20,height:20,onClick:()=>o(chunkU3VFRU6R_js.q(!p)),onMouseOver:()=>!chunkU3VFRU6R_js.t("isTouchScreen")&&!chunkU3VFRU6R_js.t("showQualityLevelsPopover")&&a(true),onMouseLeave:()=>!chunkU3VFRU6R_js.t("isTouchScreen")&&a(false),className:"pl-cursor-pointer"}),d&&jsxRuntime.jsx(chunkOGCKLRYP_js.a,{title:"\u06A9\u06CC\u0641\u06CC\u062A"}),jsxRuntime.jsx(W,{classNames:`!pl-p-0 pl-overflow-hidden !pl-bg-black/[75%] ${chunkU3VFRU6R_js.t("isTouchScreen")?"!pl-fixed !pl-bottom-0 !pl-rounded-t-[20px] pl-rounded-b-none":"pl-right-0 pl-mb-[33px] !pl-rounded-[12px] pl-w-[230px]"} ${chunkU3VFRU6R_js.t("isTouchScreenPortrait")&&"!pl-w-screen tablet:pl-max-w-[440px]"} ${chunkU3VFRU6R_js.t("isTouchScreenLandscape")&&"pl-w-full pl-max-w-[440px]"}`,status:p,onClose:()=>o(chunkU3VFRU6R_js.q(false)),type:chunkU3VFRU6R_js.t("isTouchScreen")?"modal":"popover",isBlurBackground:chunkU3VFRU6R_js.t("isTouchScreen"),ref:chunkU3VFRU6R_js.t("isTouchScreen")?v:void 0,isHeader:chunkU3VFRU6R_js.t("isTouchScreen"),customHeader:jsxRuntime.jsx(jsxRuntime.Fragment,{}),isHasCatchUpLineOnTop:chunkU3VFRU6R_js.t("isTouchScreen"),styles:{maxHeight:!chunkU3VFRU6R_js.t("isTouchScreenPortrait")&&s.height-(chunkU3VFRU6R_js.t("isTouchScreenLandscape")?120:75)},children:f})]}):jsxRuntime.jsx(jsxRuntime.Fragment,{children:f})})},ao=react.memo(kl);chunkAN6JAJSI_js.e();chunkAN6JAJSI_js.e();var Nl=({className:t,onClick:l,onMouseOver:o,onMouseLeave:i,width:r,height:p})=>jsxRuntime.jsx("svg",{width:"20",height:"20",fill:"none",onClick:l,viewBox:"0 0 20 20",className:t,onMouseOver:o,style:{width:r,height:p},onMouseLeave:i,xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M8.83613 12.7885C9.13211 13.0844 9.51329 13.2249 9.97967 13.21C10.4459 13.195 10.7881 13.0267 11.0061 12.7052L15.5284 6.15396L8.96113 10.6602C8.63433 10.8783 8.4578 11.2135 8.43155 11.6658C8.40544 12.1183 8.5403 12.4926 8.83613 12.7885ZM9.99967 3.75C10.7925 3.75 11.5352 3.85389 12.228 4.06167C12.9209 4.26944 13.59 4.58382 14.2353 5.00479L13.0605 5.76438C12.5862 5.51229 12.0945 5.32188 11.5855 5.19313C11.0763 5.06438 10.5477 5 9.99967 5C8.15245 5 6.57954 5.64931 5.28092 6.94792C3.98231 8.24653 3.33301 9.81944 3.33301 11.6667C3.33301 12.25 3.41287 12.8264 3.57259 13.3958C3.73231 13.9653 3.95801 14.5 4.24967 15H15.7497C16.0691 14.4722 16.3018 13.9236 16.4476 13.3542C16.5934 12.7847 16.6663 12.1944 16.6663 11.5833C16.6663 11.0833 16.6047 10.5772 16.4813 10.065C16.3579 9.55264 16.1674 9.06625 15.9099 8.60583L16.6695 7.43104C17.0809 8.10521 17.3894 8.77965 17.5951 9.45438C17.8006 10.1291 17.9077 10.8302 17.9163 11.5577C17.9248 12.312 17.8399 13.0249 17.6616 13.6963C17.4831 14.3678 17.2144 15.0246 16.8555 15.6667C16.7454 15.8472 16.5904 15.9896 16.3907 16.0938C16.1909 16.1979 15.9772 16.25 15.7497 16.25H4.24967C4.02745 16.25 3.8178 16.1966 3.62072 16.0898C3.42363 15.9828 3.26467 15.8311 3.14384 15.6346C2.82551 15.079 2.56912 14.4733 2.37467 13.8173C2.18023 13.1613 2.08301 12.4444 2.08301 11.6667C2.08301 10.5781 2.28954 9.55465 2.70259 8.59646C3.11565 7.63826 3.67947 6.79903 4.39405 6.07875C5.10877 5.35847 5.94898 4.79028 6.91467 4.37417C7.88051 3.95806 8.90884 3.75 9.99967 3.75Z",fill:"currentColor"})}),De=Nl;var Il=[.5,.75,1,1.25,1.5,1.75,2],Fl=({setSection:t,showSpeedIcon:l})=>{let o=chunkAN6JAJSI_js.z(),{videoElementSizeInfo:i,params:r}=chunkAN6JAJSI_js.A(({videoData:{videoElementSizeInfo:f,params:n}})=>({videoElementSizeInfo:f,params:n}),reactRedux.shallowEqual),{speedPopover:p}=chunkAN6JAJSI_js.A(({popovers:{speedPopover:f}})=>({speedPopover:f}),reactRedux.shallowEqual),{settings:s}=chunkAN6JAJSI_js.A(({user:{settings:f}})=>({settings:f}),reactRedux.shallowEqual),d=react.useRef(null),[a,h]=react.useState(false);R(d,()=>o(chunkU3VFRU6R_js.p(false))),react.useEffect(()=>{chunkU3VFRU6R_js.x()&&(chunkU3VFRU6R_js.x().playbackRate=s.speed);},[]);let v=jsxRuntime.jsx("div",{id:"speed",className:`animate__animated animate__fadeIn ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-pb-2":"pl-py-2"}`,children:jsxRuntime.jsxs("ul",{className:"pl-flex pl-flex-col pl-gap-1",children:[jsxRuntime.jsxs("li",{className:`pl-flex pl-items-center pl-border-b ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-border-b-[#D9D9D9]":"pl-border-b-[#4A4A4A]"} pl-ps-[24.2px] pl-leading-[28px] pl-text-[12px] pl-font-medium pl-relative pl-cursor-pointer pl-h-10`,onClick:()=>t&&t("main"),children:[jsxRuntime.jsx("div",{className:"pl-absolute pl-right-[10px] pl-top-1/2 -pl-translate-y-1/2 pl-flex pl-items-center pl-justify-center",children:jsxRuntime.jsx(pe__default.default,{src:chunkCOYFW7R4_js.a.chevronRight,className:chunkU3VFRU6R_js.t("isTouchScreen")?"pl-brightness-0":"",alt:"",width:16,height:16})}),jsxRuntime.jsx("span",{className:`pl-w-full pl-text-[12px] ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#212121]":"pl-text-white"} pl-pr-[10px]`,children:"\u0633\u0631\u0639\u062A"})]}),jsxRuntime.jsx("div",{className:"pl-overflow-y-auto no-scrollbar",style:{maxHeight:chunkU3VFRU6R_js.t("isTouchScreenPortrait")?void 0:i.height-200-70},children:Il.map((f,n)=>jsxRuntime.jsxs("li",{className:`pl-flex pl-items-center pl-h-10 pl-ps-[24.2px] pl-leading-[28px] pl-text-[12px] pl-font-medium pl-relative pl-cursor-pointer pl-transition-all ${chunkU3VFRU6R_js.t("isTouchScreen")?"":"hover:pl-bg-[#4A4A4A]"} ${s.speed===f&&" !pl-cursor-default"}`,onClick:s.speed===f?()=>{}:()=>{chunkU3VFRU6R_js.t("isStaticFormat")||chunkU3VFRU6R_js.w(chunkU3VFRU6R_js.D(f)),o(chunkU3VFRU6R_js.ya({...s,speed:f})),chunkU3VFRU6R_js.x().playbackRate=f,t&&t("main"),r.onSpeedChange&&r.onSpeedChange(s.speed,f);},children:[s.speed===f&&jsxRuntime.jsx("div",{className:"pl-absolute pl-right-[10px] pl-top-1/2 -pl-translate-y-1/2 pl-flex pl-items-center pl-justify-center",children:jsxRuntime.jsx(pe__default.default,{src:chunkCOYFW7R4_js.a.tick,className:chunkU3VFRU6R_js.t("isTouchScreen")?"pl-brightness-0":"",alt:"",width:20,height:20})}),jsxRuntime.jsx("p",{className:`pl-text-[12px] ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#212121]":"pl-text-white"} pl-pr-[10px] pl-w-10 pl-text-center`,children:f})]},n))})]})});return jsxRuntime.jsx(jsxRuntime.Fragment,{children:l?jsxRuntime.jsxs("div",{className:"pl-relative pl-flex pl-items-center",ref:d,children:[jsxRuntime.jsx(De,{width:20,height:20,className:`pl-cursor-pointer size-5 ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#4A4A4A]":"pl-text-white"}`,onClick:()=>o(chunkU3VFRU6R_js.p(!p)),onMouseOver:()=>!chunkU3VFRU6R_js.t("isTouchScreen")&&!chunkU3VFRU6R_js.t("showSpeedPopover")&&h(true),onMouseLeave:()=>!chunkU3VFRU6R_js.t("isTouchScreen")&&h(false)}),a&&jsxRuntime.jsx(chunkOGCKLRYP_js.a,{title:"\u0633\u0631\u0639\u062A"}),jsxRuntime.jsx(W,{classNames:`!pl-p-0 pl-overflow-hidden !pl-bg-white ${chunkU3VFRU6R_js.t("isTouchScreen")?"!pl-fixed !pl-bottom-0 !pl-rounded-t-[20px] pl-rounded-b-none":"!pl-w-[230px] pl-right-0 pl-mb-[33px] !pl-rounded-[12px]"} ${chunkU3VFRU6R_js.t("isTouchScreenPortrait")&&"!pl-w-screen tablet:!pl-max-w-[440px] tablet:!pl-mx-auto"} ${chunkU3VFRU6R_js.t("isTouchScreenLandscape")&&"pl-w-full pl-max-w-[440px]"} !pl-z-[100000]`,status:p,onClose:()=>o(chunkU3VFRU6R_js.p(false)),type:chunkU3VFRU6R_js.t("isTouchScreen")?"modal":"popover",isBlurBackground:chunkU3VFRU6R_js.t("isTouchScreen"),ref:chunkU3VFRU6R_js.t("isTouchScreen")?d:void 0,isHeader:chunkU3VFRU6R_js.t("isTouchScreen"),customHeader:jsxRuntime.jsx(jsxRuntime.Fragment,{}),isHasCatchUpLineOnTop:chunkU3VFRU6R_js.t("isTouchScreen"),styles:{maxHeight:!chunkU3VFRU6R_js.t("isTouchScreenPortrait")&&i.height-(chunkU3VFRU6R_js.t("isTouchScreenLandscape")?120:75)},children:v})]}):jsxRuntime.jsx(jsxRuntime.Fragment,{children:v})})},uo=Fl;chunkAN6JAJSI_js.e();var Ll=({setSection:t})=>{let l=chunkAN6JAJSI_js.z(),{subtitles:o,selectedSubtitle:i,videoElementSizeInfo:r}=chunkAN6JAJSI_js.A(({videoData:{subtitles:p,selectedSubtitle:s,videoElementSizeInfo:d}})=>({subtitles:p,selectedSubtitle:s,videoElementSizeInfo:d}),reactRedux.shallowEqual);return jsxRuntime.jsx("div",{id:"subtitles",className:`animate__animated animate__fadeIn ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-pb-2":"pl-py-2"}`,children:jsxRuntime.jsxs("ul",{className:"pl-flex pl-flex-col pl-gap-1",children:[jsxRuntime.jsxs("li",{className:`pl-flex pl-items-center pl-border-b ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-border-b-[#D9D9D9]":"pl-border-b-[#4A4A4A]"} pl-ps-[24.2px] pl-leading-[28px] pl-text-[12px] pl-font-medium pl-relative pl-cursor-pointer pl-h-10`,onClick:()=>t&&t("main"),children:[jsxRuntime.jsx("div",{className:"pl-absolute pl-right-[10px] pl-top-1/2 -pl-translate-y-1/2 pl-flex pl-items-center pl-justify-center",children:jsxRuntime.jsx(pe__default.default,{src:chunkCOYFW7R4_js.a.chevronRight,className:chunkU3VFRU6R_js.t("isTouchScreen")?"pl-brightness-0":"",alt:"",width:16,height:16})}),jsxRuntime.jsx("span",{className:`pl-w-full pl-text-[12px] ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#212121]":"pl-text-white"} pl-pr-[10px]`,children:"\u0632\u06CC\u0631 \u0646\u0648\u06CC\u0633"})]}),jsxRuntime.jsxs("div",{className:"pl-overflow-y-auto no-scrollbar",style:{maxHeight:chunkU3VFRU6R_js.t("isTouchScreenPortrait")?void 0:r.height-200-70},children:[jsxRuntime.jsxs("li",{className:`pl-flex pl-items-center pl-h-10 pl-ps-[24.2px] pl-leading-[28px] pl-text-[12px] pl-font-medium pl-relative pl-cursor-pointer ${!i&&`${chunkU3VFRU6R_js.t("isTouchScreen")?"":"hover:pl-bg-[#4A4A4A]"} !pl-cursor-default`}`,onClick:()=>{l(chunkU3VFRU6R_js.k(void 0)),t("main");let p=Object.values(chunkU3VFRU6R_js.x().textTracks).find(s=>s.mode==="showing");p&&(p.mode="disabled"),l(chunkU3VFRU6R_js.j("")),chunkU3VFRU6R_js.w(chunkU3VFRU6R_js.N("empty"));},children:[!i&&jsxRuntime.jsx("div",{className:"pl-absolute pl-right-[10px] pl-top-1/2 -pl-translate-y-1/2 pl-flex pl-items-center pl-justify-center",children:jsxRuntime.jsx(pe__default.default,{src:chunkCOYFW7R4_js.a.tick,className:chunkU3VFRU6R_js.t("isTouchScreen")?"pl-brightness-0":"",alt:"",width:20,height:20})}),jsxRuntime.jsx("span",{className:`pl-w-full pl-text-[12px] ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#212121]":"pl-text-white"} pl-pr-[10px]`,children:"\u0628\u062F\u0648\u0646 \u0632\u06CC\u0631\u0646\u0648\u06CC\u0633"})]}),o.map((p,s)=>jsxRuntime.jsxs("li",{className:`pl-flex pl-items-center pl-h-10 pl-ps-[24.2px] pl-leading-[28px] pl-text-[12px] pl-font-medium pl-relative pl-cursor-pointer pl-transition-all ${chunkU3VFRU6R_js.t("isTouchScreen")?"":"hover:pl-bg-[#4A4A4A]"} ${i&&i.language===p.language&&" !pl-cursor-default"}`,onClick:()=>{l(chunkU3VFRU6R_js.k(p)),chunkU3VFRU6R_js.x().textTracks[s].mode="showing",t("main"),chunkU3VFRU6R_js.w(chunkU3VFRU6R_js.N(p.language));},children:[!!i&&i.language===p.language&&jsxRuntime.jsx("div",{className:"pl-absolute pl-right-[10px] pl-top-1/2 -pl-translate-y-1/2 pl-flex pl-items-center pl-justify-center",children:jsxRuntime.jsx(pe__default.default,{src:chunkCOYFW7R4_js.a.tick,className:chunkU3VFRU6R_js.t("isTouchScreen")?"pl-brightness-0":"",alt:"",width:20,height:20})}),jsxRuntime.jsx("span",{className:`pl-w-full pl-text-[12px] ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#212121]":"pl-text-white"} pl-pr-[10px]`,children:p.label})]},s))]})]})})},fo=react.memo(Ll);chunkAN6JAJSI_js.e();var Dl=({className:t,onClick:l,onMouseOver:o,onMouseLeave:i})=>jsxRuntime.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,onClick:l,onMouseOver:o,onMouseLeave:i,children:[jsxRuntime.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",fill:"currentColor",d:"M10 2.29395C10.3314 2.29395 10.6 2.56257 10.6 2.89395V17.1052C10.6 17.4366 10.3314 17.7052 10 17.7052C9.66866 17.7052 9.40002 17.4366 9.40002 17.1052V2.89395C9.40002 2.56257 9.66866 2.29395 10 2.29395Z"}),jsxRuntime.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",fill:"currentColor",d:"M6.41258 4.95498C6.74396 4.95498 7.01258 5.22361 7.01258 5.55498V14.5565C7.01258 14.8879 6.74396 15.1565 6.41258 15.1565C6.08121 15.1565 5.81258 14.8879 5.81258 14.5565V5.55498C5.81258 5.22361 6.08121 4.95498 6.41258 4.95498Z"}),jsxRuntime.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",fill:"currentColor",d:"M13.5858 4.84247C13.9172 4.84247 14.1858 5.1111 14.1858 5.44247V14.444C14.1858 14.7754 13.9172 15.044 13.5858 15.044C13.2545 15.044 12.9858 14.7754 12.9858 14.444V5.44247C12.9858 5.1111 13.2545 4.84247 13.5858 4.84247Z"}),jsxRuntime.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",fill:"currentColor",d:"M17.1735 7.60177C17.5048 7.60177 17.7735 7.8704 17.7735 8.20177V11.5709C17.7735 11.9023 17.5048 12.1709 17.1735 12.1709C16.8421 12.1709 16.5735 11.9023 16.5735 11.5709V8.20177C16.5735 7.8704 16.8421 7.60177 17.1735 7.60177Z"}),jsxRuntime.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",fill:"currentColor",d:"M2.82656 7.82841C3.15794 7.82841 3.42656 8.09703 3.42656 8.42844V11.7976C3.42656 12.1289 3.15794 12.3976 2.82656 12.3976C2.49519 12.3976 2.22656 12.1289 2.22656 11.7976V8.42844C2.22656 8.09703 2.49519 7.82841 2.82656 7.82841Z"})]}),ze=Dl;chunkAN6JAJSI_js.e();var Vl=({setSection:t,showMultiAudioIcon:l})=>{let o=chunkAN6JAJSI_js.z(),{multiAudioPopover:i}=chunkAN6JAJSI_js.A(({popovers:{multiAudioPopover:f}})=>({multiAudioPopover:f}),reactRedux.shallowEqual),[r,p]=react.useState(false),s=react.useRef(null),{multiAudio:d,selectedAudioId:a,videoElementSizeInfo:h}=chunkAN6JAJSI_js.A(({videoData:{multiAudio:f,selectedAudioId:n,videoElementSizeInfo:w}})=>({multiAudio:f,selectedAudioId:n,videoElementSizeInfo:w}),reactRedux.shallowEqual);R(s,()=>o(chunkU3VFRU6R_js.r(false)));let v=jsxRuntime.jsx("div",{className:`${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-pb-2":"pl-py-2"}`,children:jsxRuntime.jsxs("ul",{className:"pl-flex pl-flex-col pl-gap-1",children:[jsxRuntime.jsxs("li",{className:`pl-flex pl-items-center pl-border-b ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-border-b-[#D9D9D9]":"pl-border-b-[#4A4A4A]"} pl-h-10 pl-ps-[24.2px] pl-leading-[28px] pl-text-[12px] pl-font-medium pl-relative pl-cursor-pointer`,onClick:()=>t&&t("main"),children:[jsxRuntime.jsx("div",{className:"pl-absolute pl-right-[10px] pl-top-1/2 -pl-translate-y-1/2 pl-flex pl-items-center pl-justify-center",children:jsxRuntime.jsx(pe__default.default,{src:chunkCOYFW7R4_js.a.chevronRight,className:chunkU3VFRU6R_js.t("isTouchScreen")?"pl-brightness-0":"",alt:"",width:16,height:16})}),jsxRuntime.jsx("span",{className:`pl-w-full pl-text-[12px] ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#212121]":"pl-text-white"} pl-pr-[10px]`,children:"\u062A\u063A\u06CC\u06CC\u0631 \u0635\u062F\u0627"})]}),jsxRuntime.jsx("div",{className:"pl-overflow-y-auto no-scrollbar",style:{maxHeight:chunkU3VFRU6R_js.t("isTouchScreenPortrait")?void 0:h.height-200-70},children:chunkU3VFRU6R_js.t("hasMultiAudio")&&d.map((f,n)=>jsxRuntime.jsxs("li",{className:`pl-flex pl-items-center pl-h-10 pl-ps-[24.2px] pl-leading-[28px] pl-text-[12px] pl-font-medium pl-relative pl-cursor-pointer pl-transition-all ${chunkU3VFRU6R_js.t("isTouchScreen")?"":"hover:pl-bg-[#4A4A4A]"} ${a===n&&" !pl-cursor-default"}`,onClick:()=>{o(chunkU3VFRU6R_js.m(n)),t&&t("main");},children:[a===n&&jsxRuntime.jsx("div",{className:"pl-absolute pl-right-[10px] pl-top-1/2 -pl-translate-y-1/2 pl-flex pl-items-center pl-justify-center",children:jsxRuntime.jsx(pe__default.default,{src:chunkCOYFW7R4_js.a.tick,className:chunkU3VFRU6R_js.t("isTouchScreen")?"pl-brightness-0":"",alt:"",width:20,height:20})}),jsxRuntime.jsxs("span",{className:`pl-w-full pl-text-[12px] ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#212121]":"pl-text-white"} pl-pr-[10px]`,children:["\u0632\u0628\u0627\u0646 ",f.name]})]},f.id))})]})});return jsxRuntime.jsx(jsxRuntime.Fragment,{children:l?jsxRuntime.jsxs("div",{className:"pl-relative pl-flex pl-items-center",ref:s,children:[jsxRuntime.jsx(ze,{className:`pl-size-5 pl-fill-white pl-cursor-pointer ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#4A4A4A]":"pl-text-white"}`,onClick:()=>o(chunkU3VFRU6R_js.r(!i)),onMouseOver:()=>!chunkU3VFRU6R_js.t("isTouchScreen")&&p(true),onMouseLeave:()=>!chunkU3VFRU6R_js.t("isTouchScreen")&&p(false)}),r&&jsxRuntime.jsx(chunkOGCKLRYP_js.a,{title:"\u062A\u063A\u06CC\u06CC\u0631 \u0635\u062F\u0627"}),jsxRuntime.jsx(W,{classNames:`!pl-px-0 pl-overflow-hidden !pl-bg-black/[75%] !pl-pb-0 ${chunkU3VFRU6R_js.t("isTouchScreen")?"!pl-fixed !pl-bottom-0 !pl-rounded-t-[20px] pl-rounded-b-none":"!pl-w-[200px] pl-right-0 pl-mb-[33px] !pl-rounded-[12px]"} ${chunkU3VFRU6R_js.t("isTouchScreenPortrait")&&"!pl-w-screen tablet:!pl-max-w-[440px] tablet:!pl-mx-auto"} ${chunkU3VFRU6R_js.t("isTouchScreenLandscape")&&"pl-w-full pl-max-w-[440px]"}`,status:i,onClose:()=>o(chunkU3VFRU6R_js.r(false)),type:chunkU3VFRU6R_js.t("isTouchScreen")?"modal":"popover",isBlurBackground:chunkU3VFRU6R_js.t("isTouchScreen"),ref:chunkU3VFRU6R_js.t("isTouchScreen")?s:void 0,isHeader:chunkU3VFRU6R_js.t("isTouchScreen"),isHasCatchUpLineOnTop:chunkU3VFRU6R_js.t("isTouchScreen"),styles:{maxHeight:!chunkU3VFRU6R_js.t("isTouchScreenPortrait")&&h.height-(chunkU3VFRU6R_js.t("isTouchScreenLandscape")?120:75)},children:v})]}):jsxRuntime.jsx(jsxRuntime.Fragment,{children:v})})},go=react.memo(Vl);chunkAN6JAJSI_js.e();var Xl=({className:t,disableTooltip:l,height:o,width:i,normalStyle:r})=>{let[p,s]=react.useState(false);return chunkAN6JAJSI_js.A(({videoData:{selectedSubtitle:d,videoElementSizeInfo:a,params:h}})=>({selectedSubtitle:d,videoElementSizeInfo:a,params:h}),reactRedux.shallowEqual),jsxRuntime.jsxs("div",{onClick:d=>{d.stopPropagation(),chunkBFE2RKVK_js.b();},onDoubleClick:d=>d.stopPropagation(),onMouseOver:l?void 0:()=>!chunkU3VFRU6R_js.t("isTouchScreen")&&s(true),onMouseLeave:l?void 0:()=>!chunkU3VFRU6R_js.t("isTouchScreen")&&s(false),className:chunkU3VFRU6R_js.ea(`pl-relative ${r?"":"pl-rounded-full hover:pl-bg-[#5E5E5E]"} pl-cursor-pointer pl-flex pl-items-center pl-justify-center pl-transition-all ${t} ${chunkU3VFRU6R_js.t("hasSubtitles")?"":"pl-pointer-events-none"}`,{desktop:r?void 0:"pl-w-[40px] pl-h-[25px]",desktopFullScreen:r?void 0:"pl-w-[56px] pl-h-[36px]"}),children:[jsxRuntime.jsx(pe__default.default,{alt:"subtitle-icon",src:chunkU3VFRU6R_js.t("hasSubtitles")?chunkU3VFRU6R_js.t("isSelectedSubtitle")?chunkCOYFW7R4_js.a.subtitleFill:chunkCOYFW7R4_js.a.subtitleOutline:chunkCOYFW7R4_js.a.subtitleDisable,width:i,height:o}),p&&!l&&jsxRuntime.jsx(chunkOGCKLRYP_js.a,{title:"\u0632\u06CC\u0631\u0646\u0648\u06CC\u0633"})]})},ie=Xl;var Wl=({width:t,height:l,normalStyle:o})=>{let i=chunkAN6JAJSI_js.z();chunkAN6JAJSI_js.A(({controller:{isFullScreen:C}})=>({isFullScreen:C}),reactRedux.shallowEqual);let{selectedSubtitle:r,multiAudio:p,selectedAudioId:s,subtitles:d,settingPopover:a,settings:h,qualityLevels:v}=chunkAN6JAJSI_js.A(({user:{settings:C},popovers:{settingPopover:c},controller:{qualityLevels:x},videoData:{params:F,subtitles:P,multiAudio:D,selectedSubtitle:G,selectedAudioId:H}})=>({params:F,settings:C,subtitles:P,multiAudio:D,qualityLevels:x,settingPopover:c,selectedAudioId:H,selectedSubtitle:G}),reactRedux.shallowEqual),[f,n]=react.useState("main"),[w,I]=react.useState(false),M=react.useRef(null);return R(M,()=>{i(chunkU3VFRU6R_js.o(false)),setTimeout(()=>{n("main");},500);}),jsxRuntime.jsxs("div",{className:`pl-inline-flex ${chunkU3VFRU6R_js.t("isLandscape")&&"pl-relative"}`,ref:M,children:[jsxRuntime.jsxs("div",{className:chunkU3VFRU6R_js.ea(`pl-relative pl-cursor-pointer pl-flex pl-items-center pl-justify-center pl-rounded-full ${o?"":"hover:pl-bg-[#5E5E5E] pl-transition-all"}`,o?void 0:{desktop:"pl-w-[40px] pl-h-[25px]",desktopFullScreen:"pl-w-[56px] pl-h-[36px]"}),onDoubleClick:C=>C.preventDefault(),onClick:C=>{C.stopPropagation(),i(chunkU3VFRU6R_js.o(!a));},onMouseOver:()=>!chunkU3VFRU6R_js.t("isTouchScreen")&&!chunkU3VFRU6R_js.t("showSettingPopover")&&I(true),onMouseLeave:()=>!chunkU3VFRU6R_js.t("isTouchScreen")&&I(false),children:[jsxRuntime.jsx(pe__default.default,{src:chunkCOYFW7R4_js.a.settings,alt:"",width:t,height:l}),w&&jsxRuntime.jsx(chunkOGCKLRYP_js.a,{title:"\u062A\u0646\u0638\u06CC\u0645\u0627\u062A "})]}),jsxRuntime.jsx(W,{classNames:`!pl-p-0 pl-overflow-hidden ${chunkU3VFRU6R_js.t("isTouchScreen")?"!pl-fixed !pl-bottom-0 !pl-rounded-t-[20px] pl-rounded-b-none !pl-bg-white":"!pl-w-[272px] pl-right-0 pl-mb-[33px] !pl-rounded-[12px] !pl-bg-black/[75%]"} ${chunkU3VFRU6R_js.t("isTouchScreenPortrait")&&"!pl-w-screen tablet:!pl-max-w-[440px] tablet:!pl-mx-auto"} ${chunkU3VFRU6R_js.t("isTouchScreenLandscape")&&"pl-w-full pl-max-w-[285px]"} !overflow-auto`,status:a,onClose:()=>{i(chunkU3VFRU6R_js.o(false)),setTimeout(()=>n("main"),500);},type:chunkU3VFRU6R_js.t("isTouchScreen")?"modal":"popover",isBlurBackground:chunkU3VFRU6R_js.t("isTouchScreen"),ref:chunkU3VFRU6R_js.t("isTouchScreen")?M:void 0,isHeader:chunkU3VFRU6R_js.t("isTouchScreen"),customHeader:jsxRuntime.jsx(jsxRuntime.Fragment,{}),isHasCatchUpLineOnTop:chunkU3VFRU6R_js.t("isTouchScreen"),children:jsxRuntime.jsxs("div",{children:[f==="main"&&jsxRuntime.jsxs("div",{id:"main",className:"pl-py-2 pl-rounded-[10px] pl-flex pl-flex-col animate__animated animate__fadeIn",children:[!chunkU3VFRU6R_js.t("isStaticFormat")&&jsxRuntime.jsxs("div",{className:`pl-flex pl-items-center pl-gap-2 pl-cursor-pointer pl-h-10 pl-px-2 ${chunkU3VFRU6R_js.t("isTouchScreen")?"":"hover:pl-bg-[#4A4A4A]"} pl-transition-all`,onClick:()=>n("qualityLevels"),children:[jsxRuntime.jsx(pe__default.default,{width:20,height:20,className:chunkU3VFRU6R_js.t("isTouchScreen")?"pl-brightness-[0.3]":"",src:chunkCOYFW7R4_js.a.qualitySetting,alt:""}),jsxRuntime.jsx("p",{className:`pl-ml-auto pl-text-[12px] pl-font-medium ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#212121]":"pl-text-white"}`,children:"\u06A9\u06CC\u0641\u06CC\u062A \u067E\u062E\u0634"}),jsxRuntime.jsx("span",{className:`pl-ml-1 pl-leading-6 pl-font-normal ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#212121] pl-text-[11px]":"pl-text-white pl-text-[12px]"}`,children:h.quality===-1?"\u062E\u0648\u062F\u06A9\u0627\u0631":`${v.find((C,c)=>c===h.quality)}p`}),jsxRuntime.jsx(pe__default.default,{className:chunkU3VFRU6R_js.t("isTouchScreen")?"pl-brightness-50":"",src:chunkCOYFW7R4_js.a.chevronLeft,alt:"",width:16,height:16})]}),chunkU3VFRU6R_js.t("hasSubtitles")&&jsxRuntime.jsxs("div",{className:`pl-flex pl-items-center pl-gap-2 pl-cursor-pointer pl-h-10 pl-px-2 ${chunkU3VFRU6R_js.t("isTouchScreen")?"":"hover:pl-bg-[#4A4A4A]"} pl-transition-all`,onClick:()=>n("subtitles"),children:[jsxRuntime.jsx(ie,{className:`${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-brightness-[0.3]":""}`,normalStyle:true,width:20,height:20,disableTooltip:true}),jsxRuntime.jsx("p",{className:`pl-ml-auto pl-text-[12px] pl-font-medium ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#212121]":"pl-text-white"}`,children:"\u0632\u06CC\u0631\u0646\u0648\u06CC\u0633"}),jsxRuntime.jsx("span",{className:`pl-ml-1 pl-leading-6 pl-font-normal ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#212121] pl-text-[11px]":"pl-text-white pl-text-[12px]"}`,children:r?!!d&&d.find(C=>C.language===r.language)?.label:"\u062E\u0627\u0645\u0648\u0634"}),jsxRuntime.jsx(pe__default.default,{src:chunkCOYFW7R4_js.a.chevronLeft,className:chunkU3VFRU6R_js.t("isTouchScreen")?"pl-brightness-50":"",alt:"",width:16,height:16})]}),jsxRuntime.jsxs("div",{className:`pl-flex pl-items-center pl-gap-2 pl-cursor-pointer pl-h-10 pl-px-2 ${chunkU3VFRU6R_js.t("isTouchScreen")?"":"hover:pl-bg-[#4A4A4A]"} pl-transition-all`,onClick:()=>n("speed"),children:[jsxRuntime.jsx(De,{className:`${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#4A4A4A]":"pl-text-white"}`,width:20,height:20}),jsxRuntime.jsx("p",{className:`pl-ml-auto pl-text-[12px] pl-font-medium ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#212121]":"pl-text-white"}`,children:"\u0633\u0631\u0639\u062A"}),jsxRuntime.jsx("span",{className:`pl-ml-1 pl-leading-6 pl-font-normal ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#212121] pl-text-[11px]":"pl-text-white pl-text-[12px]"}`,children:h?.speed?h.speed===1?"\u0645\u0639\u0645\u0648\u0644\u06CC":`${h.speed}`:"\u0645\u0639\u0645\u0648\u0644\u06CC"}),jsxRuntime.jsx(pe__default.default,{src:chunkCOYFW7R4_js.a.chevronLeft,className:chunkU3VFRU6R_js.t("isTouchScreen")?"pl-brightness-50":"",alt:"",width:16,height:16})]}),chunkU3VFRU6R_js.t("hasMultiAudio")&&jsxRuntime.jsxs("div",{className:`pl-flex pl-items-center pl-gap-2 pl-cursor-pointer pl-h-10 pl-px-2 ${chunkU3VFRU6R_js.t("isTouchScreen")?"":"hover:pl-bg-[#4A4A4A]"} pl-transition-all`,onClick:()=>n("multiAudio"),children:[jsxRuntime.jsx(ze,{className:`pl-size-5 ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#4A4A4A]":"pl-text-white"}`}),jsxRuntime.jsx("p",{className:`pl-ml-auto pl-text-[12px] pl-font-medium ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#212121]":"pl-text-white"}`,children:"\u062A\u063A\u06CC\u06CC\u0631 \u0635\u062F\u0627"}),jsxRuntime.jsx("span",{className:`pl-ml-1 pl-leading-6 pl-font-normal ${chunkU3VFRU6R_js.t("isTouchScreen")?"pl-text-[#212121] pl-text-[11px]":"pl-text-white pl-text-[12px]"}`,children:p?.find((C,c)=>c===s)?.name}),jsxRuntime.jsx(pe__default.default,{src:chunkCOYFW7R4_js.a.chevronLeft,className:chunkU3VFRU6R_js.t("isTouchScreen")?"pl-brightness-50":"",alt:"",width:16,height:16})]})]}),f==="qualityLevels"&&jsxRuntime.jsx(ao,{setSection:n}),f==="subtitles"&&jsxRuntime.jsx(fo,{setSection:n}),f==="speed"&&jsxRuntime.jsx(uo,{setSection:n}),f==="multiAudio"&&jsxRuntime.jsx(go,{setSection:n})]})})]})},Oe=react.memo(Wl);chunkAN6JAJSI_js.e();var Yl=({className:t=""})=>{let{duration:l,currentTime:o}=chunkAN6JAJSI_js.A(({controller:{duration:p,currentTime:s}})=>({duration:p,currentTime:s}),reactRedux.shallowEqual);chunkAN6JAJSI_js.A(({videoData:{videoElementSizeInfo:p,params:s}})=>({videoElementSizeInfo:p,params:s}),reactRedux.shallowEqual);let[i,r]=react.useState(false);return jsxRuntime.jsx("div",{onDoubleClick:p=>{p.preventDefault(),p.stopPropagation();},onClick:p=>{p.preventDefault(),p.stopPropagation(),r(s=>!s);},className:chunkU3VFRU6R_js.ea(`pl-cursor-pointer pl-rounded-full pl-inline-flex pl-items-center pl-justify-center pl-group ${t}`,{desktop:"pl-min-w-[34px] pl-h-[34px] pl-p-1 pl-bg-black/75",desktopFullScreen:"pl-min-w-[48px] pl-h-[48px] pl-px-1.5",touch:"pl-min-w-[78px] pl-h-[22px] pl-py-1 pl-px-1.5 pl-bg-[#282828]",touchFullScreen:"pl-min-w-[103px] pl-h-[32px] pl-px-2"}),children:jsxRuntime.jsx("div",{className:chunkU3VFRU6R_js.ea("pl-flex pl-gap-0.5 pl-items-center pl-justify-center pl-rounded-full pl-transition-all",{desktop:"pl-h-[26px] pl-min-w-[26px] pl-p-1.5 group-hover:pl-bg-[#5E5E5E]",desktopFullScreen:"pl-h-[36px] pl-min-w-[36px] pl-px-3"}),children:jsxRuntime.jsxs("p",{className:chunkU3VFRU6R_js.ea("pl-text-white pl-flex pl-items-center pl-justify-center pl-gap-0.5 ",{desktop:"pl-text-[12px] pl-leading-5 pl-font-bold",desktopFullScreen:"pl-text-base",touch:"pl-font-medium pl-text-[12px] pl-pt-0.5",touchFullScreen:"pl-text-[16px] pl-font-normal pl-pt-1"}),children:[jsxRuntime.jsx("span",{className:chunkU3VFRU6R_js.ea("",{touch:"pl-text-[#C4C4C4]"}),children:chunkU3VFRU6R_js.ia(l||0)}),jsxRuntime.jsx("span",{children:"/"}),i?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{children:chunkU3VFRU6R_js.ia((l||0)-(o||0))}),jsxRuntime.jsx("span",{className:"pl-mt-0.5",children:"-"})]}):jsxRuntime.jsx("span",{children:chunkU3VFRU6R_js.ia(o||0)})]})})})},Co=Yl;var ei=()=>(chunkAN6JAJSI_js.A(({controller:{isFullScreen:t}})=>({isFullScreen:t}),reactRedux.shallowEqual),chunkAN6JAJSI_js.A(({videoData:{videoElementSizeInfo:t,params:l,subtitles:o}})=>({videoElementSizeInfo:t,params:l,subtitles:o}),reactRedux.shallowEqual),jsxRuntime.jsxs("div",{id:"player-controllbar",className:chunkU3VFRU6R_js.ea("pl-flex pl-justify-between pl-items-center",{desktop:"pl-px-4",desktopFullScreen:"pl-px-6",touch:"pl-px-4 ",touchFullScreen:"pl-px-6 pl-absolute pl-w-full pl-bottom-[51px]"}),children:[jsxRuntime.jsxs("div",{className:chunkU3VFRU6R_js.ea("pl-rounded-full pl-flex pl-items-center pl-justify-center ",{desktop:"pl-p-1 pl-bg-black/75",desktopFullScreen:"pl-p-1.5",touch:"pl-bg-[#282828]"}),children:[jsxRuntime.jsx(chunkOGCKLRYP_js.c,{width:chunkU3VFRU6R_js.fa({desktop:16,desktopFullScreen:24,touch:16,touchFullScreen:24}),height:chunkU3VFRU6R_js.fa({desktop:16,desktopFullScreen:24,touch:16,touchFullScreen:24})}),chunkU3VFRU6R_js.t("showSettingIcon")&&!chunkU3VFRU6R_js.t("isTouchScreen")&&jsxRuntime.jsx(Oe,{width:chunkU3VFRU6R_js.t("isFullScreen")?24:16,height:chunkU3VFRU6R_js.t("isFullScreen")?24:16}),!chunkU3VFRU6R_js.t("isTouchScreen")&&jsxRuntime.jsx(ie,{width:chunkU3VFRU6R_js.t("isFullScreen")?24:16,height:chunkU3VFRU6R_js.t("isFullScreen")?24:16})]}),jsxRuntime.jsxs("div",{className:"pl-flex pl-items-center pl-gap-4",children:[jsxRuntime.jsx(Co,{className:"pl-relative z-10"}),!chunkU3VFRU6R_js.t("isTouchScreen")&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[!chunkU3VFRU6R_js.t("isIOS")&&jsxRuntime.jsx(chunkOGCKLRYP_js.b,{width:chunkU3VFRU6R_js.t("isFullScreen")?24:16,height:chunkU3VFRU6R_js.t("isFullScreen")?24:16}),jsxRuntime.jsx(chunkZSSCZTW3_js.b,{width:chunkU3VFRU6R_js.t("isFullScreen")?24:16,height:chunkU3VFRU6R_js.t("isFullScreen")?24:16})]})]})]})),No=react.memo(ei);chunkAN6JAJSI_js.e();var oi=()=>{let{subtitleText:t}=chunkAN6JAJSI_js.A(({videoData:{subtitleText:o,selectedSubtitle:i}})=>({subtitleText:o,selectedSubtitle:i}),reactRedux.shallowEqual);return chunkAN6JAJSI_js.A(({controller:{isFullScreen:o,activeElements:i}})=>({isFullScreen:o,activeElements:i}),reactRedux.shallowEqual),jsxRuntime.jsx("div",{id:"subtitle-id",style:{direction:"ltr"},className:chunkU3VFRU6R_js.ea(`pl-z-0 pl-absolute pl-w-full pl-text-center pl-text-white pl-font-semibold ${(()=>{let o="";return chunkU3VFRU6R_js.t("isLock")?o="pl-bottom-[50px]":chunkU3VFRU6R_js.t("isActiveElements")?chunkU3VFRU6R_js.t("isTouchScreen")&&chunkU3VFRU6R_js.t("isFullScreen")?o="pl-bottom-[64px]":chunkU3VFRU6R_js.t("isFullScreen")?o="pl-bottom-[130px]":chunkU3VFRU6R_js.t("isTouchScreen")?o="pl-bottom-[30px]":o="pl-bottom-[60px]":chunkU3VFRU6R_js.t("isActiveElements")||(chunkU3VFRU6R_js.t("isTouchScreen")&&chunkU3VFRU6R_js.t("isFullScreen")?o="pl-bottom-[20px]":chunkU3VFRU6R_js.t("isFullScreen")?o="pl-bottom-[130px]":chunkU3VFRU6R_js.t("isTouchScreen")?o="pl-bottom-[16px]":o="pl-bottom-[60px]"),o})()}`,{desktop:"pl-text-[14px] pl-leading-6",desktopFullScreen:"pl-text-base",touch:"pl-text-[10px] pl-leading-4"}),children:chunkU3VFRU6R_js.ua(t)?.map((o,i)=>{let r=chunkU3VFRU6R_js.wa(o);if(r)return jsxRuntime.jsx("p",{className:chunkU3VFRU6R_js.ea(`pl-mx-auto pl-bg-[#000000]/[70%] ${chunkU3VFRU6R_js.t("isTouchScreen")&&chunkU3VFRU6R_js.t("isActiveElements")&&"pl-opacity-50"} pl-text-wrap pl-max-w-full pl-w-max `,{desktop:"pl-px-2 pl-py-1.5",desktopFullScreen:"",touch:"pl-p-1",touchFullScreen:""}),children:r},i)})})},Eo=oi;var li=()=>{let{firstPlay:t}=chunkAN6JAJSI_js.A(({controller:{lock:o,isFullScreen:i,isLoading:r,activeElements:p,firstPlay:s}})=>({lock:o,isFullScreen:i,isLoading:r,activeElements:p,firstPlay:s}),reactRedux.shallowEqual);chunkAN6JAJSI_js.A(({videoData:{subtitles:o,selectedSubtitle:i}})=>({subtitles:o,selectedSubtitle:i}),reactRedux.shallowEqual);let l="";return chunkU3VFRU6R_js.t("isTouchScreen")?chunkU3VFRU6R_js.t("isFullScreen")?l="pl-gap-2.5 pl-mb-8":l="pl-gap-3":chunkU3VFRU6R_js.t("isFullScreen")?l="pl-gap-3 pl-mb-3":l="pl-gap-1.5 pl-mb-1.5",jsxRuntime.jsx("div",{id:"footer",className:chunkU3VFRU6R_js.ea("pl-relative pl-rounded-b-[12px] pl-duration-300"),onDoubleClick:o=>chunkU3VFRU6R_js.t("isActiveElements")&&o.stopPropagation(),onClick:o=>chunkU3VFRU6R_js.t("isActiveElements")&&o.stopPropagation(),style:{zIndex:3,backgroundBlendMode:"multiply",backgroundSize:"cover",backgroundPosition:"center"},children:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[chunkU3VFRU6R_js.t("showSubtitle")&&jsxRuntime.jsx(Eo,{}),!chunkU3VFRU6R_js.t("isLock")&&jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsxs("div",{className:`pl-flex pl-flex-col pl-w-full pl-mx-auto animate__animated animate__faster ${l} ${chunkU3VFRU6R_js.t("isActiveElements")&&!chunkU3VFRU6R_js.t("isLoading")?"animate__fadeIn pl-pointer-events-auto":"animate__fadeOut pl-pointer-events-none"}`,children:[chunkU3VFRU6R_js.t("showProgressbar")&&jsxRuntime.jsx(ro,{}),jsxRuntime.jsx(No,{})]})})]})})},Mo=li;chunkAN6JAJSI_js.e();var ii=Lo__default.default(()=>import('./staticVideoTag-VLNCYNKV.js')),pi=Lo__default.default(()=>import('./nonStaticVideoTag-6OHMSJEH.js')),ri=()=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:chunkU3VFRU6R_js.t("isStaticFormat")?jsxRuntime.jsx(ii,{}):jsxRuntime.jsx(pi,{})}),Do=ri;chunkAN6JAJSI_js.e();var ai=(t,l)=>{let o=chunkAN6JAJSI_js.z(),{activeElements:i,play:r}=chunkAN6JAJSI_js.A(({controller:{activeElements:a,play:h}})=>({activeElements:a,play:h}),reactRedux.shallowEqual),p=react.useRef(null),s=react.useRef(t),d=react.useRef(l);react.useEffect(()=>{s.current=t;},[t]),react.useEffect(()=>{d.current=l;},[l]),react.useEffect(()=>{let a=false,h=n=>{let{activeElements:w,isEnded:I}=chunkU3VFRU6R_js.Aa.getState().controller;I?o(chunkAN6JAJSI_js.k(true)):n.pointerType==="mouse"&&(clearTimeout(p.current),w?["player-tag","main-content","player-controllbar","video-opacity","playerElements","touchBackward","touchForward","backward","forward"].includes(n.target.id)&&(a=true):o(chunkAN6JAJSI_js.k(true)),p.current=setTimeout(()=>{let{settingPopover:M,speedPopover:C,qualityLevelsPopover:c,multiAudioPopover:x}=chunkU3VFRU6R_js.Aa.getState().popovers,{play:F}=chunkU3VFRU6R_js.Aa.getState().controller;!M&&!C&&!c&&!x&&F&&a&&o(chunkAN6JAJSI_js.k(false));},chunkAK5TFAW3_js.a));},v=n=>{setTimeout(()=>{let{activeElements:w,isEnded:I,firstPlay:M}=chunkU3VFRU6R_js.Aa.getState().controller;if(clearTimeout(p.current),I)return o(chunkAN6JAJSI_js.k(true));chunkU3VFRU6R_js.ha()&&!M&&!s.current&&!d.current&&(["player-tag","main-content","video-opacity","touchBackward","touchForward","backward","forward"].includes(n.target.id)||chunkU3VFRU6R_js.ka(n,"playerElements")?p.current=setTimeout(()=>{let{play:C}=chunkU3VFRU6R_js.Aa.getState().controller,{settingPopover:c,speedPopover:x,qualityLevelsPopover:F,multiAudioPopover:P}=chunkU3VFRU6R_js.Aa.getState().popovers;!c&&!x&&!F&&!P&&C&&o(chunkAN6JAJSI_js.k(false));},chunkAK5TFAW3_js.a):p.current=setTimeout(()=>{let{play:C}=chunkU3VFRU6R_js.Aa.getState().controller,{settingPopover:c,speedPopover:x,qualityLevelsPopover:F,multiAudioPopover:P}=chunkU3VFRU6R_js.Aa.getState().popovers;!c&&!x&&!F&&!P&&C&&o(chunkAN6JAJSI_js.k(false));},chunkAK5TFAW3_js.a));},200);},f=()=>{clearTimeout(p.current),p.current=setTimeout(()=>{let{activeElements:n,isEnded:w,play:I}=chunkU3VFRU6R_js.Aa.getState().controller,{settingPopover:M,speedPopover:C,qualityLevelsPopover:c}=chunkU3VFRU6R_js.Aa.getState().popovers;w?o(chunkAN6JAJSI_js.k(true)):!M&&!C&&!c&&n&&!w&&I&&o(chunkAN6JAJSI_js.k(false));},chunkAK5TFAW3_js.a);};return document.getElementById("video-area").addEventListener("touchstart",v),document.getElementById("video-area").addEventListener("touchmove",f),document.getElementById("video-area").addEventListener("pointermove",h),()=>{let n=document.getElementById("video-area");n&&(n.removeEventListener("touchstart",v),n.removeEventListener("touchmove",f),n.removeEventListener("pointermove",h));}},[i,t,l]),react.useEffect(()=>{let a;return r?a=setTimeout(()=>o(chunkAN6JAJSI_js.k(false)),chunkAK5TFAW3_js.a):o(chunkAN6JAJSI_js.k(true)),()=>{a&&clearTimeout(a);}},[r]);},_o=ai;chunkAN6JAJSI_js.e();var ui=()=>{let{firstPlay:t,isFullScreen:l}=chunkAN6JAJSI_js.A(({controller:{firstPlay:o,isFullScreen:i}})=>({firstPlay:o,isFullScreen:i}),reactRedux.shallowEqual);react.useEffect(()=>{if(chunkU3VFRU6R_js.x()){let o,i=()=>{o=setTimeout(()=>{chunkU3VFRU6R_js.ca();},chunkU3VFRU6R_js.ha()?0:300);};return i(),window.addEventListener("resize",i),()=>{window.removeEventListener("resize",i),clearTimeout(o);}}},[t,l,chunkU3VFRU6R_js.x()]);},zo=ui;chunkAN6JAJSI_js.e();var di=({className:t,onClick:l})=>jsxRuntime.jsxs("svg",{className:t,onClick:o=>{o.stopPropagation(),l?.();},width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("g",{"clip-path":"url(#clip0_372_39317)",children:jsxRuntime.jsx("path",{d:"M10.649 9.01462L17.658 2.00555C18.1141 1.54963 18.1141 0.812452 17.658 0.356588C17.2021 -0.0993313 16.4649 -0.0993313 16.009 0.356588L8.99992 7.3656L1.99107 0.356588C1.53493 -0.0993313 0.798022 -0.0993313 0.342103 0.356588C-0.114034 0.812507 -0.114034 1.54963 0.342103 2.00555L7.3509 9.01462L0.342158 16.0236C-0.11398 16.4796 -0.11398 17.2167 0.342158 17.6726C0.450304 17.7811 0.578815 17.8671 0.720306 17.9257C0.861797 17.9843 1.01348 18.0144 1.16664 18.0143C1.46512 18.0143 1.76371 17.9 1.99112 17.6726L8.99992 10.6636L16.009 17.6726C16.1172 17.781 16.2457 17.867 16.3872 17.9257C16.5287 17.9843 16.6804 18.0144 16.8335 18.0143C17.132 18.0143 17.4306 17.9 17.658 17.6726C18.1141 17.2167 18.1141 16.4796 17.658 16.0236L10.649 9.01462Z",fill:"white"})}),jsxRuntime.jsx("defs",{children:jsxRuntime.jsx("clipPath",{id:"clip0_372_39317",children:jsxRuntime.jsx("rect",{width:"18",height:"18",fill:"white"})})})]}),Oo=di;var Ho=Lo__default.default(()=>import('./backwardForward-S6ZHVC75.js')),xi=()=>{let[t,l]=react.useState(false),[o,i]=react.useState(false),r=chunkAN6JAJSI_js.z();chunkAN6JAJSI_js.A(({videoData:{details:a,params:h,videoElementSizeInfo:v}})=>({details:a,params:h,videoElementSizeInfo:v}),reactRedux.shallowEqual);let{firstMute:p,firstPlay:s,activeElements:d}=chunkAN6JAJSI_js.A(({controller:{firstPlay:a,isFullScreen:h,isLoading:v,canPlayVideo:f,firstMute:n,activeElements:w}})=>({firstPlay:a,isFullScreen:h,isLoading:v,canPlayVideo:f,firstMute:n,activeElements:w}),reactRedux.shallowEqual);return chunkIBV5SFIT_js.a(),zo(),_o(t,o),jsxRuntime.jsxs("div",{id:"video-area",style:{zIndex:chunkU3VFRU6R_js.t("isFullScreen")?1e3:"unset"},onClick:a=>{if(!(t||o||document.getElementById("popover-content"))){if(p){chunkU3VFRU6R_js.Y(50),chunkU3VFRU6R_js.X();return}chunkU3VFRU6R_js.t("isTouchScreen")?s?chunkU3VFRU6R_js.V(a):r(chunkAN6JAJSI_js.k(!d)):chunkU3VFRU6R_js.V(a);}},onDoubleClick:a=>chunkU3VFRU6R_js.da(a),className:chunkU3VFRU6R_js.ea(`pl-bg-contain pl-bg-center pl-w-full pl-relative pl-bg-no-repeat pl-h-full pl-max-h-screen pl-aspect-video pl-flex pl-items-center ${!chunkU3VFRU6R_js.t("isActiveElements")&&"pl-cursor-none"}`,{desktop:"pl-rounded-[12px] pl-overflow-hidden",touchFullScreen:"pl-fixed pl-w-screen dvh",desktopFullScreen:"pl-fixed pl-w-screen dvh"}),children:[chunkU3VFRU6R_js.t("isTouchScreen")&&jsxRuntime.jsx("div",{id:"video-opacity",style:{zIndex:0},className:`pl-absolute pl-bg-black/20 pl-size-full pl-aspect-video pl-transition-all pl-duration-500 ${chunkU3VFRU6R_js.t("isActiveElements")?"pl-opacity-100 pl-visible":"pl-opacity-0 pl-invisible"} `}),chunkU3VFRU6R_js.t("showSoundVolumeAlert")&&jsxRuntime.jsx(chunkZSSCZTW3_js.c,{className:chunkU3VFRU6R_js.ea("",{touch:"pl-absolute pl-z-10 pl-top-[12px] pl-left-[16px]",touchFullScreen:"pl-top-[16px] pl-left-[24px]"})}),!s&&chunkU3VFRU6R_js.t("isActiveElements")&&jsxRuntime.jsxs("div",{className:chunkU3VFRU6R_js.ea("pl-absolute pl-z-10 pl-flex pl-items-center pl-justify-center pl-gap-4",{touch:"pl-top-3 pl-right-4",touchFullScreen:"pl-top-5 pl-right-6"}),children:[chunkU3VFRU6R_js.t("isTouchScreen")&&chunkU3VFRU6R_js.t("isFullScreen")&&jsxRuntime.jsx(Oo,{onClick:chunkU3VFRU6R_js._,className:"pl-text-white pl-size-[18px]"}),chunkU3VFRU6R_js.t("showSettingIcon")&&chunkU3VFRU6R_js.t("isTouchScreen")&&jsxRuntime.jsx(Oe,{normalStyle:true,width:chunkU3VFRU6R_js.fa({desktop:16,desktopFullScreen:24,touch:20,touchFullScreen:24}),height:chunkU3VFRU6R_js.fa({desktop:16,desktopFullScreen:24,touch:20,touchFullScreen:24})}),chunkU3VFRU6R_js.t("isTouchScreen")&&jsxRuntime.jsx(ie,{normalStyle:true,width:chunkU3VFRU6R_js.fa({desktop:16,desktopFullScreen:24,touch:20,touchFullScreen:24}),height:chunkU3VFRU6R_js.fa({desktop:16,desktopFullScreen:24,touch:20,touchFullScreen:24})})]}),chunkU3VFRU6R_js.t("showBackwardForward")&&jsxRuntime.jsxs("div",{className:"pl-absolute pl-top-0 pl-right-0 pl-w-full pl-h-full pl-overflow-hidden pl-flex pl-items-center",style:{zIndex:o||t?1002:1},children:[jsxRuntime.jsx(Ho,{type:chunkU3VFRU6R_js.t("isTouchScreen")?"touchForward":"forward",isRightForward:t,setIsRightForward:l}),jsxRuntime.jsx(Ho,{type:chunkU3VFRU6R_js.t("isTouchScreen")?"touchBackward":"backward",isLeftBackward:o,setIsLeftBackward:i})]}),jsxRuntime.jsx(Do,{}),jsxRuntime.jsx("div",{id:"playerElements",className:"pl-absolute pl-top-0 pl-right-0 pl-w-full pl-h-full",children:jsxRuntime.jsxs("div",{className:"pl-flex pl-flex-col pl-justify-between pl-w-full pl-h-full",children:[chunkU3VFRU6R_js.t("showHeader")&&jsxRuntime.jsx(_t,{}),chunkU3VFRU6R_js.t("showMain")&&jsxRuntime.jsx(Vt,{}),chunkU3VFRU6R_js.t("showFooter")&&jsxRuntime.jsx(Mo,{})]})})]})},Ga=xi;
|
|
8
|
+
exports.a=Ga;//# sourceMappingURL=chunk-WFHA2FPC.js.map
|
|
9
|
+
//# sourceMappingURL=chunk-WFHA2FPC.js.map
|