# Check your email - **Route:** `/register/pending` - **API:** DELETE /v1/auth/register · POST /v1/auth/logout - **Visual reference:** `source/RenewCMS Screens Auth.dc.html`, group "Pending" (open it in a browser; each state is drawn at desktop and mobile, with a light/dark toggle). Any back-office route visited by an unverified account lands here. There's no way to resend the email because the API doesn't offer one, so the note explains the way out. ## States ### Default **Trigger:** Straight after registering, when the email is known from the form. - ResultPanel (success, mail-check): **Check your email**; text "We sent a verification link to marta@renew.example. It expires in 2 hours."; note "Opened it on another device? That works too; you'll log in there first. Can't find it? Check your spam folder. If the link has expired, cancel your registration and start again."; actions "Log out" (secondary), "Cancel registration" (secondary) ### Email unknown **Trigger:** Arrived after logging in as an unverified user. - ResultPanel (success, mail-check): **Check your email**; text "We sent a verification link to the email you registered with. It expires in 2 hours."; note "Opened it on another device? That works too; you'll log in there first. Can't find it? Check your spam folder. If the link has expired, cancel your registration and start again."; actions "Log out" (secondary), "Cancel registration" (secondary) ### Confirm cancel **Trigger:** "Cancel registration" opens the destructive ConfirmDialog. - ResultPanel (success, mail-check): **Check your email**; text "We sent a verification link to marta@renew.example. It expires in 2 hours."; note "Opened it on another device? That works too; you'll log in there first. Can't find it? Check your spam folder. If the link has expired, cancel your registration and start again."; actions "Log out" (secondary), "Cancel registration" (secondary) - ConfirmDialog: **Cancel your registration?** - text "Your account will be deleted. You can register again with the same or a different email." - cancel "Keep my account" - confirm "Cancel registration" ### Cancelling **Trigger:** DELETE in flight. The dialog can't be dismissed. - ResultPanel (success, mail-check): **Check your email**; text "We sent a verification link to marta@renew.example. It expires in 2 hours."; note "Opened it on another device? That works too; you'll log in there first. Can't find it? Check your spam folder. If the link has expired, cancel your registration and start again."; actions "Log out" (secondary), "Cancel registration" (secondary) - ConfirmDialog: **Cancel your registration?** - text "Your account will be deleted. You can register again with the same or a different email." - cancel "Keep my account" - confirm "Cancelling…" ### Cancelled **Trigger:** 200 → /register, with a toast. - Heading: **Create the owner account** - Description: "This creates the single admin account for this site. Once it's verified, registration closes." - Field `Username`: placeholder "e.g. marta"; counter "0 / 20"; help "Letters and numbers, 3 to 20 characters. You'll use it to log in." - Field `Email`: placeholder "you@example.com"; help "We'll send a verification link here." - Field `Password`: password with show/hide; checklist "At least 8 characters" (unmet) - Submit button: "Create account" - Footer: Already set up? [Log in] - Toast (circle-check): **Registration cancelled** "You can create the owner account again." ### Already verified (403) **Trigger:** Verified on another device. Goes to /home; shown here as the toast over the destination. - ResultPanel (success, shield-check): **You're verified**; text "Taking you to your dashboard…" - Toast (info): **Your account is already verified** "There's nothing to cancel."