import { Box, CircularProgress, Alert } from '@mui/material'; import type { CotizacionGanado } from '../models/mercadoModels'; import { useApiData } from '../hooks/useApiData'; import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer } from 'recharts'; import { formatFullDateTime } from '../utils/formatters'; interface AgroHistoricalChartWidgetProps { categoria: string; especificaciones: string; } const formatTooltipLabel = (label: string) => { return formatFullDateTime(label); }; export const AgroHistoricalChartWidget = ({ categoria, especificaciones }: AgroHistoricalChartWidgetProps) => { const apiUrl = `/mercados/agroganadero/history?categoria=${encodeURIComponent(categoria)}&especificaciones=${encodeURIComponent(especificaciones)}&dias=30`; const { data, loading, error } = useApiData(apiUrl); if (loading) { return ; } if (error) { return {error}; } if (!data || data.length < 2) { return No hay suficientes datos históricos para graficar esta categoría.; } const formatXAxis = (tickItem: string) => { return new Date(tickItem).toLocaleDateString('es-AR', { day: '2-digit', month: '2-digit' }); }; return ( `$${tick.toLocaleString('es-AR')}`} /> [`$${value.toFixed(2)}`, 'Precio Promedio']} labelFormatter={formatTooltipLabel} /> ); };