iamges udpae and swagger fixes
This commit is contained in:
101
docs/30-FRONTEND/PAGE-AUDIT.md
Normal file
101
docs/30-FRONTEND/PAGE-AUDIT.md
Normal file
@@ -0,0 +1,101 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user