import React from 'react'; import { motion } from 'framer-motion'; import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, Cell } from 'recharts'; import { EconomicModelData } from '../types'; import { DollarSign, TrendingDown, Calendar, TrendingUp } from 'lucide-react'; import CountUp from 'react-countup'; import MethodologyFooter from './MethodologyFooter'; interface EconomicModelEnhancedProps { data: EconomicModelData; } const EconomicModelEnhanced: React.FC = ({ data }) => { const { currentAnnualCost, futureAnnualCost, annualSavings, initialInvestment, paybackMonths, roi3yr, } = data; // Data for comparison chart const comparisonData = [ { name: 'Coste Actual', value: currentAnnualCost, color: '#ef4444', }, { name: 'Coste Futuro', value: futureAnnualCost, color: '#10b981', }, ]; // Data for savings breakdown (example) const savingsBreakdown = [ { category: 'Automatización', amount: annualSavings * 0.45, percentage: 45 }, { category: 'Eficiencia', amount: annualSavings * 0.30, percentage: 30 }, { category: 'Reducción AHT', amount: annualSavings * 0.15, percentage: 15 }, { category: 'Otros', amount: annualSavings * 0.10, percentage: 10 }, ]; const CustomTooltip = ({ active, payload }: any) => { if (active && payload && payload.length) { return (

{payload[0].payload.name}

€{payload[0].value.toLocaleString('es-ES')}

); } return null; }; return (

Modelo Económico

{/* Key Metrics Grid */}
{/* Annual Savings */}
Ahorro Anual
{((annualSavings / currentAnnualCost) * 100).toFixed(1)}% reducción de costes
{/* ROI 3 Years */}
ROI (3 años)
Retorno sobre inversión
{/* Payback Period */}
Payback
m
Recuperación de inversión
{/* Initial Investment */}
Inversión Inicial
One-time investment
{/* Comparison Chart */}

Comparación AS-IS vs TO-BE

} /> {comparisonData.map((entry, index) => ( ))}
{/* Savings Breakdown */}

Desglose de Ahorros

{savingsBreakdown.map((item, index) => (
{item.category} €{item.amount.toLocaleString('es-ES', { maximumFractionDigits: 0 })}
{item.percentage}%
))}
{/* Summary Box */}

Resumen Ejecutivo

Con una inversión inicial de €{initialInvestment.toLocaleString('es-ES')}, se proyecta un ahorro anual de €{annualSavings.toLocaleString('es-ES')}, recuperando la inversión en {paybackMonths} meses y generando un ROI de {roi3yr}x en 3 años.

{/* Methodology Footer */}
); }; export default EconomicModelEnhanced;