Commit graph

62 commits

Author SHA1 Message Date
Leivur R. Djurhuus
53198546aa Add Board View with Kanban drag-and-drop
- Kanban board at /projects/[projectId]/board
- 5 columns: Not Started, In Progress, In Review, Approved, On Hold
- Drag-and-drop via @hello-pangea/dnd with status update on drop
- Cards show name, priority badge, pipeline progress
- Left border accent color by deliverable status
- Error toast on failed moves with auto-revert

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 21:30:20 -06:00
Leivur R. Djurhuus
97a690f2a3 Add Table View with TanStack Table
- Full spreadsheet view at /projects/[projectId]/table
- Columns: name, status, priority, pipeline progress, due date
- Sortable columns with custom priority sort order
- Global search filter and status dropdown filter
- Compact 40px rows, sticky header, muted alternating rows

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 21:29:33 -06:00
Leivur R. Djurhuus
97464f6a19 Add project detail page with pipeline visualizer and view switcher
- Project detail page at /projects/[projectId] with deliverables list
- PipelineProgress component: 10-segment status bar with tooltips
- DeliverableFormDialog for creating deliverables
- View switcher tabs (Table/Board/Timeline) linking to sub-routes
- TanStack Query hooks for deliverables and stage status updates

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 21:28:40 -06:00
Leivur R. Djurhuus
740957d443 Add artist assignment system and My Work page
- Assignment service: assign/unassign users to stages, get user's work
- API routes: POST/DELETE /api/stages/:id/assignments, GET /api/my-work
- My Work page with assignments grouped by project
- StageStatusBadge component with semantic status colors
- Zod validator for assignment input

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 21:27:21 -06:00
Leivur R. Djurhuus
1b8392b962 Add user management: API routes, service layer, role-based access
- User service: listUsers, updateUserRole, getUserById
- API routes: GET /api/users, PATCH /api/users/:id
- Role-based access control (only ADMIN/PRODUCER can change roles)
- Completes Phase 1 of the implementation plan

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 21:15:46 -06:00
Leivur R. Djurhuus
9f97cfe218 Add Deliverable CRUD with pipeline dependency engine
- Deliverable service auto-creates 10 pipeline stages on creation
- Stages start as BLOCKED/NOT_STARTED based on dependency rules
- Dependency engine: canStageStart() validates all prerequisites
- Stage machine: enforces valid status transitions
- Critical gate approval auto-unblocks downstream stages
- API routes for deliverables (nested under projects) and stages
- Zod validators for deliverable create/update

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 21:14:32 -06:00
Leivur R. Djurhuus
2859a50761 Add Project CRUD: API routes, service layer, form, and list page
- Zod validation schemas for create/update project
- Service layer with listProjects, getProject, createProject,
  updateProject, deleteProject
- API routes: GET/POST /api/projects, GET/PATCH/DELETE /api/projects/:id
- TanStack Query hooks for all project operations
- Project list page with card grid, status/priority badges
- Project create dialog with form validation
- QueryProvider + API utility helpers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 21:11:46 -06:00
Leivur R. Djurhuus
afa98282ff Add app shell layout with sidebar, topbar, breadcrumbs, theme toggle
- Collapsible sidebar (256px / 64px) with nav items and tooltips
- Topbar with breadcrumbs and notification bell placeholder
- Theme toggle (light/dark/system) via dropdown
- Zustand store for sidebar collapsed state
- Placeholder pages for all main routes (dashboard, projects,
  my-work, notifications, settings)
- Authenticated (app) layout group wrapping all protected routes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 21:09:07 -06:00
Leivur R. Djurhuus
b4ae910cf5 Add Auth.js v5 with Google + Microsoft Entra ID SSO
- NextAuth config with PrismaAdapter, database sessions
- Session callback enriches with role + organizationId
- Login page with Google and Microsoft sign-in buttons
- Cookie-based middleware for auth protection (Edge-compatible)
- Type augmentation for session user fields

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 21:07:38 -06:00
Leivur R. Djurhuus
c13dc9cacc Add Prisma 7 schema with full data model and seed script
- 12 models: Organization, User, Account, Session, Project,
  Deliverable, DeliverableStage, StageAssignment, Revision,
  Comment, Notification, plus pipeline templates/dependencies
- Prisma 7 adapter pattern with @prisma/adapter-pg
- Seed script with 10 pipeline stages and dependency rules
- Environment config (.env.example)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 21:06:17 -06:00
Leivur R. Djurhuus
d6919600de Add shadcn/ui components and TooltipProvider
Install 18 core UI primitives (button, card, dialog, table,
command, etc.) with New York style. Wire TooltipProvider in
root layout.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 21:00:51 -06:00
Leivur R. Djurhuus
856faa896e Initial scaffold: Next.js 16, TypeScript, Tailwind CSS 4, ESLint, Prettier
- App Router with src/ directory structure
- Design system CSS variables (Oliver/Brandtech palette, light + dark mode)
- Montserrat + Inter + JetBrains Mono font configuration
- next-themes provider for theme toggle
- Full folder structure per implementation plan
- nvm configured for Node 22

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 20:58:48 -06:00