Removed Cyberpunk | Spicy | Vilbrequin Theme, Info Fix, Fix Progress Bar. Centralized Ressources

This commit is contained in:
MasterAcnolo
2025-11-14 23:41:03 +01:00
parent c2e4e12512
commit cdca4a82ab
16 changed files with 805 additions and 4256 deletions

View File

@@ -1,6 +1,3 @@
// Définition des thèmes disponibles
// Chaque thème a un label (affiché dans le select) et un subtitle (texte sous le titre)
const themes = {
default: { label: "Default", subtitle: "Because why not?" },
dark: { label: "Sombre", subtitle: "Darkness is my ally" },
@@ -9,16 +6,11 @@ const themes = {
nf: { label: "NF", subtitle: "You call it music, i call it my Therapist" },
drift: { label: "Drift", subtitle: "Si la route t'appelle, contre appel" },
fanatic: { label: "Fanatic", subtitle: "Always Fnatic !" },
cyberpunk: { label: "Cyberpunk", subtitle: "Wake up, choom. Weve got a city to burn." },
chirac: { label: "Chirac", subtitle: "J'aime les pommes" },
spicy: { label: "Spicy", subtitle: "The Spiciest One" },
vilbrequin: { label: "Vilbrequin", subtitle: "Rend l'argent" }
};
const themeSelect = document.getElementById("themeSelect");
// Remplir le select avec les options à partir du dictionnaire
function populateThemeSelect() {
for (const [themeKey, themeInfo] of Object.entries(themes)) {
const option = document.createElement("option");
@@ -28,14 +20,10 @@ function populateThemeSelect() {
}
}
// Appliquer un thème sur le body et mettre à jour le subtitle
function applyTheme(themeKey) {
// Supprimer les classes de tous les thèmes
document.body.classList.remove(...Object.keys(themes));
// Ajouter la classe correspondant au thème sélectionné
document.body.classList.add(themeKey);
// Mettre à jour le subtitle
const subtitleElement = document.getElementById("subtitle");
if (subtitleElement && themes[themeKey]) {
subtitleElement.textContent = themes[themeKey].subtitle;
@@ -43,12 +31,10 @@ function applyTheme(themeKey) {
}
// Sauvegarder le thème choisi dans le navigateur
function saveTheme(themeKey) {
localStorage.setItem("selectedTheme", themeKey);
}
// Charger le thème sauvegardé au démarrage
function loadTheme() {
const savedTheme = localStorage.getItem("selectedTheme");

View File

@@ -18,7 +18,7 @@ form.addEventListener("submit", async (e) => {
});
if (!res.ok) {
statusDiv.textContent = "❌ Erreur pendant le téléchargement.";
statusDiv.textContent = res;
return;
}

View File

@@ -16,14 +16,27 @@ function resetProgress() {
progressWrapper.style.display = "none";
}
function resetProgressFile() {
progressBar.style.width = "0%";
// progressWrapper reste visible
}
// Connexion SSE, c'est Server-sent events est une technologie grâce à laquelle un navigateur reçoit des mises à jour automatiques à partir d'un serveur via une connexion HTTP.
const evtSource = new EventSource("/download/progress");
evtSource.onmessage = e => {
if (e.data === "reset") {
startProgress();
return;
}
if (e.data === "done") {
resetProgress();
return;
}
const percent = parseFloat(e.data);
if (!isNaN(percent)) {
updateProgress(percent);
if (percent >= 100) {
setTimeout(resetProgress, 500);
}
if (percent >= 100) setTimeout(resetProgressFile, 500);
}
};
};