From ccfa663b147171984ecb4f7c80649241cdc09dfc Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Fri, 2 Feb 2024 13:27:41 -0700 Subject: [PATCH] Fix refreshing camera image --- web/src/components/camera/DynamicCameraImage.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/web/src/components/camera/DynamicCameraImage.tsx b/web/src/components/camera/DynamicCameraImage.tsx index 5bc05f83f..0ef249964 100644 --- a/web/src/components/camera/DynamicCameraImage.tsx +++ b/web/src/components/camera/DynamicCameraImage.tsx @@ -24,6 +24,9 @@ export default function DynamicCameraImage({ aspect, }: DynamicCameraImageProps) { const [key, setKey] = useState(Date.now()); + const [timeoutId, setTimeoutId] = useState( + undefined + ); const [activeObjects, setActiveObjects] = useState([]); const hasActiveObjects = useMemo( () => activeObjects.length > 0, @@ -58,6 +61,8 @@ export default function DynamicCameraImage({ if (eventIndex == -1) { const newActiveObjects = [...activeObjects, event.after.id]; setActiveObjects(newActiveObjects); + clearTimeout(timeoutId); + setKey(Date.now()); } } } @@ -69,12 +74,13 @@ export default function DynamicCameraImage({ ? INTERVAL_ACTIVE_MS : INTERVAL_INACTIVE_MS; - setTimeout( + const tId = setTimeout( () => { setKey(Date.now()); }, loadTime > loadInterval ? 1 : loadInterval ); + setTimeoutId(tId); }, [key]); return (