mirror of
https://github.com/MasterAcnolo/Freedom-Loader.git
synced 2026-07-29 18:25:47 +02:00
56 lines
1.6 KiB
JavaScript
56 lines
1.6 KiB
JavaScript
/*
|
||
This file is part of Freedom Loader.
|
||
|
||
Copyright (C) 2025 MasterAcnolo
|
||
|
||
Freedom Loader is free software: you can redistribute it and/or modify
|
||
it under the terms of the GNU General Public License as published by
|
||
the Free Software Foundation, either version 3 of the License.
|
||
|
||
Freedom Loader is distributed in the hope that it will be useful,
|
||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||
See the GNU General Public License for more details.
|
||
|
||
You should have received a copy of the GNU General Public License
|
||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
*/
|
||
|
||
const form = document.getElementById("downloadForm");
|
||
const statusDiv = document.getElementById("downloadStatus");
|
||
const button = form.querySelector("button");
|
||
|
||
form.addEventListener("submit", async (e) => {
|
||
e.preventDefault();
|
||
button.disabled = true; // Empêche les clics multiples
|
||
statusDiv.textContent = "Téléchargement en cours...";
|
||
|
||
const formData = new FormData(form);
|
||
const params = new URLSearchParams(formData);
|
||
|
||
try {
|
||
const res = await fetch("/download", {
|
||
method: "POST",
|
||
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
||
body: params,
|
||
});
|
||
|
||
if (!res.ok) {
|
||
statusDiv.textContent = "❌ Erreur pendant le téléchargement.";
|
||
return;
|
||
}
|
||
|
||
const text = await res.text();
|
||
statusDiv.textContent = text;
|
||
|
||
} catch {
|
||
statusDiv.textContent = "❌ Une erreur s’est produite.";
|
||
} finally {
|
||
button.disabled = false;
|
||
|
||
setTimeout(() => {
|
||
statusDiv.textContent = "";
|
||
}, 5000);
|
||
}
|
||
});
|