Improve preview loading (#11469)

* Improve preview loading

* Ensure it works when selecting dates
This commit is contained in:
Nicolas Mowen
2024-05-21 18:30:29 +05:30
committed by GitHub
parent 2a86969f54
commit cc3bbcc303
2 changed files with 5 additions and 32 deletions

View File

@@ -27,31 +27,8 @@ export function useCameraPreviews(
fetchPreviews
? `preview/${camera}/start/${Math.round(timeRange.after)}/end/${Math.round(timeRange.before)}`
: null,
{ revalidateOnFocus: false, revalidateOnReconnect: false },
{ revalidateOnFocus: autoRefresh, revalidateOnReconnect: autoRefresh },
);
// Set a timeout to update previews on the hour
useEffect(() => {
if (!autoRefresh || !fetchPreviews || !allPreviews) {
return;
}
const callback = () => {
const nextPreviewStart = new Date(
allPreviews[allPreviews.length - 1].end * 1000,
);
nextPreviewStart.setHours(nextPreviewStart.getHours() + 1);
if (Date.now() > nextPreviewStart.getTime()) {
setTimeRange({ after: timeRange.after, before: Date.now() / 1000 });
}
};
document.addEventListener("focusin", callback);
return () => {
document.removeEventListener("focusin", callback);
};
}, [allPreviews, autoRefresh, fetchPreviews, timeRange]);
return allPreviews;
}