3.1 KiB
3.1 KiB
Frontend Page Audit (In Progress)
Last Updated: January 20, 2026
Goal: Verify each page’s functions, API usage, and flow consistency.
Audit Scope (Current Batch)
- Auth pages: Sign In, Sign Up, Forgot Password, Reset Password, Verify Email, Unsubscribe
- Payment page
Auth Pages
Sign In
- Route:
/signin - File:
frontend/src/pages/AuthPages/SignIn.tsx - Components:
PageMeta,AuthLayout,SignInForm - API usage: none in page (handled by
SignInForm) - Notes: Page is a wrapper; all auth logic is inside
SignInForm.
Sign Up
- Route:
/signup - File:
frontend/src/pages/AuthPages/SignUp.tsx - Components:
PageMeta,SignUpFormUnified,GridShape - API usage:
GET /v1/auth/plans/(public) for plan list - Behavior:
- Reads
planquery param to preselect plan - Defaults to first active plan if no match
- Sorts plans by price ascending
- Reads
- Notes:
- Geo detection removed; country selected in form
- Payment selection deferred to
/account/plans
Forgot Password
- Route:
/forgot-password - File:
frontend/src/pages/AuthPages/ForgotPassword.tsx - Components:
PageMeta, icons, local form - API usage:
POST /v1/auth/password-reset/with{ email } - Behavior:
- Always shows success state to prevent email enumeration
Reset Password
- Route:
/reset-password?token=... - File:
frontend/src/pages/AuthPages/ResetPassword.tsx - Components:
PageMeta, icons, form - API usage:
POST /v1/auth/password-reset/confirm/with{ token, new_password, new_password_confirm } - Behavior:
- If no
token, redirects to/forgot-password - Validates password strength client-side
- Handles expired/invalid token states
- If no
Verify Email
- Route:
/verify-email?token=... - File:
frontend/src/pages/AuthPages/VerifyEmail.tsx - Components:
PageMeta, icons - API usage:
POST /v1/auth/users/verify_email/with{ token } - Behavior:
- Requires query param
token - Handles expired/invalid token state
- Requires query param
Unsubscribe
- Route:
/unsubscribe - File:
frontend/src/pages/AuthPages/Unsubscribe.tsx - Components:
PageMeta, icons - Behavior:
- Displays guidance and redirects to
/account/settings?tab=notificationsafter 5 seconds - Notes that transactional emails are not unsubscribable
- Displays guidance and redirects to
- Potential issue: redirect requires auth; unauthenticated users will be sent to sign-in flow.
Payment Page
Payment
- Route:
/payment - File:
frontend/src/pages/Payment.tsx - Components:
InputField,TextArea,Button - Store usage:
useAuthStorefor user/account plan - Behavior:
- Reads
planfrom query string or current account plan - Generates mailto for offline payment confirmation
- Redirects to
/pricingif plan or user missing
- Reads
- Potential issue:
/pricingis not defined inApp.tsxroutes (may exist in marketing app).
Next Audit Batch
- Dashboard and core workflow pages
- Sites pages (dashboard, settings, sync, deployment)
- Planner and Writer pages