import React, { useState, useEffect, memo } from 'react'; import { ComposedChart, Area, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts'; import { useGraphData } from './finalGraph/useGraphData'; import { GraphTooltip } from './finalGraph/GraphTooltip'; const Step3FinalGraph = memo(({ data, criterionName }) => { const { sortedResults, denseData } = useGraphData(data); const [isReady, setIsReady] = useState(false); useEffect(() => { const timer = setTimeout(() => { setIsReady(true); }, 400); return () => clearTimeout(timer); }, []); if (!data || (!data.levels && !data.results)) { return

Cargando datos...

; } return (

{criterionName ? `Criterio: ${criterionName}` : 'Espectro Difuso Final'}

{!isReady && (
Generando gráfica...
)} {/* Gráfica */}
{isReady && ( Number(val.toFixed(2))} tick={{ fill: '#475569', fontSize: 14 }} /> } cursor={{ stroke: '#cbd5e1', strokeWidth: 1, strokeDasharray: '5 5' }} isAnimationActive={false} /> {sortedResults.map((item) => ( {item.isType2 ? ( <> ) : ( )} ))} )}
{/* Leyenda */}
{sortedResults.map((item) => (
{item.term}
))}
); }); export default Step3FinalGraph;