0d10e17caf
espid2sensor lief bisher nur per eigenem Dev-Compose mit isolierter Wegwerf-Mongo. Jetzt Teil von noisesensors/docker-compose.yml, Port 3004, Zugriff auf die dort laufende mongodb-Instanz (sensor_data). DEV_AUTO_LOGIN explizit aus, SESSION_SECRET ueber neue Env-Variable statt Code-Default. Dockerfile_esp2sensor an das Muster der anderen Services angeglichen (node:22-alpine, /opt/app, npm ci, tzdata/Europe-Berlin, deluser node). espid2sensor/.git entfernt (war eigenes verschachteltes Repo) und der komplette Verzeichnisinhalt ins laermsensor-stack-Repo uebernommen. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
34 lines
1.0 KiB
JavaScript
34 lines
1.0 KiB
JavaScript
// public/login.js
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
const emailInput = document.getElementById('email');
|
|
const emailStatus = document.getElementById('emailStatus');
|
|
let debounceTimeout;
|
|
|
|
emailInput.addEventListener('input', () => {
|
|
clearTimeout(debounceTimeout);
|
|
const email = emailInput.value.trim();
|
|
|
|
if (!email) {
|
|
emailStatus.textContent = '';
|
|
return;
|
|
}
|
|
|
|
debounceTimeout = setTimeout(async () => {
|
|
try {
|
|
const res = await fetch(`/api/check-email?email=${encodeURIComponent(email)}`);
|
|
const data = await res.json();
|
|
if (data.exists) {
|
|
emailStatus.textContent = '✅ Benutzer existiert';
|
|
emailStatus.style.color = 'green';
|
|
} else {
|
|
emailStatus.textContent = '❌ Benutzer nicht gefunden';
|
|
emailStatus.style.color = 'red';
|
|
}
|
|
} catch (err) {
|
|
console.error(err);
|
|
emailStatus.textContent = 'Fehler bei der Prüfung';
|
|
emailStatus.style.color = 'orange';
|
|
}
|
|
}, 300);
|
|
});
|
|
}); |