better error handling

This commit is contained in:
AppleTheGolden 2025-10-11 19:19:43 +02:00
parent 9b0c14ddf6
commit 885a5a14f4
No known key found for this signature in database
GPG key ID: F6AC8A62154C42AA

View file

@ -202,6 +202,21 @@ window.baguetteBox = (function () {
prepareOverlay(gallery, userOptions); prepareOverlay(gallery, userOptions);
console.log("prepare done, starting show") console.log("prepare done, starting show")
showOverlay(0); showOverlay(0);
}
).catch((reason) => {
console.error("cbz-ded", reason);
var t;
try {
t = uricom_dec(cbzElement.href.split('/').pop());
} catch (ex) {
}
var msg = "Could not browse " + (t ? t : 'archive');
try {
msg += "\n\n" + reason.message;
} catch (ex) {}
toast.err(20, msg, 'cbz-ded');
}); });
} }
@ -213,10 +228,16 @@ window.baguetteBox = (function () {
if (gallery.length !== 0) { if (gallery.length !== 0) {
return Promise.resolve(); return Promise.resolve();
} }
var href = cbzElement.href var href = cbzElement.href;
var zlsHref = href + (href.indexOf("?") === -1 ? "?" : "&") + "zls"; var zlsHref = href + (href.indexOf("?") === -1 ? "?" : "&") + "zls";
console.log("pre-fetch") return fetch(zlsHref)
return fetch(zlsHref).then(response => response.json()) .then(response => {
if (response.ok) {
return response.json();
} else {
throw new Error("Archive is invalid");
}
})
.then((fileList) => { .then((fileList) => {
console.log("fetched") console.log("fetched")
var imagesList = fileList.filter((name) => var imagesList = fileList.filter((name) =>
@ -224,6 +245,10 @@ window.baguetteBox = (function () {
&& cbz_pics.indexOf(name.split(".").pop()) !== -1 && cbz_pics.indexOf(name.split(".").pop()) !== -1
).sort(); ).sort();
if (imagesList.length === 0) {
throw new Error("Archive does not contain any images");
}
imagesList.forEach((imageName, index) => { imagesList.forEach((imageName, index) => {
var imageHref = href var imageHref = href
+ (href.indexOf("?") === -1 ? "?" : "&") + (href.indexOf("?") === -1 ? "?" : "&")
@ -237,7 +262,6 @@ window.baguetteBox = (function () {
}; };
gallery.push(galleryItem); gallery.push(galleryItem);
}); });
console.log(gallery);
}); });
} }