"use client"; import type { WorkPackage, WorkPackagePhase } from "@/lib/work-package-types"; import { WorkPackageCard } from "@/components/WorkPackageCard"; import { WorkPackageDetail } from "@/components/WorkPackageDetail"; import { Badge } from "@/components/ui/badge"; const PHASES: WorkPackagePhase[] = [ "Stakeholder Needs", "Specify Product", "Design Product", "Verify and Validate Product", ]; export function WorkPackageBoard(props: { workPackages: WorkPackage[]; activeWorkPackageId?: string; selectedWorkPackageId?: string; onSelect: (id: string) => void; onPrefill: (text: string) => void; detailOpen: boolean; onBackToBoard: () => void; }) { const { workPackages, activeWorkPackageId, selectedWorkPackageId, onSelect, onPrefill, detailOpen, onBackToBoard, } = props; const selectedWorkPackage = workPackages.find( (workPackage) => workPackage.id === selectedWorkPackageId, ); const phaseCount = PHASES.filter((phase) => workPackages.some((workPackage) => workPackage.phase === phase), ).length; return (
Work Package Zone
{detailOpen ? "Selected package detail view" : "Scrollable board of work package cards"}
{workPackages.length} packages {phaseCount} phases {detailOpen ? "detail" : "board"}
{detailOpen ? ( ) : (
{PHASES.map((phase) => { const items = workPackages.filter((wp) => wp.phase === phase); if (!items.length) return null; return (
{phase}
{items.map((wp) => ( onSelect(wp.id)} onPrefill={onPrefill} /> ))}
); })}
)}
); }