Files
igny8/docs/30-FRONTEND/PAGE-AUDIT.md
2026-01-20 12:49:01 +00:00

3.1 KiB
Raw Permalink Blame History

Frontend Page Audit (In Progress)

Last Updated: January 20, 2026
Goal: Verify each pages 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 plan query param to preselect plan
    • Defaults to first active plan if no match
    • Sorts plans by price ascending
  • 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

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

Unsubscribe

  • Route: /unsubscribe
  • File: frontend/src/pages/AuthPages/Unsubscribe.tsx
  • Components: PageMeta, icons
  • Behavior:
    • Displays guidance and redirects to /account/settings?tab=notifications after 5 seconds
    • Notes that transactional emails are not unsubscribable
  • 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: useAuthStore for user/account plan
  • Behavior:
    • Reads plan from query string or current account plan
    • Generates mailto for offline payment confirmation
    • Redirects to /pricing if plan or user missing
  • Potential issue: /pricing is not defined in App.tsx routes (may exist in marketing app).

Next Audit Batch

  • Dashboard and core workflow pages
  • Sites pages (dashboard, settings, sync, deployment)
  • Planner and Writer pages