Files
igny8/to-do-s/part1/SECTION_6_FINAL_MODS.md
2025-12-27 00:34:22 +00:00

17 KiB

Section 6: Sidebar & Navigation - Audit & Action Plan

Date: December 27, 2025
Status: Finalized for Implementation
Scope: Sidebar structure, navigation restructure (tabs → sidebar dropdowns)


6.1 Current Navigation Structure

File: layout/AppSidebar.tsx

Dashboard (standalone)
├─ SETUP
│   ├─ Add Keywords → /setup/add-keywords
│   ├─ Content Settings → /account/content-settings
│   ├─ Sites → /sites
│   └─ Thinker (admin only) → /thinker/prompts
├─ WORKFLOW
│   ├─ Planner → /planner/keywords
│   ├─ Writer → /writer/tasks
│   ├─ Automation → /automation
│   ├─ Linker → /linker/content [NOT ACTIVE - REMOVE]
│   └─ Optimizer → /optimizer/content [NOT ACTIVE - REMOVE]
├─ ACCOUNT
│   ├─ Account Settings → /account/settings
│   ├─ Plans & Billing → /account/plans
│   ├─ Usage → /account/usage
│   └─ AI Models (admin only) → /settings/integration
└─ HELP
    └─ Help & Docs → /help

Current In-Page Navigation (TO BE REMOVED)

Module Current Tabs/Buttons Location
Planner Keywords, Clusters, Ideas Tab buttons in page header
Writer Queue, Drafts, Images, Review, Published Tab buttons in page header
Account Settings Account, Profile, Team Tabs in page
Plans & Billing Current Plan, Upgrade Plan, History Tabs in page
Usage Your Limits & Usage, Credit History, API Activity Tabs in page
Content Settings Content Generation, Publishing, Image Settings Tabs in page

6.2 Issues to Address

# Issue Priority Action
1 Linker in navigation High REMOVE - not active module
2 Optimizer in navigation High REMOVE - not active module
3 KeywordOpportunities reference High REMOVE - page being deleted
4 Help sub-pages in routes High REMOVE - pages being deleted
5 Menu order incorrect High Reorder SETUP: Sites → Add Keywords → Content Settings → Thinker
6 Tabs/buttons clutter page headers High MOVE to sidebar dropdowns
7 No breadcrumb navigation Medium Add breadcrumbs (space now available in header)
8 No "Next Step" guidance Medium Add contextual next step (space now available in header)
9 No active section highlighting Medium Highlight current section/page in sidebar
10 Credit purchase not in sidebar Low Accessible from Plans & Billing

6.3 New Navigation Structure: Sidebar Dropdowns

Decision: Move All Sub-Navigation to Sidebar

Rationale:

  • New app launch - no existing user patterns to unlearn
  • Desktop-only app - no mobile concerns
  • Same number of clicks - active dropdown stays expanded automatically
  • Cleaner page headers - space for breadcrumbs and "Next Step" CTAs
  • Better discoverability - all navigation visible in one place
  • Scalable - easy to add new sub-pages in future
  • Consistent pattern across all modules

New Sidebar Structure

Dashboard

SETUP
├─ Sites ▼
│   ├─ All Sites           → /sites
│   └─ Site Settings       → /sites/:id/settings (contextual)
├─ Add Keywords            → /setup/add-keywords
├─ Content Settings ▼
│   ├─ Content Generation  → /account/content-settings/generation
│   ├─ Publishing          → /account/content-settings/publishing
│   └─ Image Settings      → /account/content-settings/images
└─ Thinker (admin only) ▼
    ├─ Prompts             → /thinker/prompts
    └─ Author Profiles     → /thinker/author-profiles

WORKFLOW
├─ Planner ▼
│   ├─ Keywords            → /planner/keywords
│   ├─ Clusters            → /planner/clusters
│   └─ Ideas               → /planner/ideas
├─ Writer ▼
│   ├─ Queue               → /writer/tasks
│   ├─ Drafts              → /writer/drafts
│   ├─ Images              → /writer/images
│   ├─ Review              → /writer/review
│   └─ Published           → /writer/published
└─ Automation              → /automation

ACCOUNT
├─ Account Settings ▼
│   ├─ Account             → /account/settings/account
│   ├─ Profile             → /account/settings/profile
│   └─ Team                → /account/settings/team
├─ Plans & Billing ▼
│   ├─ Current Plan        → /account/plans/current
│   ├─ Upgrade Plan        → /account/plans/upgrade
│   └─ History             → /account/plans/history
├─ Usage ▼
│   ├─ Limits & Usage      → /account/usage/limits
│   ├─ Credit History      → /account/usage/credits
│   └─ API Activity        → /account/usage/api
└─ AI Models (admin only)  → /settings/integration

HELP
└─ Help & Docs             → /help

6.4 Sidebar Behavior Specification

