"use client"; import dayjs from "dayjs"; import * as React from "react"; import { Label, Pie, PieChart as RechartsPieChart, Sector } from "recharts"; import { useTranslation } from "@turbostarter/i18n"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@turbostarter/ui-web/card"; import { ChartContainer, ChartStyle, ChartTooltip, ChartTooltipContent, } from "@turbostarter/ui-web/chart"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@turbostarter/ui-web/select"; import type { ChartConfig } from "@turbostarter/ui-web/chart"; import type { PieSectorDataItem } from "recharts/types/polar/Pie"; const desktopData = [ { month: "january", desktop: 186, fill: "var(--chart-1)" }, { month: "february", desktop: 305, fill: "var(--chart-2)" }, { month: "march", desktop: 237, fill: "var(--chart-3)" }, { month: "april", desktop: 173, fill: "var(--chart-4)" }, { month: "may", desktop: 209, fill: "var(--chart-5)" }, ]; const chartConfig = { january: { label: dayjs().month(0).format("MMMM"), color: "var(--chart-1)", }, february: { label: dayjs().month(1).format("MMMM"), color: "var(--chart-2)", }, march: { label: dayjs().month(2).format("MMMM"), color: "var(--chart-3)", }, april: { label: dayjs().month(3).format("MMMM"), color: "var(--chart-4)", }, may: { label: dayjs().month(4).format("MMMM"), color: "var(--chart-5)", }, } satisfies ChartConfig; export function PieChart() { const { t, i18n } = useTranslation(["common", "dashboard"]); const id = "pie-interactive"; const [activeMonth, setActiveMonth] = React.useState( desktopData[0]?.month ?? "january", ); const activeIndex = React.useMemo( () => desktopData.findIndex((item) => item.month === activeMonth), [activeMonth], ); const months = desktopData.map((item) => item.month); return (
{t("chart.pie")} {t("chart.period")}
} /> ( )} >
); }