response.json()) .then(data => { resetBtn.disabled = false; resetBtnText.classList.remove('d-none'); resetBtnSpinner.classList.add('d-none'); if (data.success && data.token) { const resetLink = window.location.origin + '/reset-password.html?token=' + data.token; document.getElementById('resetLinkInput').value = resetLink; document.getElementById('resetLinkButton').href = resetLink; document.getElementById('resetLinkContainer').classList.remove('d-none'); document.getElementById('forgotPasswordForm').classList.add('d-none'); notify('success', 'Reset link generated successfully!'); } else { notify('error', data.message || 'User not found resetBtn.disabled = false; resetBtnText.classList.remove('d-none'); resetBtnSpinner.classList.add('d-none'); if (data.success) { notify('success', data.message || 'Password reset instructions sent to your email'); document.getElementById('forgotPasswordForm').reset(); // Redirect to login after 3 seconds setTimeout(() => { window.location.href = 'login.html'; }, 3000); } else { notify('error', data.message || 'Failed to send reset email'); } }) .catch(error => { console.error('Error:', error); resetBtn.disabled = false; resetBtnText.classList.remove('d-none'); resetBtnSpinner.classList.add('d-none'); notify('error', 'An error occurred. Please try again.'); }); });