359 lines
11 KiB
Markdown
359 lines
11 KiB
Markdown
# Frontend Pages & Routes
|
|
|
|
> **Auto-verified against:** `frontend/src/App.tsx`
|
|
> **Last Verified:** January 20, 2026
|
|
> **Version:** 1.8.3
|
|
> **Total Routes:** 100
|
|
|
|
---
|
|
|
|
## Route Configuration
|
|
|
|
Routes defined in `/frontend/src/App.tsx`:
|
|
|
|
| Guard | Purpose |
|
|
|-------|---------|
|
|
| `ProtectedRoute` | Requires authentication |
|
|
| `AdminRoute` | Requires staff/admin role |
|
|
| `AppLayout` | Shared layout (sidebar + header) |
|
|
|
|
---
|
|
|
|
## Public Routes (No Auth Required)
|
|
|
|
| Route | File | Description |
|
|
|-------|------|-------------|
|
|
| `/signin` | `AuthPages/SignIn.tsx` | User login |
|
|
| `/signup` | `AuthPages/SignUp.tsx` | Account registration |
|
|
| `/signup/pk` | `AuthPages/SignUp.tsx` | Legacy route → main signup |
|
|
| `/payment` | `Payment.tsx` | Payment page |
|
|
| `/forgot-password` | `AuthPages/ForgotPassword.tsx` | Request password reset |
|
|
| `/reset-password` | `AuthPages/ResetPassword.tsx` | Set new password |
|
|
| `/verify-email` | `AuthPages/VerifyEmail.tsx` | Email verification |
|
|
| `/unsubscribe` | `AuthPages/Unsubscribe.tsx` | Email unsubscribe |
|
|
| `/terms` | `legal/Terms.tsx` | Terms of Service |
|
|
| `/privacy` | `legal/Privacy.tsx` | Privacy Policy |
|
|
|
|
---
|
|
|
|
## Dashboard
|
|
|
|
| Route | File | Description |
|
|
|-------|------|-------------|
|
|
| `/` | `Dashboard/Home.tsx` | Main dashboard with workflow widgets |
|
|
|
|
---
|
|
|
|
## Setup & Keywords Library
|
|
|
|
| Route | File | Description |
|
|
|-------|------|-------------|
|
|
| `/setup/wizard` | `Setup/SetupWizard.tsx` | Onboarding wizard |
|
|
| `/keywords-library` | `Setup/IndustriesSectorsKeywords.tsx` | Keywords library |
|
|
|
|
**Redirects:**
|
|
- `/setup/add-keywords` → `/keywords-library`
|
|
- `/setup/industries-sectors-keywords` → `/keywords-library`
|
|
|
|
---
|
|
|
|
## Sites Management
|
|
|
|
| Route | File | Description |
|
|
|-------|------|-------------|
|
|
| `/sites` | `Sites/List.tsx` | Sites list |
|
|
| `/sites/:id` | `Sites/Dashboard.tsx` | Site dashboard |
|
|
| `/sites/:id/pages` | `Sites/PageManager.tsx` | Page manager |
|
|
| `/sites/:id/pages/new` | `Sites/PageManager.tsx` | New page |
|
|
| `/sites/:id/pages/:pageId/edit` | `Sites/PageManager.tsx` | Edit page |
|
|
| `/sites/:id/content` | `Sites/Content.tsx` | Site content overview |
|
|
| `/sites/:id/content/structure` | `Sites/ContentStructure.tsx` | Content structure |
|
|
| `/sites/:id/settings` | `Sites/Settings.tsx` | Site settings |
|
|
| `/sites/:id/sync` | `Sites/SyncDashboard.tsx` | Sync dashboard |
|
|
| `/sites/:id/deploy` | `Sites/DeploymentPanel.tsx` | Deployment panel |
|
|
| `/sites/:id/posts/:postId` | `Sites/PostEditor.tsx` | Post editor |
|
|
| `/sites/:id/posts/:postId/edit` | `Sites/PostEditor.tsx` | Post editor |
|
|
|
|
**Redirects:**
|
|
- `/sites/:id/publishing-queue` → `/publisher/content-calendar`
|
|
|
|
---
|
|
|
|
## Planner
|
|
|
|
| Route | File | Description |
|
|
|-------|------|-------------|
|
|
| `/planner` | → `/planner/keywords` | Redirect |
|
|
| `/planner/keywords` | `Planner/Keywords.tsx` | Keyword management |
|
|
| `/planner/clusters` | `Planner/Clusters.tsx` | Cluster listing |
|
|
| `/planner/clusters/:id` | `Planner/ClusterDetail.tsx` | Cluster detail |
|
|
| `/planner/ideas` | `Planner/Ideas.tsx` | Content ideas |
|
|
|
|
---
|
|
|
|
## Writer
|
|
|
|
| Route | File | Description |
|
|
|-------|------|-------------|
|
|
| `/writer` | → `/writer/tasks` | Redirect |
|
|
| `/writer/tasks` | `Writer/Tasks.tsx` | Task queue |
|
|
| `/writer/content` | `Writer/Content.tsx` | Content list |
|
|
| `/writer/content/:id` | `Writer/ContentView.tsx` | Content detail |
|
|
| `/writer/images` | `Writer/Images.tsx` | Images by content |
|
|
| `/writer/review` | `Writer/Review.tsx` | Review queue |
|
|
| `/writer/approved` | `Writer/Approved.tsx` | Approved content |
|
|
|
|
**Redirects:**
|
|
- `/writer/drafts` → `/writer/content`
|
|
- `/writer/published` → `/writer/approved`
|
|
|
|
---
|
|
|
|
## Automation
|
|
|
|
| Route | File | Description |
|
|
|-------|------|-------------|
|
|
| `/automation` | → `/automation/overview` | Redirect |
|
|
| `/automation/overview` | `Automation/AutomationOverview.tsx` | Run history |
|
|
| `/automation/runs/:runId` | `Automation/AutomationRunDetail.tsx` | Run detail |
|
|
| `/automation/run` | `Automation/AutomationPage.tsx` | Run execution |
|
|
|
|
**Redirects:**
|
|
- `/automation/settings` → `/sites/settings?tab=automation`
|
|
|
|
---
|
|
|
|
## Publisher
|
|
|
|
| Route | File | Description |
|
|
|-------|------|-------------|
|
|
| `/publisher` | → `/publisher/content-calendar` | Redirect |
|
|
| `/publisher/content-calendar` | `Publisher/ContentCalendar.tsx` | Content calendar |
|
|
|
|
---
|
|
|
|
## Linker (Optional Module)
|
|
|
|
| Route | File | Description |
|
|
|-------|------|-------------|
|
|
| `/linker` | → `/linker/content` | Redirect |
|
|
| `/linker/content` | `Linker/ContentList.tsx` | Linker content list |
|
|
|
|
---
|
|
|
|
## Optimizer (Optional Module)
|
|
|
|
| Route | File | Description |
|
|
|-------|------|-------------|
|
|
| `/optimizer` | → `/optimizer/content` | Redirect |
|
|
| `/optimizer/content` | `Optimizer/ContentSelector.tsx` | Content selector |
|
|
| `/optimizer/analyze/:id` | `Optimizer/AnalysisPreview.tsx` | Analysis preview |
|
|
|
|
---
|
|
|
|
## Thinker (Admin Only)
|
|
|
|
| Route | File | Description |
|
|
|-------|------|-------------|
|
|
| `/thinker` | → `/thinker/prompts` | Redirect |
|
|
| `/thinker/prompts` | `Thinker/Prompts.tsx` | Prompt management |
|
|
| `/thinker/author-profiles` | `Thinker/AuthorProfiles.tsx` | Author profiles |
|
|
| `/thinker/profile` | `Thinker/Profile.tsx` | Profile settings |
|
|
| `/thinker/strategies` | `Thinker/Strategies.tsx` | Strategies |
|
|
| `/thinker/image-testing` | `Thinker/ImageTesting.tsx` | Image testing |
|
|
|
|
---
|
|
|
|
## Billing
|
|
|
|
| Route | File | Description |
|
|
|-------|------|-------------|
|
|
| `/billing` | → `/billing/overview` | Redirect |
|
|
| `/billing/overview` | `Settings/CreditsAndBilling.tsx` | Billing overview |
|
|
| `/billing/credits` | `Billing/Credits.tsx` | Credits listing |
|
|
| `/billing/transactions` | `Billing/Transactions.tsx` | Transactions |
|
|
| `/billing/usage` | `Billing/Usage.tsx` | Usage |
|
|
|
|
---
|
|
|
|
## Account
|
|
|
|
| Route | File | Description |
|
|
|-------|------|-------------|
|
|
| `/account/notifications` | `account/NotificationsPage.tsx` | Notifications |
|
|
| `/account/settings` | `account/AccountSettingsPage.tsx` | Account settings |
|
|
| `/account/settings/profile` | `account/AccountSettingsPage.tsx` | Profile tab |
|
|
| `/account/settings/team` | `account/AccountSettingsPage.tsx` | Team tab |
|
|
| `/account/plans` | `account/PlansAndBillingPage.tsx` | Plans & billing |
|
|
| `/account/plans/upgrade` | `account/PlansAndBillingPage.tsx` | Upgrade tab |
|
|
| `/account/plans/history` | `account/PlansAndBillingPage.tsx` | History tab |
|
|
| `/account/usage` | `account/UsageDashboardPage.tsx` | Usage dashboard |
|
|
| `/account/content-settings` | `account/ContentSettingsPage.tsx` | Content settings |
|
|
| `/account/content-settings/publishing` | `account/ContentSettingsPage.tsx` | Publishing tab |
|
|
| `/account/content-settings/images` | `account/ContentSettingsPage.tsx` | Images tab |
|
|
|
|
**Redirects:**
|
|
- `/account/team` → `/account/settings/team`
|
|
- `/account/purchase-credits` → `/account/plans`
|
|
- `/account/usage/logs` → `/account/usage`
|
|
- `/account/usage/credits` → `/account/usage`
|
|
- `/account/usage/insights` → `/account/usage`
|
|
- `/account/usage/activity` → `/account/usage`
|
|
|
|
---
|
|
|
|
## Reference Data
|
|
|
|
| Route | File | Description |
|
|
|-------|------|-------------|
|
|
| `/reference/seed-keywords` | `Reference/SeedKeywords.tsx` | Seed keywords |
|
|
| `/reference/industries` | `Reference/Industries.tsx` | Industries |
|
|
|
|
---
|
|
|
|
## Settings (Admin)
|
|
|
|
| Route | File | Description |
|
|
|-------|------|-------------|
|
|
| `/settings` | `Settings/General.tsx` | General settings |
|
|
| `/settings/users` | `Settings/Users.tsx` | Users |
|
|
| `/settings/subscriptions` | `Settings/Subscriptions.tsx` | Subscriptions |
|
|
| `/settings/system` | `Settings/System.tsx` | System settings |
|
|
| `/settings/account` | `Settings/Account.tsx` | Account settings |
|
|
| `/settings/plans` | `Settings/Plans.tsx` | Plans |
|
|
| `/settings/industries` | `Settings/Industries.tsx` | Industries |
|
|
| `/settings/integration` | `Settings/Integration.tsx` | Integrations |
|
|
| `/settings/publishing` | `Settings/Publishing.tsx` | Publishing settings |
|
|
| `/settings/sites` | `Settings/Sites.tsx` | Sites settings |
|
|
|
|
**Redirects:**
|
|
- `/settings/profile` → `/account/settings`
|
|
- `/settings/import-export` → `/`
|
|
|
|
---
|
|
|
|
## Help
|
|
|
|
| Route | File | Description |
|
|
|-------|------|-------------|
|
|
| `/help` | `Help/Help.tsx` | Help center |
|
|
|
|
---
|
|
|
|
## Internal Pages (Dev Only)
|
|
|
|
| Route | File | Description |
|
|
|-------|------|-------------|
|
|
| `/components` | `Components.tsx` | Component showcase |
|
|
| `/ui-elements` | `UIElements.tsx` | Design system reference |
|
|
|
|
---
|
|
|
|
## Fallback
|
|
|
|
| Route | File | Description |
|
|
|-------|------|-------------|
|
|
| `*` | `OtherPage/NotFound.tsx` | 404 page |
|
|
|
|
---
|
|
|
|
## Page Files Directory
|
|
|
|
```
|
|
frontend/src/pages/
|
|
├── account/
|
|
│ ├── AccountSettingsPage.tsx
|
|
│ ├── ContentSettingsPage.tsx
|
|
│ ├── NotificationsPage.tsx
|
|
│ ├── PlansAndBillingPage.tsx
|
|
│ ├── PurchaseCreditsPage.tsx
|
|
│ ├── UsageAnalyticsPage.tsx
|
|
│ └── UsageDashboardPage.tsx
|
|
├── AuthPages/
|
|
│ ├── AuthPageLayout.tsx
|
|
│ ├── ForgotPassword.tsx
|
|
│ ├── ResetPassword.tsx
|
|
│ ├── SignIn.tsx
|
|
│ ├── SignUp.tsx
|
|
│ ├── Unsubscribe.tsx
|
|
│ └── VerifyEmail.tsx
|
|
├── Automation/
|
|
│ ├── AutomationOverview.tsx
|
|
│ ├── AutomationPage.tsx
|
|
│ ├── AutomationRunDetail.tsx
|
|
│ └── PipelineSettings.tsx
|
|
├── Billing/
|
|
│ ├── Credits.tsx
|
|
│ ├── Transactions.tsx
|
|
│ └── Usage.tsx
|
|
├── Dashboard/
|
|
│ └── Home.tsx
|
|
├── Help/
|
|
│ └── Help.tsx
|
|
├── legal/
|
|
│ ├── Privacy.tsx
|
|
│ └── Terms.tsx
|
|
├── Linker/
|
|
│ └── ContentList.tsx
|
|
├── Optimizer/
|
|
│ ├── AnalysisPreview.tsx
|
|
│ └── ContentSelector.tsx
|
|
├── OtherPage/
|
|
│ └── NotFound.tsx
|
|
├── Planner/
|
|
│ ├── ClusterDetail.tsx
|
|
│ ├── Clusters.tsx
|
|
│ ├── Ideas.tsx
|
|
│ └── Keywords.tsx
|
|
├── Publisher/
|
|
│ ├── ContentCalendar.tsx
|
|
│ └── PublishSettings.tsx
|
|
├── Reference/
|
|
│ ├── Industries.tsx
|
|
│ └── SeedKeywords.tsx
|
|
├── Settings/
|
|
│ ├── Account.tsx
|
|
│ ├── CreditsAndBilling.tsx
|
|
│ ├── General.tsx
|
|
│ ├── Industries.tsx
|
|
│ ├── Integration.tsx
|
|
│ ├── Plans.tsx
|
|
│ ├── Publishing.tsx
|
|
│ ├── Sites.tsx
|
|
│ ├── Subscriptions.tsx
|
|
│ ├── System.tsx
|
|
│ ├── Users.tsx
|
|
│ └── WordPressIntegrationDebug.tsx
|
|
├── Setup/
|
|
│ ├── IndustriesSectorsKeywords.tsx
|
|
│ └── SetupWizard.tsx
|
|
├── Sites/
|
|
│ ├── AIAutomationSettings.tsx
|
|
│ ├── Content.tsx
|
|
│ ├── ContentStructure.tsx
|
|
│ ├── Dashboard.tsx
|
|
│ ├── DeploymentPanel.tsx
|
|
│ ├── List.tsx
|
|
│ ├── PageManager.tsx
|
|
│ ├── PostEditor.tsx
|
|
│ ├── PublishingQueue.tsx
|
|
│ ├── Settings.tsx
|
|
│ └── SyncDashboard.tsx
|
|
├── Thinker/
|
|
│ ├── AuthorProfiles.tsx
|
|
│ ├── ImageTesting.tsx
|
|
│ ├── Profile.tsx
|
|
│ ├── Prompts.tsx
|
|
│ └── Strategies.tsx
|
|
├── Writer/
|
|
│ ├── Approved.tsx
|
|
│ ├── Content.tsx
|
|
│ ├── ContentView.tsx
|
|
│ ├── Images.tsx
|
|
│ ├── Review.tsx
|
|
│ └── Tasks.tsx
|
|
├── Components.tsx
|
|
├── Payment.tsx
|
|
└── UIElements.tsx
|
|
```
|