import { formatDistanceToNow } from "date-fns"; import { CheckCircle2, XCircle } from "lucide-react"; import type { MessageStats } from "../types"; interface RequestListProps { requests: MessageStats[]; onSelect: (req: MessageStats) => void; title: string; } export function RequestList({ requests, onSelect, title }: RequestListProps) { return (

{title}

{requests.map(req => ( onSelect(req)} className="table-row cursor-pointer border-b border-[var(--border-subtle)] last:border-b-0" > ))} {requests.length === 0 && ( )}
Model Time Tokens Cost Duration Status
{req.model}
{req.provider}
{formatDistanceToNow(req.timestamp, { addSuffix: true })} {req.usage.totalTokens.toLocaleString()} ${req.usage.cost.total.toFixed(4)} {req.duration ? `${(req.duration / 1000).toFixed(1)}s` : "-"} {req.errorMessage ? ( ) : ( )}
No requests found
); }