# 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 `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