From 89e082746de804487189dea983486cefb19fff79 Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Sat, 25 Oct 2025 08:39:26 -0500 Subject: [PATCH] rework context provider --- web/src/components/player/HlsVideoPlayer.tsx | 21 ++++++++----------- .../player/dynamic/DynamicVideoPlayer.tsx | 10 +++++++-- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/web/src/components/player/HlsVideoPlayer.tsx b/web/src/components/player/HlsVideoPlayer.tsx index a41d31db2..fad88815b 100644 --- a/web/src/components/player/HlsVideoPlayer.tsx +++ b/web/src/components/player/HlsVideoPlayer.tsx @@ -20,7 +20,6 @@ import { cn } from "@/lib/utils"; import { ASPECT_VERTICAL_LAYOUT, RecordingPlayerError } from "@/types/record"; import { useTranslation } from "react-i18next"; import ObjectTrackOverlay from "@/components/overlay/ObjectTrackOverlay"; -import { DetailStreamContextType } from "@/context/detail-stream-context"; // Android native hls does not seek correctly const USE_NATIVE_HLS = !isAndroid; @@ -54,8 +53,11 @@ type HlsVideoPlayerProps = { onUploadFrame?: (playTime: number) => Promise | undefined; toggleFullscreen?: () => void; onError?: (error: RecordingPlayerError) => void; - detail?: Partial; + isDetailMode?: boolean; + camera?: string; + currentTimeOverride?: number; }; + export default function HlsVideoPlayer({ videoRef, containerRef, @@ -75,17 +77,15 @@ export default function HlsVideoPlayer({ onUploadFrame, toggleFullscreen, onError, - detail, + isDetailMode = false, + camera, + currentTimeOverride, }: HlsVideoPlayerProps) { const { t } = useTranslation("components/player"); const { data: config } = useSWR("config"); // for detail stream context in History - const selectedObjectId = detail?.selectedObjectId; - const selectedObjectTimeline = detail?.selectedObjectTimeline; - const currentTime = detail?.currentTime; - const camera = detail?.camera; - const isDetailMode = detail?.isDetailMode ?? false; + const currentTime = currentTimeOverride; // playback @@ -316,16 +316,14 @@ export default function HlsVideoPlayer({ }} > {isDetailMode && - selectedObjectId && camera && currentTime && videoDimensions.width > 0 && videoDimensions.height > 0 && (
)} diff --git a/web/src/components/player/dynamic/DynamicVideoPlayer.tsx b/web/src/components/player/dynamic/DynamicVideoPlayer.tsx index 1b7689804..2a6f3a1cf 100644 --- a/web/src/components/player/dynamic/DynamicVideoPlayer.tsx +++ b/web/src/components/player/dynamic/DynamicVideoPlayer.tsx @@ -61,7 +61,11 @@ export default function DynamicVideoPlayer({ const { data: config } = useSWR("config"); // for detail stream context in History - const detail = useDetailStream(); + const { + isDetailMode, + camera: contextCamera, + currentTime, + } = useDetailStream(); // controlling playback @@ -295,7 +299,9 @@ export default function DynamicVideoPlayer({ setIsBuffering(true); } }} - detail={detail} + isDetailMode={isDetailMode} + camera={contextCamera || camera} + currentTimeOverride={currentTime} />