import { TrendingUp, TrendingDown, Minus, AlertTriangle, CheckCircle, Target } from 'lucide-react'; import { BulletChart } from '../charts/BulletChart'; import type { AnalysisData, Finding } from '../../types'; interface ExecutiveSummaryTabProps { data: AnalysisData; } // Health Score Gauge Component function HealthScoreGauge({ score }: { score: number }) { const getColor = (s: number) => { if (s >= 80) return '#059669'; // emerald-600 if (s >= 60) return '#D97706'; // amber-600 return '#DC2626'; // red-600 }; const getLabel = (s: number) => { if (s >= 80) return 'Excelente'; if (s >= 60) return 'Bueno'; if (s >= 40) return 'Regular'; return 'Crítico'; }; const color = getColor(score); const circumference = 2 * Math.PI * 45; const strokeDasharray = `${(score / 100) * circumference} ${circumference}`; return (
{getLabel(score)}
{label}
{value}
{change && ({item.metric}
)}→ {item.action}
Coste Anual Actual
€{data.economicModel.currentAnnualCost.toLocaleString()}
Ahorro Potencial
€{data.economicModel.annualSavings.toLocaleString()}
Inversión Inicial
€{data.economicModel.initialInvestment.toLocaleString()}
ROI a 3 Años
{data.economicModel.roi3yr}%