const fileContainer = document.querySelector(".file-container"); const label = document.querySelector("#label-input"); const inputFile = document.querySelector("#document-input"); const form = document.querySelector("form"); const prompt_txt = document.querySelector("#text-prompt"); const result_section = document.querySelector(".result"); const chart_wrapper = result_section.querySelector(".chart-wrapper"); let file = null; const notifications = document.querySelector(".notifications"); const toast = (message, type) => { const notification = document.createElement("div"); notification.innerHTML = `

${type}

${message}

`; notification.classList.add(...["notification", type]); notifications.appendChild(notification); setTimeout(() => { notification.remove(); }, 10000); }; function clear() { file = null; label.style.display = "flex"; fileContainer.innerHTML = ""; } const upload = (fileData) => { file = fileData; const ext = file.name.split(".").pop(); if (ext === "pdf") { label.style.display = "none"; fileContainer.innerHTML = `

${file.name}

`; document .querySelector("#btn-clear") .addEventListener("click", (e) => clear(e)); } else { console.error("file is not supported"); toast("file is not supported", "error"); } }; inputFile.addEventListener("change", (e) => { e.preventDefault(); if (inputFile.files[0]) upload(inputFile.files[0]); }); label.addEventListener("dragover", (e) => { e.preventDefault(); }); label.addEventListener("drop", (e) => { e.preventDefault(); if (e.dataTransfer.files[0]) upload(e.dataTransfer.files[0]); }); form.addEventListener("submit", (e) => { e.preventDefault(); const prompt = prompt_txt.value.trim(); if (prompt && file) { showchart(""); } else { console.log("no file selected or no prompted"); } }); const showchart = (url) => { chart_wrapper.innerHTML = ` `; result_section.style.display = "block"; result_section.scrollIntoView({ behavior: "smooth" }); }; const download = () => { const imageurl = document.querySelector("#chart").src; const a = document.createElement("a"); a.href = imageurl; a.download = "SmartDoc-chart.jpg"; document.body.appendChild(a); a.click(); document.body.removeChild(a); };