Dropdown Behavior

  1. Active Page Detection:

    • When user navigates to any page, its parent dropdown auto-expands
    • Current page is highlighted within the dropdown
    • Active dropdown stays expanded - does NOT collapse
  2. Click Behavior:

    • Click on dropdown parent (if not expanded) → expands dropdown
    • Click on dropdown parent (if expanded) → collapses dropdown
    • Click on sub-item → navigates to that page, dropdown stays open
    • Only active page's dropdown auto-opens on page load
  3. Visual States:

    Planner ▼                    ← Parent: expanded indicator
      Keywords                   ← Normal sub-item
      Clusters ●                 ← Active page: highlighted
      Ideas                      ← Normal sub-item
    
    Writer ▶                     ← Collapsed (not active)
    
  4. Persistence:

    • Active dropdown remains expanded during navigation within that module
    • On direct URL access or refresh, opens dropdown containing current page
    • Non-active dropdowns default to collapsed state

Example Flow

User is on /planner/clusters:

WORKFLOW
├─ Planner ▼                   [EXPANDED - contains active page]
│   ├─ Keywords                 [clickable]
│   ├─ Clusters ●               [ACTIVE - highlighted]
│   └─ Ideas                    [clickable]
├─ Writer ▶                    [COLLAPSED]
└─ Automation                  [no dropdown - single page]

User clicks "Ideas":

  • Navigates to /planner/ideas
  • Planner dropdown stays expanded
  • "Ideas" becomes highlighted
  • "Clusters" returns to normal state

User clicks "Writer":

  • Writer dropdown expands
  • Planner dropdown can stay expanded or collapse (design choice)
  • Shows Writer sub-items

6.5 Page Header Structure (After Tabs Removal)

Before (Current)

┌─────────────────────────────────────────────────────────────────────┐
│ [Keywords] [Clusters] [Ideas]    [+ Add] [Bulk ▼] [Filter] [Search] │
├─────────────────────────────────────────────────────────────────────┤
│ Content area...                                                      │

After (New)

┌─────────────────────────────────────────────────────────────────────┐
│ Planner > Clusters              [+ Add] [Bulk ▼]  [Next: Ideas →]   │
├─────────────────────────────────────────────────────────────────────┤
│ [Filter] [Search...]                                                 │
├─────────────────────────────────────────────────────────────────────┤
│ Content area...                                                      │

Header Components

Component Position Purpose
Breadcrumb Left Shows: Section > Page (e.g., "Planner > Clusters")
Primary Actions Center-Right Add, Bulk actions
Next Step CTA Right Contextual "Next: [Action] →" button
Filters/Search Below header or inline Data filtering

6.6 Breadcrumb Implementation

Breadcrumb Pattern

[Section] > [Page]
[Section] > [Page] > [Detail]

Examples

Route Breadcrumb Display
/planner/keywords Planner > Keywords
/planner/clusters Planner > Clusters
/planner/clusters/:id Planner > Clusters > [Cluster Name]
/writer/drafts Writer > Drafts
/writer/drafts/:id Writer > Drafts > [Content Title]
/account/settings/team Account Settings > Team
/account/plans/upgrade Plans & Billing > Upgrade Plan

Implementation

  • Create reusable <Breadcrumb /> component
  • Each page defines its breadcrumb trail via props or route config
  • Clickable links except for current page (last item)

6.7 "Next Step" CTA Implementation

Contextual Next Steps

Current Location Condition Next Step CTA
Sites Site created "Next: Add Keywords →"
Add Keywords Keywords added (count > 0) "Next: Plan Your Content →"
Planner > Keywords Has unclustered keywords "Next: Cluster Keywords →"
Planner > Clusters Cluster selected/has clusters "Next: Generate Ideas →"
Planner > Ideas Has ideas "Next: Queue to Writer →"
Writer > Queue Has tasks "Next: Generate Content →"
Writer > Drafts Has drafts "Next: Review Drafts →"
Writer > Review Has reviewed content "Next: Publish →"

Implementation

  • Create <NextStepCTA /> component
  • Each page determines when to show and what action
  • Button styled prominently but not intrusive
  • Links to logical next step in workflow

6.8 Route Updates Required

Routes to Add/Update

To support sidebar navigation, routes need restructuring:

Current Route New Route Notes
/account/content-settings /account/content-settings/generation Default to first sub-page
(same page, different tab) /account/content-settings/publishing Separate route
(same page, different tab) /account/content-settings/images Separate route
/account/settings /account/settings/account Default to first sub-page
(same page, different tab) /account/settings/profile Separate route
(same page, different tab) /account/settings/team Separate route
/account/plans /account/plans/current Default to first sub-page
(same page, different tab) /account/plans/upgrade Separate route
(same page, different tab) /account/plans/history Separate route
/account/usage /account/usage/limits Default to first sub-page
(same page, different tab) /account/usage/credits Separate route
(same page, different tab) /account/usage/api Separate route

Routes to Remove

