'use client' import { useEffect, useState } from 'react' import { Sidebar } from '@/components/sidebar' import { api, type Stats } from '@/lib/api' import { Activity, CheckCircle, XCircle, Clock } from 'lucide-react' export default function AnalyticsPage() { const [stats, setStats] = useState(null) const [loading, setLoading] = useState(true) useEffect(() => { api.get('/api/analytics/overview') .then((data) => { setStats(data); setLoading(false) }) .catch(() => setLoading(false)) }, []) const metrics = [ { label: 'Executions', value: stats?.total_executions ?? 0, icon: Activity, color: 'text-accent-cyan' }, { label: 'Successful', value: stats?.successful ?? 0, icon: CheckCircle, color: 'text-accent-green' }, { label: 'Failed', value: stats?.failed ?? 0, icon: XCircle, color: 'text-accent-red' }, { label: 'Avg Latency', value: `${stats?.avg_latency_ms ?? 0}ms`, icon: Clock, color: 'text-accent-amber' }, ] return (

Analytics

{metrics.map((m) => (

{m.label}

{loading ? '...' : m.value}

))}

Success Rate

{stats?.success_rate ?? 100}%
) }