Fix revalidation

This commit is contained in:
Nicolas Mowen 2024-02-07 10:31:19 -07:00
parent 16a8fac9c4
commit 3d62b88ada

View File

@ -12,23 +12,21 @@ function Live() {
// recent events // recent events
const [recentCutoff, setRecentCutoff] = useState<number>(0); const { data: allEvents, mutate: updateEvents } = useSWR<FrigateEvent[]>(
useEffect(() => { ["events", { limit: 10 }],
const date = new Date(); { revalidateOnFocus: false, refreshInterval: 60000 }
date.setHours(date.getHours() - 4); );
setRecentCutoff(date.getTime() / 1000);
const events = useMemo(() => {
if (!allEvents) {
return [];
}
const intervalId: NodeJS.Timeout = setInterval(() => {
const date = new Date(); const date = new Date();
date.setHours(date.getHours() - 4); date.setHours(date.getHours() - 4);
setRecentCutoff(date.getTime() / 1000); const cutoff = date.getTime() / 1000;
}, 60000); return allEvents.filter((event) => event.start_time > cutoff);
return () => clearInterval(intervalId); }, [allEvents]);
}, [60000]);
const { data: events, mutate: updateEvents } = useSWR<FrigateEvent[]>([
"events",
{ limit: 10, after: recentCutoff },
]);
const onFavorite = useCallback(async (e: Event, event: FrigateEvent) => { const onFavorite = useCallback(async (e: Event, event: FrigateEvent) => {
e.stopPropagation(); e.stopPropagation();