Route Reason
/linker/* Module not active
/optimizer/* Module not active
/planner/keyword-opportunities Page deleted
/help/docs Page deleted
/help/system-testing Page deleted
/help/function-testing Page deleted
/billing/overview Legacy route
/team Legacy route
/profile Legacy route

6.9 Implementation Plan

Phase 1: Sidebar Restructure

  1. Update AppSidebar.tsx:

    • Add dropdown functionality for multi-page modules
    • Implement expand/collapse with active state detection
    • Remove Linker and Optimizer
    • Reorder SETUP: Sites → Add Keywords → Content Settings → Thinker
    • Add visual indicators (▼ expanded, ▶ collapsed, ● active)
  2. Create dropdown data structure:

    const sidebarConfig = [
      {
        section: 'SETUP',
        items: [
          { label: 'Sites', path: '/sites', icon: Globe },
          { label: 'Add Keywords', path: '/setup/add-keywords', icon: Key },
          { 
            label: 'Content Settings', 
            icon: Settings,
            children: [
              { label: 'Content Generation', path: '/account/content-settings/generation' },
              { label: 'Publishing', path: '/account/content-settings/publishing' },
              { label: 'Image Settings', path: '/account/content-settings/images' },
            ]
          },
          // ... etc
        ]
      },
      // ... other sections
    ];
    

Phase 2: Route Updates

  1. Update Router/App.tsx:

    • Add new sub-routes for tabbed pages
    • Set up redirects from parent routes to default child
    • Remove deleted/inactive routes
  2. Example route structure:

    // Content Settings
    <Route path="/account/content-settings" element={<Navigate to="/account/content-settings/generation" />} />
    <Route path="/account/content-settings/generation" element={<ContentSettingsGeneration />} />
    <Route path="/account/content-settings/publishing" element={<ContentSettingsPublishing />} />
    <Route path="/account/content-settings/images" element={<ContentSettingsImages />} />
    

Phase 3: Page Header Updates

  1. Remove tab components from all pages:

    • Planner (Keywords, Clusters, Ideas tabs)
    • Writer (Queue, Drafts, Images, Review, Published tabs)
    • Account Settings (Account, Profile, Team tabs)
    • Plans & Billing (Current, Upgrade, History tabs)
    • Usage (Limits, Credits, API tabs)
    • Content Settings (Generation, Publishing, Images tabs)
  2. Add Breadcrumb component to each page

  3. Add NextStepCTA component where applicable

  4. Reorganize header layout:

    • Left: Breadcrumb
    • Right: Actions + Next Step CTA

Phase 4: Component Creation

  1. Create components/navigation/Breadcrumb.tsx
  2. Create components/navigation/NextStepCTA.tsx
  3. Create components/navigation/SidebarDropdown.tsx (if not using existing UI library component)

Summary

Total Issues

Category High Medium Low Total
Remove inactive modules 2 0 0 2
Remove deleted pages 2 0 0 2
Menu order 1 0 0 1
Navigation restructure 1 0 0 1
New features 0 3 1 4
TOTAL 6 3 1 10

High Priority Items

  1. Remove Linker from sidebar navigation
  2. Remove Optimizer from sidebar navigation
  3. Remove KeywordOpportunities route references
  4. Remove Help sub-page routes
  5. Reorder SETUP menu: Sites → Add Keywords → Content Settings → Thinker
  6. Implement sidebar dropdown navigation (replace all tabs)

Medium Priority Items

  1. Add breadcrumb navigation component
  2. Add "Next Step" contextual guidance
  3. Add active section highlighting in sidebar

Files to Delete

File Reason
Tab components in page headers Replaced by sidebar navigation
Any standalone tab navigation components No longer needed

Files to Create

File Purpose
components/navigation/Breadcrumb.tsx Reusable breadcrumb component
components/navigation/NextStepCTA.tsx Contextual next step button
Possibly split page components If current tabbed pages are single files, may need to split

Files to Modify

File Changes
layout/AppSidebar.tsx Complete restructure with dropdowns, remove inactive modules, reorder
Router/App.tsx Add sub-routes, remove inactive routes, add redirects
pages/Planner/*.tsx Remove tab navigation from header
pages/Writer/*.tsx Remove tab navigation from header
pages/account/AccountSettingsPage.tsx Split into separate route components OR remove tabs
pages/account/PlansAndBillingPage.tsx Split into separate route components OR remove tabs
pages/account/UsageAnalyticsPage.tsx Split into separate route components OR remove tabs
pages/account/ContentSettingsPage.tsx Split into separate route components OR remove tabs
All page headers Add Breadcrumb, reorganize layout, add NextStepCTA

Implementation Decision

CONFIRMED: Implement sidebar-based navigation with dropdowns

  • Remove all tab/button navigation from page headers
  • All sub-navigation moves to sidebar as expandable dropdowns
  • Active dropdown stays expanded (same click count as current tabs)
  • Page headers gain space for breadcrumbs and "Next Step" CTAs
  • Clean, consistent navigation pattern across all modules