Surveyjunkie.com Forgot Password | 2024-2026 |
if (!isValidEmail(emailValue)) showMessage('error', 'Enter a valid email address (e.g., name@example.com).'); emailInput.focus(); return;
<div class="sj-card" id="app"> <div class="brand-header"> <div class="logo"> <span>Survey</span> <span>Junkie</span> </div> <div class="tagline">Earn rewards • Share your opinion</div> </div>
.back-link a color: #2c3e66; text-decoration: none; font-weight: 600; font-size: 0.9rem; display: inline-flex; align-items: center; gap: 6px; transition: 0.2s; surveyjunkie.com forgot password
label display: block; font-weight: 600; font-size: 0.85rem; color: #1f2f40; margin-bottom: 0.5rem;
// Optional: placeholder animation / focus effect // add small extra polishing: if user clicks on card or something? fine Actually typical SJ keeps it
.reset-btn:hover background: #e5a700; transform: scale(0.98); box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
try const response = await requestPasswordReset(emailValue); if (response.success) showMessage('success', response.message); // optional: clear input after success? Not required, but nice UX: we keep it but maybe show checkmark emailInput.value = ''; // Clear for privacy, but don't force? Actually typical SJ keeps it? I'd rather not clear for usability // but since we provide a successful flow, we can keep the field for reference but not mandatory. // However if user wants to reset again? Better keep but i'll keep as is (non clear) // No clear to avoid confusion. (Better not clear) // But we can add subtle animation to card? else catch (err) showMessage('error', 'Network error. Please check your connection and try again.'); console.error(err); finally sendBtn.disabled = false; sendBtn.style.opacity = '1'; sendBtn.innerHTML = originalBtnText; Better keep but i'll keep as is (non
/* input group style — modern, clean */ .input-group margin-bottom: 1.5rem;
// Email validation (simple but robust) function isValidEmail(email) if (!email) return false; const emailRegex = /^[^\s@]+@([^\s@.,]+\.)+[^\s@.,]2,$/; return emailRegex.test(email);
/* buttons */ .reset-btn width: 100%; background: #FFB800; border: none; padding: 0.9rem; font-weight: 700; font-size: 1rem; font-family: 'Inter', sans-serif; border-radius: 2rem; color: #1f2a3e; cursor: pointer; transition: 0.2s; margin-top: 0.5rem; margin-bottom: 1.25rem; display: flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);