/**
* Login page functionality
*/
function renderLogin() {
const appElement = document.getElementById('app');
// Create login form HTML
appElement.innerHTML = `
`;
// Add event listener to the login form
document.getElementById('login-form').addEventListener('submit', async (e) => {
e.preventDefault();
const username = document.getElementById('username').value;
const password = document.getElementById('password').value;
const loginButton = document.getElementById('login-button');
const loginError = document.getElementById('login-error');
// Reset UI state
loginError.classList.add('hidden');
loginButton.disabled = true;
loginButton.textContent = 'Logging in...';
try {
await api.auth.login(username, password);
appState.isAuthenticated = true;
router.navigate('/dashboard');
} catch (error) {
loginError.textContent = 'Invalid username or password';
loginError.classList.remove('hidden');
} finally {
loginButton.disabled = false;
loginButton.textContent = 'Login';
}
});
}