import { useState, useEffect } from 'react' import { Link, useNavigate } from 'react-router-dom' import { CheckCircle, AlertTriangle, XCircle, ArrowRight, MessageCircle } from 'lucide-react' import { aiSessionsApi } from '@/api/aiSessions' import type { AISessionSummary } from '@/types/ai-session' import { timeAgo } from '@/lib/timeAgo' const STATUS_CONFIG: Record = { resolved: { icon: CheckCircle, color: '#34d399' }, escalated: { icon: AlertTriangle, color: '#fbbf24' }, abandoned: { icon: XCircle, color: '#8891a0' }, } export function RecentFlowPilotSessions({ hideHeader = false }: { hideHeader?: boolean }) { const [sessions, setSessions] = useState([]) const navigate = useNavigate() useEffect(() => { Promise.all([ aiSessionsApi.listSessions({ status: 'resolved', limit: 5 }).catch(() => []), aiSessionsApi.listSessions({ status: 'escalated', limit: 3 }).catch(() => []), ]).then(([resolved, escalated]) => { const all = [...resolved, ...escalated] .sort((a, b) => new Date(b.created_at).getTime() - new Date(a.created_at).getTime()) .slice(0, 5) setSessions(all) }) }, []) if (sessions.length === 0) return null return (
{!hideHeader && (

Recent Sessions

History
)}
{sessions.map((session, i) => { const config = STATUS_CONFIG[session.status] || STATUS_CONFIG.abandoned const StatusIcon = config.icon return ( ) })}
) }