import { useState } from "react"; import type { ContractSummary, ContractStatus } from "../../lib/api"; import { PhaseBadge } from "./PhaseBadge"; import { PhaseProgressBarCompact } from "./PhaseProgressBar"; interface ContractListProps { contracts: ContractSummary[]; loading: boolean; onSelect: (id: string) => void; onCreate: () => void; selectedId?: string; } const statusColors: Record = { active: "text-green-400", completed: "text-blue-400", archived: "text-[#555]", }; export function ContractList({ contracts, loading, onSelect, onCreate, selectedId, }: ContractListProps) { const [filter, setFilter] = useState("all"); const filteredContracts = filter === "all" ? contracts : contracts.filter((c) => c.status === filter); if (loading) { return (
Loading...
); } return (
{/* Header */}

Contracts

{/* Filter tabs */}
{(["all", "active", "completed", "archived"] as const).map((status) => ( ))}
{/* Contract list */}
{filteredContracts.length === 0 ? (

{filter === "all" ? "No contracts yet" : `No ${filter} contracts`}

) : (
{filteredContracts.map((contract) => ( ))}
)}
); } export function ContractCard({ contract, onClick, }: { contract: ContractSummary; onClick: () => void; }) { return ( ); }