import { useState } from "react"; import { BarChart, Bar, CartesianGrid, LineChart, Line, PieChart, Pie, Cell, ResponsiveContainer, Tooltip, XAxis, YAxis, Legend, } from "recharts"; type Row = { label: string; value: number; }; type Props = { title?: string; data?: Row[]; }; const defaultData: Row[] = [ { label: "Mon", value: 18 }, { label: "Tue", value: 24 }, { label: "Wed", value: 16 }, { label: "Thu", value: 32 }, { label: "Fri", value: 27 }, ]; const colors = ["#2563eb", "#0f766e", "#d97706", "#9333ea", "#dc2626"]; export default function DashboardChart({ title = "Weekly Activity", data = defaultData, }: Props) { const [chartType, setChartType] = useState<"bar" | "line" | "pie">("bar"); return (

{title}

Interactive chart with responsive layout, tooltip, legend, and axes

{chartType === "bar" ? ( ) : chartType === "line" ? ( ) : ( {data.map((entry, index) => ( ))} )}
); }