"use client" import { CheckCircle2, AlertTriangle, Loader2 } from "lucide-react" import { cn } from "@/lib/utils" type TimelineItem = { key: string label: string status: "pending" | "running" | "completed" | "failed" detail?: string } function StatusIcon({ status }: { status: TimelineItem["status"] }) { if (status === "completed") { return } if (status === "failed") { return } if (status === "running") { return } return } export function AnalysisTimeline({ items }: { items: TimelineItem[] }) { if (!items.length) return null return (
Analysis timeline
{items.map((item, index) => { const isPending = item.status === "pending" const nextStatus = items[index + 1]?.status const isStrongLine = nextStatus && (item.status === "completed" || item.status === "running") && (nextStatus === "completed" || nextStatus === "running") return (
{item.label}
{item.detail && (
{item.detail}
)}
) })}
) }