diff --git a/public/app.js b/public/app.js index dc4534b..cd605c4 100755 --- a/public/app.js +++ b/public/app.js @@ -15,6 +15,9 @@ const loginSubmit = document.getElementById("login-submit"); const loginMsg = document.getElementById("login-msg"); const nav = document.getElementById("services"); +const usernameInput = document.getElementById("username"); +const passwordInput = document.getElementById("password"); + let loggedIn = false; // === Login Modal anzeigen === @@ -22,10 +25,10 @@ loginBtn.onclick = () => { loginModal.style.display = "block"; }; -// === Login Submit === -loginSubmit.onclick = async () => { - const user = document.getElementById("username").value; - const pass = document.getElementById("password").value; +// === Login-Logik als wiederverwendbare Funktion === +async function doLogin() { + const user = usernameInput.value; + const pass = passwordInput.value; try { const res = await fetch("/api/login", { @@ -39,13 +42,26 @@ loginSubmit.onclick = async () => { loginModal.style.display = "none"; loginMsg.textContent = ""; setupServiceButtons(); + switchToLogout(); // Button-Text/Handler anpassen (siehe weiter unten) } else { loginMsg.textContent = "Login fehlgeschlagen"; } } catch (e) { loginMsg.textContent = "Fehler: " + e.message; } -}; +} + +loginSubmit.onclick = doLogin; + +// Enter / Return auf Passwort- und Benutzerfeld auslösen Login +[usernameInput, passwordInput].forEach(input => { + input.addEventListener('keydown', (e) => { + if (e.key === 'Enter') { + e.preventDefault(); + doLogin(); + } + }); +}); // === Service Buttons dynamisch erstellen === function setupServiceButtons() {