import { Bar, BarChart, CartesianGrid, Cell, ResponsiveContainer, Tooltip, XAxis, YAxis, } from "recharts"; import { Paper, Stack, Text } from "@mantine/core"; import { overviewChartColors } from "./overview.styles"; export interface HorizontalBarItem { label: string; value: number; } interface OverviewHorizontalBarChartProps { title: string; data: HorizontalBarItem[]; emptyMessage?: string; valueLabel?: string; } export function OverviewHorizontalBarChart({ title, data, emptyMessage = "No data available", valueLabel = "Count", }: OverviewHorizontalBarChartProps) { const chartData = data .filter((item) => item.value > 0) .map((item) => ({ name: item.label, value: item.value })); const hasData = chartData.length > 0; return ( {title} {!hasData ? ( {emptyMessage} ) : ( [value, valueLabel]} /> {chartData.map((entry, index) => ( ))} )} ); }