import AuthenticatedLayout from '@/Layouts/AuthenticatedLayout';
import { Head } from '@inertiajs/react';
import { BarChart, Bar, XAxis, YAxis, Tooltip, ResponsiveContainer, PieChart, Pie, Cell, Legend } from 'recharts';
import { formatCurrency } from '@/lib/utils';

const COLORS = ['#0f172a','#1e293b','#334155','#475569','#64748b','#94a3b8','#cbd5e1'];

export default function AnalyticsDashboard({ spendBySupplier, spendByMonth, statusBreakdown }: any) {
    return (
        <AuthenticatedLayout header="Analytics Dashboard">
            <Head title="Analytics" />
            <div className="space-y-6">
                <div className="grid grid-cols-1 lg:grid-cols-2 gap-6">
                    <div className="bg-white rounded-lg border border-border p-5 shadow-sm">
                        <h2 className="font-semibold mb-4">Spend by Supplier</h2>
                        <ResponsiveContainer width="100%" height={250}><BarChart data={spendBySupplier}><XAxis dataKey="name" tick={{fontSize:11}}/><YAxis tick={{fontSize:11}}/><Tooltip formatter={(v:any)=>formatCurrency(v)}/><Bar dataKey="total" fill="#0f172a" radius={[3,3,0,0]}/></BarChart></ResponsiveContainer>
                    </div>
                    <div className="bg-white rounded-lg border border-border p-5 shadow-sm">
                        <h2 className="font-semibold mb-4">Monthly Spend (Last 12 Months)</h2>
                        <ResponsiveContainer width="100%" height={250}><BarChart data={spendByMonth}><XAxis dataKey="month" tick={{fontSize:11}}/><YAxis tick={{fontSize:11}}/><Tooltip formatter={(v:any)=>formatCurrency(v)}/><Bar dataKey="total" fill="#f97316" radius={[3,3,0,0]}/></BarChart></ResponsiveContainer>
                    </div>
                    <div className="bg-white rounded-lg border border-border p-5 shadow-sm">
                        <h2 className="font-semibold mb-4">PO Status Breakdown</h2>
                        <ResponsiveContainer width="100%" height={250}><PieChart><Pie data={statusBreakdown} dataKey="count" nameKey="status" cx="50%" cy="50%" outerRadius={80} label>{statusBreakdown.map((_:any,i:number)=><Cell key={i} fill={COLORS[i%COLORS.length]}/>)}</Pie><Legend/><Tooltip/></PieChart></ResponsiveContainer>
                    </div>
                </div>
            </div>
        </AuthenticatedLayout>
    );
}
