import { Loader } from 'features/Loader' import { VideoPlayer } from 'features/VideoPlayer' import { useMatchPageStore } from 'features/MatchPage/store' import { Name } from 'features/Name' import { FiltersPopup } from 'features/MatchSidePlaylists/components/FiltersPopup' import { WaterMark } from 'components/WaterMark' import { AccessTimer } from 'components/AccessTimer' import { isMobileDevice } from 'config/userAgent' import { REWIND_SECONDS } from './config' import { PlayerWrapper, CenterControls, PlayStop, LoaderWrapper, Backward, Forward, ControlsGradient, TeamsDetailsWrapper, } from './styled' import type { Props } from './hooks' import { useVideoPlayer } from './hooks' import { useAuthStore } from '../AuthStore' import { Controls } from './components/Controls' import RewindMobile from './components/RewindMobile' /** * HLS плеер, применяется на лайв и завершенных матчах */ export const StreamPlayer = (props: Props) => { const { access, isOpenFiltersPopup, profile, } = useMatchPageStore() const { user } = useAuthStore() const { activeChapterIndex, allPlayedProgress, audioTracks, backToLive, buffering, centerControlsVisible, changeAudioTrack, chapters, duration, hideCenterControls, isFullscreen, loadedProgress, mainControlsVisible, muted, onDuration, onError, onFullscreenClick, onLoadedProgress, onMouseEnter, onMouseLeave, onMouseMove, onPause, onPlay, onPlayedProgress, onPlayerClick, onPlaying, onProgressChange, onQualitySelect, onReady, onTouchEnd, onTouchStart, onVolumeChange, onVolumeClick, onWaiting, playedProgress, playing, ready, rewindBackward, rewindForward, seek, selectedAudioTrack, selectedQuality, showCenterControls, togglePlaying, url, videoQualities, videoRef, volume, volumeInPercent, wrapperRef, } = useVideoPlayer(props) return ( {isOpenFiltersPopup && } {(profile?.tournament.id === 1136) && playing && ( )} {isMobileDevice && isFullscreen && mainControlsVisible && profile && ( {` ${profile.team1.score}-${profile.team2.score} `} )} {ready && ( {isMobileDevice ? : {REWIND_SECONDS}} { togglePlaying() hideCenterControls() }} /> {isMobileDevice ? : {REWIND_SECONDS}} )} {!user && ( )} ) }