'use client'; import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, PieChart, Pie, Cell, Legend, } from 'recharts'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; /** Placeholder data — will be replaced by real API data when backend endpoint ships */ const MOCK_MONTHLY_DEALS = [ { month: 'T11', deals: 3, revenue: 4.2 }, { month: 'T12', deals: 5, revenue: 7.1 }, { month: 'T1', deals: 4, revenue: 5.8 }, { month: 'T2', deals: 6, revenue: 8.5 }, { month: 'T3', deals: 7, revenue: 11.2 }, { month: 'Q1-26', deals: 8, revenue: 13.0 }, ]; const MOCK_FUNNEL = [ { stage: 'Liên hệ mới', count: 120, fill: '#94a3b8' }, { stage: 'Đang trao đổi', count: 85, fill: '#60a5fa' }, { stage: 'Xem nhà', count: 42, fill: '#a78bfa' }, { stage: 'Đàm phán', count: 22, fill: '#fbbf24' }, { stage: 'Chốt deal', count: 8, fill: '#34d399' }, ]; const FUNNEL_COLORS = ['#94a3b8', '#60a5fa', '#a78bfa', '#fbbf24', '#34d399']; function StatCard({ label, value, sub }: { label: string; value: string; sub?: string }) { return (

{label}

{value}

{sub &&

{sub}

}
); } export function AgentPerformance() { return (
{/* KPI Cards */}
{/* Monthly Deals Chart */} Giao dịch & Doanh thu theo tháng 6 tháng gần nhất [ name === 'revenue' ? `${value} tỷ` : `${value} deals`, name === 'revenue' ? 'Doanh thu' : 'Giao dịch', ]} /> (value === 'revenue' ? 'Doanh thu (tỷ)' : 'Giao dịch')} /> {/* Lead Conversion Funnel */} Phễu chuyển đổi khách hàng Từ liên hệ đến chốt deal
{/* Funnel bars */}
{MOCK_FUNNEL.map((item, i) => { const widthPct = Math.max((item.count / MOCK_FUNNEL[0]!.count) * 100, 12); return (
{item.stage}
{item.count}
); })}
{/* Pie breakdown */}
{MOCK_FUNNEL.map((entry, i) => ( ))}

* Dữ liệu mẫu — kết nối API hiệu suất môi giới đang được phát triển

); }