Warn on small picture candidates

This commit is contained in:
2026-08-06 00:24:03 +02:00
parent 0987edd112
commit b5a69050e0
6 changed files with 33 additions and 8 deletions
+13 -3
View File
@@ -61,6 +61,7 @@ const darkContrastSelect = document.querySelector("#darkContrastSelect");
const catalogScreen = document.querySelector(".catalog-screen");
const secondaryPanelToggle = document.querySelector("#secondaryPanelToggle");
const mainWorkspaceToggle = document.querySelector("#mainWorkspaceToggle");
const MIN_PRODUCT_PICTURE_SIZE = 800;
let sidebarUserClosed = false;
let mappingLoadToken = 0;
const mappingCacheKey = "catalog-maker:mapping-cache";
@@ -985,12 +986,21 @@ function renderPictureCandidates(items) {
dimensions.className = "picture-candidate-dimensions";
dimensions.textContent = "Size: loading...";
image.addEventListener("load", () => {
dimensions.textContent = image.naturalWidth && image.naturalHeight
? `Size: ${image.naturalWidth} x ${image.naturalHeight}px`
: "Size: unknown";
if (!image.naturalWidth || !image.naturalHeight) {
dimensions.textContent = "Size: unknown";
row.classList.remove("is-too-small");
return;
}
const isTooSmall = image.naturalWidth < MIN_PRODUCT_PICTURE_SIZE || image.naturalHeight < MIN_PRODUCT_PICTURE_SIZE;
row.classList.toggle("is-too-small", isTooSmall);
dimensions.textContent = isTooSmall
? `Size: ${image.naturalWidth} x ${image.naturalHeight}px - too small, min ${MIN_PRODUCT_PICTURE_SIZE} x ${MIN_PRODUCT_PICTURE_SIZE}`
: `Size: ${image.naturalWidth} x ${image.naturalHeight}px`;
});
image.addEventListener("error", () => {
dimensions.textContent = "Size: image preview failed";
row.classList.add("is-too-small");
});
const assignment = document.createElement("span");