From 0ba58d7538b2342ec80feda88db4985f9fcefde0 Mon Sep 17 00:00:00 2001 From: seaznCode Date: Sun, 12 Oct 2025 13:45:42 +0200 Subject: [PATCH] feat: Automatically send verification email on page load and update UI accordingly --- .../register-email-verify/page.tsx | 54 ++++++++++++++++--- 1 file changed, 48 insertions(+), 6 deletions(-) diff --git a/src/app/quickaction-dashboard/register-email-verify/page.tsx b/src/app/quickaction-dashboard/register-email-verify/page.tsx index 09f76f8..e3f671b 100644 --- a/src/app/quickaction-dashboard/register-email-verify/page.tsx +++ b/src/app/quickaction-dashboard/register-email-verify/page.tsx @@ -14,8 +14,39 @@ export default function EmailVerifyPage() { const [error, setError] = useState('') const [success, setSuccess] = useState(false) const [resendCooldown, setResendCooldown] = useState(0) + const [initialEmailSent, setInitialEmailSent] = useState(false) const inputsRef = useRef>([]) + // Send verification email automatically on page load + useEffect(() => { + if (!token || initialEmailSent) return + + const sendInitialEmail = async () => { + try { + const response = await fetch(`${process.env.NEXT_PUBLIC_API_BASE_URL}/api/send-verification-email`, { + method: 'POST', + headers: { + 'Authorization': `Bearer ${token}`, + 'Content-Type': 'application/json' + } + }) + + const data = await response.json() + + if (response.ok && data.success) { + setInitialEmailSent(true) + setResendCooldown(30) // Start cooldown after initial send + } else { + console.error('Failed to send initial verification email:', data.message) + } + } catch (error) { + console.error('Error sending initial verification email:', error) + } + } + + sendInitialEmail() + }, [token, initialEmailSent]) + // Cooldown timer useEffect(() => { if (!resendCooldown) return @@ -166,12 +197,23 @@ export default function EmailVerifyPage() { E-Mail verifizieren

- Gib den 6-stelligen Code ein, den wir an - {' '} - - {user?.email || 'deine E-Mail'} - {' '} - gesendet haben. + {initialEmailSent ? ( + <> + Wir haben einen 6-stelligen Code an{' '} + + {user?.email || 'deine E-Mail'} + {' '} + gesendet. Gib ihn unten ein. + + ) : ( + <> + E-Mail wird gesendet an{' '} + + {user?.email || 'deine E-Mail'} + + ... + + )}