"use client" import { Label, Pie, PieChart } from "recharts" import { Badge } from "@/registry/bases/radix/ui/badge" import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "@/registry/bases/radix/ui/card" import { ChartContainer, ChartLegend, ChartLegendContent, ChartTooltip, ChartTooltipContent, type ChartConfig, } from "@/registry/bases/radix/ui/chart" import { Progress } from "@/registry/bases/radix/ui/progress" const pieChartData = [ { browser: "chrome", visitors: 275, fill: "var(--color-chrome)" }, { browser: "safari", visitors: 200, fill: "var(--color-safari)" }, { browser: "firefox", visitors: 287, fill: "var(--color-firefox)" }, { browser: "edge", visitors: 173, fill: "var(--color-edge)" }, ] const pieChartConfig = { visitors: { label: "Visitors", }, chrome: { label: "Chrome", color: "var(--chart-1)", }, safari: { label: "Safari", color: "var(--chart-2)", }, firefox: { label: "Firefox", color: "var(--chart-3)", }, edge: { label: "Edge", color: "var(--chart-4)", }, } satisfies ChartConfig export function PieChartCard() { const totalVisitors = pieChartData.reduce( (sum, item) => sum + item.visitors, 0 ) const topBrowser = pieChartData.reduce((max, item) => item.visitors > max.visitors ? item : max ) const topBrowserShare = Math.round( (topBrowser.visitors / totalVisitors) * 100 ) const topBrowserLabel = pieChartConfig[topBrowser.browser as keyof typeof pieChartConfig]?.label ?? "Top" return ( Browser Share January - June 2026 {topBrowserLabel} } /> } className="translate-y-2" />
{topBrowserLabel} {topBrowserShare}%
) }