Notifications Mark all read
/* Toggle password visibility */ const togglePass = document.getElementById('togglePass'); const passwordInput = document.getElementById('password'); togglePass.addEventListener('click', () => { const isHidden = passwordInput.type === 'password'; passwordInput.type = isHidden ? 'text' : 'password'; togglePass.classList.toggle('fa-eye'); togglePass.classList.toggle('fa-eye-slash'); }); /* Client-side check just gives instant feedback for empty fields. The form posts straight to the Django login view -- the server checks the account and sends staff/admin accounts to the management dashboard and everyone else to the regular home page. */ const loginForm = document.getElementById('loginForm'); const alertBox = document.getElementById('loginAlert'); const alertText = document.getElementById('loginAlertText'); const loginBtn = document.getElementById('loginBtn'); const loginBtnText = document.getElementById('loginBtnText'); loginForm.addEventListener('submit', (e) => { const email = document.getElementById('email').value.trim(); const password = passwordInput.value; if(!email || !password){ e.preventDefault(); alertText.textContent = 'Please fill in both fields.'; alertBox.classList.add('show'); return; } alertBox.classList.remove('show'); loginBtn.disabled = true; loginBtnText.textContent = 'Logging in...'; // form submits normally from here; Django handles auth + redirect }); /* Show any Django messages (errors, success, etc.) as soon as the page loads. */ document.addEventListener('DOMContentLoaded', () => { });