Skip to content

Work / Scrvio / Wiki / Surfaces

verify-email

Surfacecanonicalverified 2026-10-04

SURFACE.WEB.VERIFY-EMAIL

Summary

Verifies an email address from the token in a verification email.

Raw wireframe

  • .context/designs/web/auth/verify-email.html
  • .context/designs/web/auth/verify-email-loading.html
  • .context/designs/web/auth/verify-email-error.html

Why it is drawn this way

The page verifies on load. VerifyEmailForm fires the mutation in an effect. The loading state is that wait; the user does nothing.

Success has a stray full stop. The text is {verifyMessage}. Redirecting to login... and the message already ends in !, so it reads "Email verified successfully!. Redirecting to login...". Drawn as it renders.

Success redirects after 3 seconds. No button. As on the reset confirmation, the drawing links "Redirecting to login..." so the edge exists.

Resend shows only when the link carries an email. The button renders if ?email= is present. The error state draws it. Without the param only Back to Login is left.

The failure text is the server's. An expired or used token gives "Please provide a valid token." The same text shows as a toast.

Nothing in the site sends a user here. Registration goes straight to Home. This route is reached only from the email.

Related

Sources

  • apps/website/src/app/auth/verify-email/page.tsx
  • packages/ui/src/components/auth/verify-email-form.tsx
  • apps/server/src/api/01-authorization/verification-token/verification-token.service.ts