cache warming

This commit is contained in:
2025-10-26 02:13:20 +02:00
parent 80238bb7a1
commit 9db77ff159
+50
View File
@@ -1106,6 +1106,56 @@ const DetailPanel = ({
return () => window.removeEventListener('keydown', handleKeyDown);
}, [zoomedPreview, zoomDisplay]);
useEffect(() => {
if (typeof ensureAssetUrl !== 'function') {
return;
}
const warmNavigator = (navigator) => {
const { documentId, asset, ordinal, canGoPrev, canGoNext } = navigator;
if (!documentId || !asset || !Number.isFinite(ordinal)) {
return;
}
const requests = [];
if (canGoPrev) {
const prevOrdinal = Math.max(1, ordinal - 1);
requests.push(
ensureAssetUrl(documentId, asset, {
start: prevOrdinal,
limit: 1,
}),
);
}
if (canGoNext) {
const nextOrdinal = ordinal + 1;
requests.push(
ensureAssetUrl(documentId, asset, {
start: nextOrdinal,
limit: 1,
}),
);
}
requests.forEach((promise) => promise?.catch?.(() => {}));
};
warmNavigator(singlePreviewNavigator);
warmNavigator(stackPreviewNavigator);
}, [
ensureAssetUrl,
singlePreviewNavigator.documentId,
singlePreviewNavigator.asset,
singlePreviewNavigator.ordinal,
singlePreviewNavigator.canGoPrev,
singlePreviewNavigator.canGoNext,
stackPreviewNavigator.documentId,
stackPreviewNavigator.asset,
stackPreviewNavigator.ordinal,
stackPreviewNavigator.canGoPrev,
stackPreviewNavigator.canGoNext,
]);
const zoomImageStyle = useMemo(() => {
if (!zoomNative) {
return {