Sign-in & access
Dashboard: every screen, state and flow in Sign-in & access.
4 screens and overlays, 17 states, 3 flows. Frames show a real screenshot where one was captured and a wireframe card where the state needs data or conditions a device run cannot produce.
Flows
Sign in and land
Sign In
Signed in
Toast Signed in successfully! then redirect
Needs data: Needs specific backend rows, a role, or a submitted write on a disposable record
Branches and edge cases
Sign In
Submitting
Button reads Signing in... and is disabled
Not reachable on a device: Needs a server error, crash, race or code change
Sign In
Field validation
Zod errors shown per field
Not captured yet
Sign In
Sign-in failed
Inline red text plus error toast, user stays on page
Not captured yet
Sign In
Role apps lands on denied
Valid apps account signs in, then sees AccessDenied and empty sidebar
Needs data: Needs specific backend rows, a role, or a submitted write on a disposable record
Access Denied
No permission
Default text: You don't have permission to access this feature
Needs data: Needs specific backend rows, a role, or a submitted write on a disposable record
Flow diagram
Sign up and wait for access
Create Account
Account created
Toast says an administrator must grant dashboard access
Needs data: Needs specific backend rows, a role, or a submitted write on a disposable record
Access Denied
Role box
Shows Your role; Required role only when minRole is passed (no page does)
Needs data: Needs specific backend rows, a role, or a submitted write on a disposable record
Branches and edge cases
Create Account
Sign-up failed
Inline error text plus toast
Not captured yet
Create Account
New account is role apps
Redirect lands on AccessDenied with empty sidebar; no pending screen
Needs data: Needs specific backend rows, a role, or a submitted write on a disposable record
Flow diagram
Password reset
Reset Password
Request sent
Generic text, does not reveal if the account exists
Needs data: Needs specific backend rows, a role, or a submitted write on a disposable record
Reset Password
Password reset
Confirmation with Return to sign in
Needs data: Needs specific backend rows, a role, or a submitted write on a disposable record
Branches and edge cases
Reset Password
Request failed
Inline: Could not send the reset email
Not reachable on a device: Needs a server error, crash, race or code change
Reset Password
Reset failed
Inline: Could not reset your password. Try again.
Not captured yet
Flow diagram
Screens and states
Sign In
auth/sign-inSign In
Email and password sign in for staff.
src/app/auth/sign-in/[[...sign-in]]/page.tsxEntry
- AuthGuard redirect with callbackUrl
- Sign-out redirect
- User menu Sign in
Exits
- Submit → callbackUrl or /dashboard/overview
- Forgot your password? → /auth/forgot-password
- Create an account → /auth/sign-up
States · 7
src/features/auth/components/sign-in-form.tsx:140src/features/auth/components/sign-in-form.tsx:134src/features/auth/components/sign-in-form.tsx:56src/hooks/use-auth.ts:145src/hooks/use-auth.ts:151src/hooks/use-auth.ts:137src/features/auth/components/sign-in-form.tsx:110Create Account
auth/sign-upCreate Account
Self sign up with name, email and password.
src/app/auth/sign-up/[[...sign-up]]/page.tsxEntry
- Create an account link on sign-in
Exits
- Submit → /dashboard/overview
- Sign in to your account → /auth/sign-in
- Privacy and Terms links → /privacy, /terms
States · 3
src/hooks/use-auth.ts:179packages/backend/convex/auth.ts:98src/features/auth/components/sign-up-form.tsx:56Reset Password
auth/forgot-passwordReset Password
Request a reset email, or set a new password via token.
src/app/auth/forgot-password/page.tsx:12Entry
- Forgot your password? on sign-in
- Email link with ?token=
Exits
- Request → email sent confirmation
- Set password → reset confirmation
- Return to sign in → /auth/sign-in
States · 6
src/features/auth/components/password-reset-form.tsx:134src/features/auth/components/password-reset-form.tsx:97src/features/auth/components/password-reset-form.tsx:128src/features/auth/components/password-reset-form.tsx:254src/features/auth/components/password-reset-form.tsx:276src/features/auth/components/password-reset-form.tsx:68Privacy Policy and Terms of Service
privacy-termsPrivacy Policy and Terms of Service
Placeholder legal pages.
src/app/privacy/page.tsxEntry
- Sign-up form footer links
Exits
- None
States · 1
src/app/terms/page.tsx








