import React, { useMemo } from 'react'; interface RiskData { riskLevel: string; } interface RiskProgressBarsProps { data: RiskData[]; } const RiskProgressBars: React.FC = ({ data }) => { const riskFreeCount = useMemo( () => data.filter((item) => (item.riskLevel || '').toLowerCase() === 'sin riesgo' || (item.riskLevel || '').toLowerCase() === 'risk free').length, [data] ); const lowRiskCount = useMemo( () => data.filter((item) => (item.riskLevel || '').toLowerCase() === 'bajo' || (item.riskLevel || '').toLowerCase() === 'low').length, [data] ); const highRiskCount = useMemo( () => data.filter((item) => (item.riskLevel || '').toLowerCase() === 'alto' || (item.riskLevel || '').toLowerCase() === 'high').length, [data] ); const totalCount = data.length; const riskFreePercentage = totalCount > 0 ? (riskFreeCount / totalCount) * 100 : 0; const lowRiskPercentage = totalCount > 0 ? (lowRiskCount / totalCount) * 100 : 0; const highRiskPercentage = totalCount > 0 ? (highRiskCount / totalCount) * 100 : 0; return (

Sin Riesgo

{riskFreePercentage.toFixed(0)}%

{riskFreeCount} de {totalCount} elementos

Riesgo Bajo

{lowRiskPercentage.toFixed(0)}%

{lowRiskCount} de {totalCount} elementos

Riesgo Alto

{highRiskPercentage.toFixed(0)}%

{highRiskCount} de {totalCount} elementos

); }; export default RiskProgressBars;