import { Link } from 'react-router-dom' import { Clock, CheckCircle2, ArrowUpRight, AlertCircle, Pause } from 'lucide-react' import { cn } from '@/lib/utils' import type { AISessionSummary } from '@/types/ai-session' interface AISessionListItemProps { session: AISessionSummary } const STATUS_CONFIG = { active: { icon: Clock, color: 'text-primary', label: 'Active' }, paused: { icon: Pause, color: 'text-amber-400', label: 'Paused' }, resolved: { icon: CheckCircle2, color: 'text-emerald-400', label: 'Resolved' }, escalated: { icon: ArrowUpRight, color: 'text-amber-400', label: 'Escalated' }, abandoned: { icon: AlertCircle, color: 'text-[#5a6170]', label: 'Abandoned' }, } as const export function AISessionListItem({ session }: AISessionListItemProps) { const config = STATUS_CONFIG[session.status as keyof typeof STATUS_CONFIG] ?? STATUS_CONFIG.active const StatusIcon = config.icon return (

{session.problem_summary || 'Untitled session'}

{session.problem_domain && ( {session.problem_domain} )} {config.label} {session.step_count} steps {new Date(session.created_at).toLocaleDateString(undefined, { month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit', })}
{session.session_rating && ( {'★'.repeat(session.session_rating)} )}
) }