import { useState } from "react" import { buildTopByModel, buildTopByProvider, chartPalette, formatTokens, type EndpointUsage, } from "@/lib/usage-data" import { cn } from "@/lib/utils" import type { UsageRecord } from "@/lib/types" import { Badge } from "../ui/badge" import { ChartCard } from "./chart-primitives" import { useResolvedTheme } from "./use-resolved-theme" type GroupBy = "model" | "provider" const GROUP_OPTIONS: { key: GroupBy; label: string }[] = [ { key: "model", label: "Model" }, { key: "provider", label: "Provider" }, ] function BarListRow({ item, index, maxTokens }: { item: EndpointUsage; index: number; maxTokens: number }) { const dark = useResolvedTheme() === "dark" const color = chartPalette(dark)[index % 8] const share = maxTokens > 0 ? (item.tokens / maxTokens) * 100 : 0 return (
No requests in this window yet.
)}