import { isIOS, isMobileDevice } from 'config/userAgent' import { Loader } from 'features/Loader' import { VideoPlayer } from 'features/VideoPlayer' import { useMatchPageStore } from 'features/MatchPage/store' import { Name } from 'features/Name' import { REWIND_SECONDS } from './config' import { PlayerWrapper, CenterControls, PlayStop, LoaderWrapper, Backward, Forward, ControlsGradient, TeamsDetailsWrapper, WarningIosText, WarningIosWrapper, } from './styled' import type { Props } from './hooks' import { useVideoPlayer } from './hooks' import { Controls } from './components/Controls' import RewindMobile from './components/RewindMobile' /** * HLS плеер, применяется на лайв и завершенных матчах */ export const StreamPlayer = (props: Props) => { const { profile } = useMatchPageStore() const { activeChapterIndex, backToLive, buffering, centerControlsVisible, 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, selectedQuality, showCenterControls, togglePlaying, url, videoQualities, videoRef, volume, volumeInPercent, warningText, wrapperRef, } = useVideoPlayer(props) return ( {isIOS ? ( {warningText} ) : ( )} {isMobileDevice && isFullscreen && mainControlsVisible && profile && ( {` ${profile.team1.score}-${profile.team2.score} `} )} {ready && ( {isMobileDevice ? : {REWIND_SECONDS}} { togglePlaying() hideCenterControls() }} /> {isMobileDevice ? : {REWIND_SECONDS}} )} ) }