import { Box, CircularProgress, Alert, Paper, Typography } from '@mui/material';
import ArrowUpwardIcon from '@mui/icons-material/ArrowUpward';
import ArrowDownwardIcon from '@mui/icons-material/ArrowDownward';
import RemoveIcon from '@mui/icons-material/Remove';
// Iconos de react-icons para cada grano
import { GiSunflower, GiWheat, GiCorn, GiGrain } from "react-icons/gi";
import { TbGrain } from "react-icons/tb";
import type { CotizacionGrano } from '../models/mercadoModels';
import { useApiData } from '../hooks/useApiData';
import { formatCurrency, formatDateOnly } from '../utils/formatters';
// Función para elegir el icono según el nombre del grano
const getGrainIcon = (nombre: string) => {
    switch (nombre.toLowerCase()) {
        case 'girasol':
            return ;
        case 'trigo':
            return ;
        case 'sorgo':
            return ;
        case 'maiz':
            return ;
        default:
            return ;
    }
};
// Subcomponente para una única tarjeta de grano
const GranoCard = ({ grano }: { grano: CotizacionGrano }) => {
    const isPositive = grano.variacionPrecio > 0;
    const isNegative = grano.variacionPrecio < 0;
    const color = isPositive ? 'success.main' : isNegative ? 'error.main' : 'text.secondary';
    const Icon = isPositive ? ArrowUpwardIcon : isNegative ? ArrowDownwardIcon : RemoveIcon;
    return (
        
            
                {getGrainIcon(grano.nombre)}
                
                    {grano.nombre}
                
            
            
                
                    ${formatCurrency(grano.precio)}
                
                
                    por Tonelada
                
            
            
                
                
                    {formatCurrency(grano.variacionPrecio)}
                
            
            
                Operación: {formatDateOnly(grano.fechaOperacion)}
            
        
    );
};
export const GranosCardWidget = () => {
  const { data, loading, error } = useApiData('/mercados/granos');
  if (loading) {
    return ;
  }
  if (error) {
    return {error};
  }
  if (!data || data.length === 0) {
    return No hay datos de granos disponibles.;
  }
  return (
    
      {data.map((grano) => (
        
      ))}
    
  );
};