Fix refreshing camera image

This commit is contained in:
Nicolas Mowen 2024-02-02 13:27:41 -07:00
parent 482ebf37bd
commit ccfa663b14

View File

@ -24,6 +24,9 @@ export default function DynamicCameraImage({
aspect, aspect,
}: DynamicCameraImageProps) { }: DynamicCameraImageProps) {
const [key, setKey] = useState(Date.now()); const [key, setKey] = useState(Date.now());
const [timeoutId, setTimeoutId] = useState<NodeJS.Timeout | undefined>(
undefined
);
const [activeObjects, setActiveObjects] = useState<string[]>([]); const [activeObjects, setActiveObjects] = useState<string[]>([]);
const hasActiveObjects = useMemo( const hasActiveObjects = useMemo(
() => activeObjects.length > 0, () => activeObjects.length > 0,
@ -58,6 +61,8 @@ export default function DynamicCameraImage({
if (eventIndex == -1) { if (eventIndex == -1) {
const newActiveObjects = [...activeObjects, event.after.id]; const newActiveObjects = [...activeObjects, event.after.id];
setActiveObjects(newActiveObjects); setActiveObjects(newActiveObjects);
clearTimeout(timeoutId);
setKey(Date.now());
} }
} }
} }
@ -69,12 +74,13 @@ export default function DynamicCameraImage({
? INTERVAL_ACTIVE_MS ? INTERVAL_ACTIVE_MS
: INTERVAL_INACTIVE_MS; : INTERVAL_INACTIVE_MS;
setTimeout( const tId = setTimeout(
() => { () => {
setKey(Date.now()); setKey(Date.now());
}, },
loadTime > loadInterval ? 1 : loadInterval loadTime > loadInterval ? 1 : loadInterval
); );
setTimeoutId(tId);
}, [key]); }, [key]);
return ( return (