2.8 KiB
2.8 KiB
StudioFlow Frontend Implementation Plan
1. Directory Structure (Next.js 15 App Router)
frontend/
├── src/
│ ├── app/ # Pages & Routing
│ │ ├── (dashboard)/ # Protected routes shell
│ │ │ ├── videos/ # Video List & Detail Editor
│ │ │ ├── blocks/ # Block Management
│ │ │ ├── collaborators/ # CRM
│ │ │ ├── calendar/ # Planning
│ │ │ └── bulk-jobs/ # Job Monitoring
│ │ ├── (auth)/ # Login & OAuth
│ │ └── layout.tsx # Providers & Root styling
│ ├── components/ # Reusable Components
│ │ ├── ui/ # Base primitives (Button, Input, Card)
│ │ ├── video-table/ # Virtualized Table & Filters
│ │ ├── config-editor/ # D&D Block Editor
│ │ └── shared/ # Sidebar, Header, QuotaIndicator
│ ├── hooks/ # TanStack Query & Logic Hooks
│ ├── lib/ # API Client, Utils, Constants
│ ├── store/ # Zustand (UI State)
│ └── styles/ # Vanilla CSS & Theme
2. Core Feature Specifications
2.1 Video Table (Command Center)
- Engine: TanStack Table v8.
- Virtualization:
react-windowor@tanstack/react-virtualfor 1000+ rows. - Features:
- Inline editing for Title/Tags.
- Multi-select for Bulk Actions (Sync, Render, Delete).
- Saved View sidebar for quick filtering (e.g., "Missing CTA").
2.2 Video Config Editor
- Logic: Manages
VideoConfigstate (blockOrder, overrides, variables). - Interaction: Drag-and-drop sorting for blocks.
- Live Preview: Debounced rendering call to backend to show final description.
- Variables: Dynamically generated form based on the blocks used in the config.
2.3 Quota Dashboard
- Visual: Circular progress indicator for daily units.
- Logic: Polling every 60s while active. Warning notifications when units < 10%.
3. Aesthetic & UI Strategy
- Theme: "Dark Studio" (Background: #0f0f0f, Surface: #1e1e1e, Accents: YouTube Red #FF0000).
- Typography: Inter or Roboto (standard for YouTube Studio feel).
- Animations: Framer Motion for layout transitions and modal entries.
4. API Integration
- Client:
axioswith interceptors. - Error Handling: Centralized toast notifications for API errors.
- Auth: NextAuth.js or custom JWT storage with Google OAuth 2.0.
5. Phase 1 Implementation Tasks
- Initialize Next.js 15 with TS and Vanilla CSS.
- Set up
api-client.tsandQueryProvider. - Create global layout (Sidebar + Header).
- Implement
VideoTablewith mock data. - Implement
ConfigEditorbasic D&D.