import { Card } from './Card'; import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts'; export interface ChartRow { dimension: string; value: number; } export interface ChartConfig { chart_uid: string; key: string; rows: ChartRow[]; } export interface AnalyticsChartProps { data?: unknown[]; } export function AnalyticsChart({ data }: AnalyticsChartProps) { if (!data || !Array.isArray(data) || data.length === 0) return null; const charts = data as ChartConfig[]; const colors = ['#3B82F6', '#10B981', '#F59E0B', '#8B5CF6', '#EC4899', '#14B8A6']; return (
{charts.map((chart, idx) => { const title = (chart.key || `Chart ${idx + 1}`) .replace(/_/g, ' ') .replace(/\b\w/g, c => c.toUpperCase()); // Safely format dimension string (fallbacks for empty strings) const formattedRows = (chart.rows || []).map(r => ({ ...r, dimension: String(r.dimension || '').trim() || 'Unknown' })); if (formattedRows.length === 0) return null; return (
); })}
); }