function togglePasswordVisibility() { const passwordField = document.getElementById('password'); const toggleIcon = document.getElementById('toggle-password'); if (passwordField.type === 'password') { passwordField.type = 'text'; toggleIcon.innerHTML = 'Hide Password'; } else { passwordField.type = 'password'; toggleIcon.innerHTML = 'Show Password'; } } // Form validation and error handling const form = document.getElementById('login-form'); const emailInput = document.getElementById('email'); const passwordInput = document.getElementById('password'); const emailError = document.getElementById('email-error'); const passwordError = document.getElementById('password-error'); const loginBtn = document.getElementById('login-btn'); form.addEventListener('submit', function (event) { event.preventDefault(); let hasError = false; // Clear previous error messages emailError.textContent = ''; passwordError.textContent = ''; // Validate email if (emailInput.value.trim() === '') { emailError.textContent = 'Please fill in the email field'; hasError = true; } else if (!validateEmail(emailInput.value)) { emailError.textContent = 'Email is not valid'; hasError = true; } // Validate password if (passwordInput.value.trim() === '') { passwordError.textContent = 'Please fill in the password field'; hasError = true; } if (hasError) return; // Show spinner and disable button loginBtn.disabled = true; loginBtn.innerHTML = 'Logging in...
'; const spinner = document.getElementById('spinner'); spinner.style.display = 'inline-block'; // Simulate an API request for login (replace this with your actual login API call) setTimeout(function () { // Simulate a response: if login fails let loginSuccess = false; // Change this to simulate success/failure if (!loginSuccess) { emailError.textContent = 'Email not found or incorrect password'; passwordError.textContent = 'Please try again'; spinner.style.display = 'none'; loginBtn.disabled = false; loginBtn.innerText = "Login"; } else { window.location.href = '/dashboard'; // Redirect to dashboard after successful login } }, 3000); // Shortened timeout for testing purposes }); function validateEmail(email) { const regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/; return regex.test(email); }