document.addEventListener("DOMContentLoaded", function () { const fileInput = document.getElementById("document-upload"); const fileName = document.getElementById("file-name"); const summarizeBtn = document.getElementById("summarize-btn"); const loadingContainer = document.getElementById("loading-container"); const resultsSection = document.getElementById("results-section"); const result_summary = document.getElementById("summary-content"); const newSummaryBtn = document.getElementById("new-summary-btn"); const downloadBtn = document.getElementById("download-btn"); fileInput.addEventListener("change", function () { if (this.files && this.files[0]) { fileName.textContent = this.files[0].name; } else { fileName.textContent = "No file chosen"; } }); summarizeBtn.addEventListener("click", async function () { try { if (fileInput.files.length === 0) { showNotification("warning", "Please select a file first"); return; } loadingContainer.style.display = "block"; summarizeBtn.disabled = true; const formData = new FormData(); formData.append("file", fileInput.files[0]); const response = await fetch("/summerize", { method: "POST", body: formData, }); const result = await response.json(); if (result.error) { showNotification("error", result.error); return; } result_summary.innerText = result.summary; resultsSection.style.display = "block"; resultsSection.scrollIntoView({ behavior: "smooth" }); } catch (error) { showNotification("error", error); } finally { loadingContainer.style.display = "none"; summarizeBtn.disabled = false; } }); newSummaryBtn.addEventListener("click", function () { fileInput.value = ""; fileName.textContent = "No file chosen"; resultsSection.style.display = "none"; document.querySelector(".upload").scrollIntoView({ behavior: "smooth" }); }); downloadBtn.addEventListener("click", function () { const summaryText = document.getElementById("summary-content").innerText; const blob = new Blob([summaryText], { type: "text/plain" }); const url = URL.createObjectURL(blob); const a = document.createElement("a"); a.href = url; a.download = "document-summary.txt"; document.body.appendChild(a); a.click(); document.body.removeChild(a); URL.revokeObjectURL(url); }); });