import { useMemo } from "react"; import type { ContractSummary, ContractPhase } from "../../lib/api"; import { PhaseColumn } from "./PhaseColumn"; interface WorkflowBoardProps { contracts: ContractSummary[]; onContractClick: (contractId: string) => void; onPhaseChange: (contractId: string, newPhase: ContractPhase) => void; } const phases: ContractPhase[] = ["research", "specify", "plan", "execute", "review"]; export function WorkflowBoard({ contracts, onContractClick, onPhaseChange, }: WorkflowBoardProps) { // Group contracts by phase const contractsByPhase = useMemo(() => { const grouped: Record = { research: [], specify: [], plan: [], execute: [], review: [], }; for (const contract of contracts) { const phase = contract.phase as ContractPhase; if (grouped[phase]) { grouped[phase].push(contract); } else { // Default to research if unknown phase grouped.research.push(contract); } } return grouped; }, [contracts]); return (
{phases.map((phase) => ( ))}
); }