51 lines
2.0 KiB
Markdown
51 lines
2.0 KiB
Markdown
# Verify account
|
|
|
|
- **Route:** `/register/validate?c=CODE`
|
|
- **API:** POST /v1/auth/verify
|
|
- **Visual reference:** `source/RenewCMS Screens Auth.dc.html`, group "Verify" (open it in a browser; each state is drawn at desktop and mobile, with a light/dark toggle).
|
|
|
|
Opened from the verification email, and submits automatically on load. This is the only full-card spinner in the product.
|
|
|
|
## States
|
|
|
|
### Verifying
|
|
|
|
**Trigger:** On load, with a code in the URL.
|
|
|
|
- Full-card spinner: "Verifying your account…"
|
|
|
|
### Success
|
|
|
|
**Trigger:** 200 → /home after 800 ms, with a toast.
|
|
|
|
- ResultPanel (success, shield-check): **Your account is verified**; text "Taking you to your dashboard…"
|
|
- Toast (circle-check): **Your account is verified** "Welcome to RenewCMS."
|
|
|
|
### Invalid or expired (403)
|
|
|
|
**Trigger:** The code is wrong, used, or older than 2 hours.
|
|
|
|
- ResultPanel (error, link-2-off): **This verification link doesn't work**; text "It may have expired (links last 2 hours) or already been used."; note "Cancel your registration and start over to get a new link."; actions "Cancel registration and start over" (primary), "Log out" (secondary)
|
|
|
|
### No session (401)
|
|
|
|
**Trigger:** Opened in another browser or device. Log in inline, then verification retries automatically with the same code.
|
|
|
|
- Heading: **Log in to finish verifying**
|
|
- Description: "You opened this link somewhere you're not logged in. Log in here and we'll verify your account right after."
|
|
- Field `Username`: placeholder "Your username"
|
|
- Field `Password`: password with show/hide
|
|
- Submit button: "Log in and verify"
|
|
|
|
### No session, retrying
|
|
|
|
**Trigger:** Logged in inline. Now verifying.
|
|
|
|
- Full-card spinner: "Verifying your account…"
|
|
|
|
### Missing code
|
|
|
|
**Trigger:** The link has no ?c= parameter. No request is made.
|
|
|
|
- ResultPanel (error, link-2-off): **This link is incomplete**; text "The verification code is missing. Open the link from your email again, or copy the full address into your browser."; actions "Go to log in" (secondary)
|