spotnotes.app/static/assets/js/auth.js
2026-05-12 18:58:18 -05:00

59 lines
No EOL
2.2 KiB
JavaScript

document.addEventListener('DOMContentLoaded', () => {
const loginForm = document.getElementById('login-form');
const registerForm = document.getElementById('register-form');
if (loginForm) {
loginForm.addEventListener('submit', async (e) => {
e.preventDefault();
const email = document.getElementById('email').value;
const password = document.getElementById('password').value;
try {
const res = await fetch('/auth/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email, password })
});
const data = await res.json();
if (res.ok) {
window.location.href = '/'; // Redirect to map
} else {
alert(data.error || 'Login failed');
}
} catch (err) {
console.error(err);
alert('An error occurred');
}
});
}
if (registerForm) {
registerForm.addEventListener('submit', async (e) => {
e.preventDefault();
const email = document.getElementById('email').value;
const firstName = document.getElementById('first-name').value;
const lastName = document.getElementById('last-name').value;
const password = document.getElementById('password').value;
try {
const res = await fetch('/auth/register', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email, password, first_name: firstName, last_name: lastName })
});
const data = await res.json();
if (res.ok) {
alert('Registration successful! Please log in.');
window.location.href = '/login.html';
} else {
alert(data.error || 'Registration failed');
}
} catch (err) {
console.error(err);
alert('An error occurred');
}
});
}
});