59 lines
2.2 KiB
JavaScript
59 lines
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');
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
});
|