/** * Login page functionality */ function renderLogin() { const appElement = document.getElementById('app'); // Create login form HTML appElement.innerHTML = `

Login to DMARQ

`; // 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'; } }); }