SwapStation_WebApp/frontend/js/auth.js

37 lines
1.3 KiB
JavaScript

// frontend/js/auth.js
document.addEventListener('DOMContentLoaded', () => {
const loginForm = document.getElementById('login-form');
const errorMessageDiv = document.getElementById('error-message');
loginForm.addEventListener('submit', async (event) => {
event.preventDefault();
errorMessageDiv.classList.add('hidden');
const username = document.getElementById('username').value;
const password = document.getElementById('password').value;
try {
const response = await fetch('http://10.10.1.183:5000/api/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ username, password }),
});
const data = await response.json();
if (response.ok) {
// Save user to localStorage and go to station selection
localStorage.setItem('user', JSON.stringify(data.user));
window.location.href = 'station_selection.html';
} else {
errorMessageDiv.textContent = data.message || 'Login failed.';
errorMessageDiv.classList.remove('hidden');
}
} catch (error) {
errorMessageDiv.textContent = 'Failed to connect to the server.';
errorMessageDiv.classList.remove('hidden');
console.error('Login error:', error);
}
});
});