From 0669214d47e509e6a66330df076cf4ba45917d9b Mon Sep 17 00:00:00 2001 From: root Date: Sun, 8 Feb 2026 13:38:13 -0500 Subject: [PATCH] fix: preserva email no login quando senha incorreta - Passa email como parametro na URL de erro - Preenche campo automaticamente ao recarregar - Foca no campo senha quando email ja preenchido Co-Authored-By: Claude Opus 4.5 --- public/login.html | 8 +++++++- server.js | 5 +++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/public/login.html b/public/login.html index 2de2fc2..6217a4b 100644 --- a/public/login.html +++ b/public/login.html @@ -168,7 +168,13 @@ el.textContent = 'E-mail ou senha incorretos.'; el.style.display = 'block'; } - document.getElementById('email').focus(); + const emailParam = params.get('email'); + if (emailParam) { + document.getElementById('email').value = emailParam; + document.getElementById('senha').focus(); + } else { + document.getElementById('email').focus(); + } diff --git a/server.js b/server.js index a39f822..fae5606 100644 --- a/server.js +++ b/server.js @@ -55,9 +55,10 @@ app.get('/login', (req, res) => { // Unified Login POST - detects role and redirects accordingly app.post('/login', async (req, res) => { const { email, senha } = req.body; + const emailParam = encodeURIComponent(email || ''); try { const user = await authenticate(email, senha); - if (!user) return res.redirect('/login?error=1'); + if (!user) return res.redirect(`/login?error=1&email=${emailParam}`); // Unified session req.session.user = { @@ -76,7 +77,7 @@ app.post('/login', async (req, res) => { } } catch (err) { console.error('Login error:', err); - res.redirect('/login?error=1'); + res.redirect(`/login?error=1&email=${emailParam}`); } });