"use client"; import { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Cell, } from "recharts"; import { formatTokens } from "@/lib/utils"; import { useI18n } from "@/lib/i18n"; interface RankItem { name: string; total_tokens: number; calls: number; } const BAR_COLORS = [ "#00e5ff", "#00bcd4", "#0097a7", "#7c4dff", "#651fff", "#536dfe", "#448aff", "#40c4ff", "#18ffff", "#84ffff", ]; export function RankingBar({ data, title, }: { data: RankItem[]; title: string; }) { const { t } = useI18n(); if (!data.length) return null; const sliced = data.slice(0, 10); return (

{title}

formatTokens(v)} tick={{ fontSize: 10, fill: "rgba(200,214,229,0.4)" }} stroke="rgba(0,229,255,0.1)" /> [formatTokens(Number(v)), t("th.totalToken")]} /> {sliced.map((_, i) => ( ))}
); }