diff --git a/src/main/resources/static/js/downloader.js b/src/main/resources/static/js/downloader.js index 5433d872f..fc118d28d 100644 --- a/src/main/resources/static/js/downloader.js +++ b/src/main/resources/static/js/downloader.js @@ -39,7 +39,9 @@ const originalButtonText = submitButton.textContent; var boredWaiting = localStorage.getItem("boredWaiting") || "disabled"; - showGameBtn.style.display = "none"; + if (showGameBtn) { + showGameBtn.style.display = "none"; + } // Remove empty file entries for (let [key, value] of formData.entries()) { @@ -73,8 +75,10 @@ clearFileInput(); clearTimeout(timeoutId); - showGameBtn.style.display = "none"; - showGameBtn.style.marginTop = ""; + if (showGameBtn) { + showGameBtn.style.display = "none"; + showGameBtn.style.marginTop = ""; + } submitButton.textContent = originalButtonText; submitButton.disabled = false; @@ -95,7 +99,6 @@ } } catch (error) { - clearFileInput(); clearTimeout(timeoutId); showGameBtn.style.display = "none"; submitButton.textContent = originalButtonText; @@ -117,13 +120,13 @@ return null; } } - + async function handleSingleDownload(url, formData, isMulti = false, isZip = false) { const startTime = performance.now(); const file = formData.get('fileInput'); let success = false; let errorMessage = null; - + try { const response = await fetch(url, { method: "POST", body: formData }); const contentType = response.headers.get("content-type"); @@ -146,7 +149,7 @@ const blob = await response.blob(); success = true; - + if (contentType.includes("application/pdf") || contentType.includes("image/")) { clearFileInput(); return handleResponse(blob, filename, !isMulti, isZip); @@ -158,12 +161,11 @@ } catch (error) { success = false; errorMessage = error.message; - clearFileInput(); console.error("Error in handleSingleDownload:", error); throw error; } finally { const processingTime = performance.now() - startTime; - + // Capture analytics const pageCount = file && file.type === 'application/pdf' ? await getPDFPageCount(file) : null; if(analyticsEnabled) { @@ -191,7 +193,7 @@ return filename; } - + async function handleJsonResponse(response) { const json = await response.json(); const errorMessage = JSON.stringify(json, null, 2);