mirror of
https://github.com/blakeblackshear/frigate.git
synced 2025-12-07 05:54:10 +03:00
28 lines
765 B
React
28 lines
765 B
React
|
|
import { h } from 'preact';
|
||
|
|
import { ApiHost, Config } from '../context';
|
||
|
|
import { useCallback, useEffect, useContext, useState } from 'preact/hooks';
|
||
|
|
|
||
|
|
export default function AutoUpdatingCameraImage({ camera, searchParams }) {
|
||
|
|
const config = useContext(Config);
|
||
|
|
const apiHost = useContext(ApiHost);
|
||
|
|
const cameraConfig = config.cameras[camera];
|
||
|
|
|
||
|
|
const [key, setKey] = useState(Date.now());
|
||
|
|
useEffect(() => {
|
||
|
|
const timeoutId = setTimeout(() => {
|
||
|
|
setKey(Date.now());
|
||
|
|
}, 500);
|
||
|
|
return () => {
|
||
|
|
clearTimeout(timeoutId);
|
||
|
|
};
|
||
|
|
}, [key, searchParams]);
|
||
|
|
|
||
|
|
return (
|
||
|
|
<img
|
||
|
|
className="w-full"
|
||
|
|
src={`${apiHost}/api/${camera}/latest.jpg?cache=${key}&${searchParams}`}
|
||
|
|
alt={`Auto-updating ${camera} image`}
|
||
|
|
/>
|
||
|
|
);
|
||
|
|
}
|