import React from 'react'; import { motion } from 'framer-motion'; import type { AgenticReadinessResult } from '../types'; import { CheckCircle2, TrendingUp, Database, Brain, Clock, DollarSign, Zap, AlertCircle, Target } from 'lucide-react'; import BadgePill from './BadgePill'; interface AgenticReadinessBreakdownProps { agenticReadiness: AgenticReadinessResult; } const SUB_FACTOR_ICONS: Record = { repetitividad: TrendingUp, predictibilidad: CheckCircle2, estructuracion: Database, complejidad_inversa: Brain, estabilidad: Clock, roi: DollarSign }; const SUB_FACTOR_COLORS: Record = { repetitividad: '#10B981', // green predictibilidad: '#3B82F6', // blue estructuracion: '#8B5CF6', // purple complejidad_inversa: '#F59E0B', // amber estabilidad: '#06B6D4', // cyan roi: '#EF4444' // red }; export function AgenticReadinessBreakdown({ agenticReadiness }: AgenticReadinessBreakdownProps) { const { score, sub_factors, interpretation, confidence } = agenticReadiness; // Color del score general const getScoreColor = (score: number): string => { if (score >= 8) return '#10B981'; // green if (score >= 5) return '#F59E0B'; // amber return '#EF4444'; // red }; const getScoreLabel = (score: number): string => { if (score >= 8) return 'Excelente'; if (score >= 5) return 'Bueno'; if (score >= 3) return 'Moderado'; return 'Bajo'; }; const confidenceColor = { high: '#10B981', medium: '#F59E0B', low: '#EF4444' }[confidence]; return ( {/* Header */}

Agentic Readiness Score

Confianza: {confidence === 'high' ? 'Alta' : confidence === 'medium' ? 'Media' : 'Baja'}
{/* Score principal */}
{/* Background circle */} {/* Progress circle */}
{score.toFixed(1)} /10
{getScoreLabel(score)}

{interpretation}

{/* Sub-factors */}

Desglose por Sub-factores

{sub_factors.map((factor, index) => { const Icon = SUB_FACTOR_ICONS[factor.name] || CheckCircle2; const color = SUB_FACTOR_COLORS[factor.name] || '#6D84E3'; return (
{/* Icon */}
{/* Content */}

{factor.displayName}

{factor.description}

{factor.score.toFixed(1)}
Peso: {(factor.weight * 100).toFixed(0)}%
{/* Progress bar */}
); })}
{/* Action Recommendation */}

Recomendación de Acción

{score >= 8 ? 'Este proceso es un candidato excelente para automatización completa. La alta predictibilidad y baja complejidad lo hacen ideal para un bot o IVR.' : score >= 5 ? 'Este proceso se beneficiará de una solución híbrida donde la IA asiste a los agentes humanos, mejorando velocidad y consistencia.' : 'Este proceso requiere optimización operativa antes de automatización. Enfócate en estandarizar y simplificar.'}

Timeline Estimado: {score >= 8 ? '1-2 meses' : score >= 5 ? '2-3 meses' : '4-6 semanas de optimización'}
Tecnologías Sugeridas:
{score >= 8 ? ( <> Chatbot / IVR RPA ) : score >= 5 ? ( <> Copilot IA Asistencia en Tiempo Real ) : ( <> Mejora de Procesos Estandarización )}
Impacto Estimado:
{score >= 8 ? ( <>
Reducción volumen: 30-50%
Mejora de AHT: 40-60%
Ahorro anual: €80-150K
) : score >= 5 ? ( <>
Mejora de velocidad: 20-30%
Mejora de consistencia: 25-40%
Ahorro anual: €30-60K
) : ( <>
Mejora de eficiencia: 10-20%
Base para automatización futura
)}
{/* CTA Button */} = 8 ? 'bg-green-600 hover:bg-green-700' : score >= 5 ? 'bg-blue-600 hover:bg-blue-700' : 'bg-amber-600 hover:bg-amber-700' }`} > {score >= 8 ? 'Ver Iniciativa de Automatización' : score >= 5 ? 'Explorar Solución de Asistencia' : 'Iniciar Plan de Optimización'}
{/* Footer note */}

¿Cómo interpretar el score? El Agentic Readiness Score (0-10) evalúa automatizabilidad considerando: predictibilidad del proceso, complejidad operacional, volumen de repeticiones y potencial ROI. Guía de interpretación: 8.0-10.0 = Automatizar Ahora (proceso ideal) 5.0-7.9 = Asistencia con IA (copilot para agentes) 0-4.9 = Optimizar Primero (mejorar antes de automatizar)

); }