"use client" import { ResponsiveContainer, PieChart, Pie, Cell, Tooltip } from 'recharts' import { DailyData } from '@/lib/types' import { buildModelUsageData, formatCurrency } from './utils' import type { ToolTheme } from '@/app/ai/theme' interface ModelUsageCardProps { daily: DailyData[] totalCost: number theme: ToolTheme } export default function ModelUsageCard({ daily, totalCost, theme }: ModelUsageCardProps) { const modelUsageData = buildModelUsageData(daily) const palette = theme.chart.pie return (

Model Usage Distribution

{modelUsageData.map((_entry, index) => ( ))} { const percentage = props?.payload?.percentage ?? 0 return [`${formatCurrency(Number(value))} ยท ${percentage.toFixed(1)}%`, 'Cost'] }} labelStyle={{ color: '#fff' }} itemStyle={{ color: '#fff' }} />
{modelUsageData.map((model, index) => { const percentage = ((model.value / Math.max(totalCost, 1)) * 100).toFixed(1) return (
{model.name}
{percentage}% ${model.value.toFixed(2)}
) })}
Total Models Used {modelUsageData.length}
Most Used {modelUsageData[0]?.name}
) }