import {usePlayerStore} from '@common/player/hooks/use-player-store';
import clsx from 'clsx';
import {Seekbar} from '@common/player/ui/controls/seeking/seekbar';
import {PlayButton} from '@common/player/ui/controls/play-button';
import {NextButton} from '@common/player/ui/controls/next-button';
import {
ToggleMuteButton,
VolumeControls,
} from '@common/player/ui/controls/volume-controls';
import {FormattedCurrentTime} from '@common/player/ui/controls/formatted-current-time';
import {FormattedPlayerDuration} from '@common/player/ui/controls/formatted-player-duration';
import {ToggleCaptionsButton} from '@common/player/ui/controls/toggle-captions-button';
import {PlaybackOptionsButton} from '@common/player/ui/controls/playback-options-button';
import {FullscreenButton} from '@common/player/ui/controls/fullscreen-button';
import {PipButton} from '@common/player/ui/controls/pip-button';
import {Fragment, ReactNode} from 'react';
import {useIsMobileMediaQuery} from '@common/utils/hooks/is-mobile-media-query';
interface Props {
rightActions?: ReactNode;
onPointerEnter?: () => void;
onPointerLeave?: () => void;
}
export function VideoPlayerControls(props: Props) {
const isMobile = useIsMobileMediaQuery();
const controlsVisible = usePlayerStore(s => s.controlsVisible);
const className = clsx(
'player-bottom-text-shadow absolute z-40 text-white/87 transition-opacity duration-300',
controlsVisible ? 'opacity-100' : 'opacity-0'
);
return isMobile ? (