import type { HarnessGateStatus, HarnessTraceGraph } from '../../lib/api'; const TONE: Record = { queued: 'border-slate-200 bg-slate-100 text-slate-400', running: 'border-blue-300 bg-blue-50 text-blue-700', pass: 'border-emerald-300 bg-emerald-50 text-emerald-700', warning: 'border-amber-300 bg-amber-50 text-amber-700', blocked: 'border-rose-300 bg-rose-50 text-rose-700', error: 'border-rose-300 bg-rose-50 text-rose-700', skipped: 'border-slate-200 bg-slate-100 text-slate-400', }; const MARK: Record = { queued: '○', running: '●', pass: '✓', warning: '!', blocked: '×', error: '×', skipped: '–', }; export function AssuranceRail({ graph }: { graph: HarnessTraceGraph }) { return (
{graph.nodes.map((node, index) => (
{node.title.split(' · ')[0]} {MARK[node.status]}
{node.title.split(' · ')[1]}
{index < graph.nodes.length - 1 &&
}
))}
); }