import type { Mission, Project, Task } from '@/lib/types';

export const projectFixtures: Project[] = [
  {
    id: 'project-1',
    name: 'Mosaic Stack',
    description: 'Gateway and dashboard parity work',
    status: 'active',
    userId: 'user-1',
    metadata: {
      prd: '# Mosaic Stack PRD\n\n## Objective\n\nShip the SPA route parity pages.',
    },
    createdAt: '2026-08-01T12:00:00.000Z',
    updatedAt: '2026-08-09T18:30:00.000Z',
  },
  {
    id: 'project-2',
    name: 'Agent Runtime',
    description: 'Pi SDK integration',
    status: 'paused',
    userId: 'user-1',
    metadata: null,
    createdAt: '2026-08-02T08:00:00.000Z',
    updatedAt: '2026-08-05T10:00:00.000Z',
  },
];

export const missionFixtures: Mission[] = [
  {
    id: 'mission-1',
    name: 'Ship web parity',
    description: 'Port read-only routes into the SPA',
    status: 'active',
    projectId: 'project-1',
    metadata: null,
    createdAt: '2026-08-03T12:00:00.000Z',
    updatedAt: '2026-08-09T12:00:00.000Z',
  },
  {
    id: 'mission-2',
    name: 'Unrelated mission',
    description: 'Must be filtered out of the project detail view',
    status: 'planning',
    projectId: 'project-2',
    metadata: null,
    createdAt: '2026-08-04T12:00:00.000Z',
    updatedAt: '2026-08-04T12:00:00.000Z',
  },
];

export const taskFixtures: Task[] = [
  {
    id: 'task-1',
    title: 'Route /projects',
    description: 'Port the read-only projects listing into the SPA',
    status: 'done',
    priority: 'high',
    projectId: 'project-1',
    missionId: 'mission-1',
    assignee: 'Jarvis',
    tags: ['spa', 'projects'],
    dueDate: '2026-08-12T00:00:00.000Z',
    metadata: {
      notes: 'Read-only modal content should remain intact.',
      pr_links: [{ url: 'https://example.invalid/pr/1', label: 'PR #1' }],
    },
    createdAt: '2026-08-04T10:00:00.000Z',
    updatedAt: '2026-08-09T15:00:00.000Z',
  },
  {
    id: 'task-2',
    title: 'Route /projects/:id',
    description: 'Reuse overview, tasks, missions, and PRD tabs',
    status: 'in-progress',
    priority: 'critical',
    projectId: 'project-1',
    missionId: 'mission-1',
    assignee: null,
    tags: ['spa', 'detail'],
    dueDate: null,
    metadata: null,
    createdAt: '2026-08-05T09:00:00.000Z',
    updatedAt: '2026-08-10T08:00:00.000Z',
  },
  {
    id: 'task-3',
    title: 'Route /tasks',
    description: 'Wire list and kanban modal interactions',
    status: 'blocked',
    priority: 'medium',
    projectId: 'project-1',
    missionId: null,
    assignee: null,
    tags: ['spa', 'tasks'],
    dueDate: null,
    metadata: null,
    createdAt: '2026-08-06T09:00:00.000Z',
    updatedAt: '2026-08-08T08:00:00.000Z',
  },
  {
    id: 'task-4',
    title: 'Other project task',
    description: 'Used only to confirm mission filtering remains project-scoped',
    status: 'not-started',
    priority: 'low',
    projectId: 'project-2',
    missionId: 'mission-2',
    assignee: null,
    tags: null,
    dueDate: null,
    metadata: null,
    createdAt: '2026-08-06T09:00:00.000Z',
    updatedAt: '2026-08-06T09:00:00.000Z',
  },
];
