From eded5260d6f0158c5740f1bacd6041e7ff9eae98 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Wed, 13 Mar 2024 12:55:33 -0600 Subject: [PATCH] Improve mobile controls experience --- web/src/components/player/HlsVideoPlayer.tsx | 26 +++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/web/src/components/player/HlsVideoPlayer.tsx b/web/src/components/player/HlsVideoPlayer.tsx index a3e04be67..06ed67a3c 100644 --- a/web/src/components/player/HlsVideoPlayer.tsx +++ b/web/src/components/player/HlsVideoPlayer.tsx @@ -22,7 +22,7 @@ import useKeyboardListener from "@/hooks/use-keyboard-listener"; const HLS_MIME_TYPE = "application/vnd.apple.mpegurl" as const; -type HlsVideovideoProps = { +type HlsVideoPlayerProps = { className: string; children?: ReactNode; videoRef: MutableRefObject; @@ -31,7 +31,7 @@ type HlsVideovideoProps = { onPlayerLoaded?: () => void; onTimeUpdate?: (time: number) => void; }; -export default function HlsVideovideo({ +export default function HlsVideoPlayer({ className, children, videoRef, @@ -39,7 +39,7 @@ export default function HlsVideovideo({ onClipEnded, onPlayerLoaded, onTimeUpdate, -}: HlsVideovideoProps) { +}: HlsVideoPlayerProps) { // playback const hlsRef = useRef(); @@ -74,6 +74,7 @@ export default function HlsVideovideo({ // controls const [isPlaying, setIsPlaying] = useState(true); + const [mobileCtrlTimeout, setMobileCtrlTimeout] = useState(); const [controls, setControls] = useState(isMobile); const [controlsOpen, setControlsOpen] = useState(false); @@ -148,13 +149,26 @@ export default function HlsVideovideo({ >