let updateAvailable = false; // globaler Status

async function loadVersionInfo() {
    try {
        const res = await fetch("/api/version");
        const data = await res.json();

        const versionText = document.getElementById("versionText");
        
        versionText.innerText =
            `Aktuell: ${data.currentVersion}  --->  Neueste: ${data.latestVersion}`;

        versionText.style.fontSize = "200%";
        versionText.style.marginTop = "5%";

        const btn = document.getElementById("updateBtn");

        if (data.updateAvailable) {
            versionText.style.color = "#ff7300";
            versionText.style.textShadow = "0px 0px 10px white";
            btn.disabled = false;
            updateAvailable = true;
        } else {
            versionText.style.color = "#000000";
            btn.disabled = false; // Button aktiv, aber Funktion prüft
            updateAvailable = false;
        }

    } catch (err) {
        console.error(err);
        const btn = document.getElementById("updateBtn");
        btn.disabled = true; // Button deaktivieren bei Fehler
    }
}

// Button-Funktion
async function runUpdate() {
    const btn = document.getElementById("updateBtn");

    if (!updateAvailable) {
        alert("Es sind keine Updates verfügbar!");
        return;
    }

    btn.disabled = true;
    btn.innerText = "Update läuft...";

    try {
        const res = await fetch("/api/run-update", { method: "POST" });
        const text = await res.text();

        alert(text);

    } catch (err) {
        console.error(err);
        alert("Fehler beim Starten des Updates");
    }

    btn.disabled = false;
    btn.innerText = "Panel updaten";
}

// Version info direkt beim Laden der Seite abrufen
window.onload = loadVersionInfo;