import React, { useState } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import { Check, Star, Award, Medal, ChevronDown, ChevronUp } from 'lucide-react'; import { TierKey } from '../types'; import { TIERS } from '../constants'; import clsx from 'clsx'; interface TierSelectorEnhancedProps { selectedTier: TierKey; onSelectTier: (tier: TierKey) => void; } const tierIcons = { gold: Award, silver: Medal, bronze: Star, }; const tierGradients = { gold: 'from-yellow-400 via-yellow-500 to-amber-600', silver: 'from-slate-300 via-slate-400 to-slate-500', bronze: 'from-orange-400 via-orange-500 to-amber-700', }; const TierSelectorEnhanced: React.FC = ({ selectedTier, onSelectTier, }) => { const [showComparison, setShowComparison] = useState(false); const tiers: TierKey[] = ['gold', 'silver', 'bronze']; return (
{/* Tier Cards */}
{tiers.map((tierKey, index) => { const tier = TIERS[tierKey]; const Icon = tierIcons[tierKey]; const isSelected = selectedTier === tierKey; const isRecommended = tierKey === 'silver'; return ( onSelectTier(tierKey)} className={clsx( 'relative cursor-pointer rounded-xl border-2 transition-all duration-300 overflow-hidden', isSelected ? 'border-blue-500 shadow-xl shadow-blue-500/20' : 'border-slate-200 hover:border-slate-300 shadow-lg hover:shadow-xl' )} > {/* Recommended Badge */} {isRecommended && ( POPULAR )} {/* Selected Checkmark */} {isSelected && ( )} {/* Card Content */}
{/* Icon with Gradient */}
{/* Tier Name */}

{tier.name}

{/* Price */}
€{tier.price.toLocaleString('es-ES')} one-time
{/* Description */}

{tier.description}

{/* Key Features */}
    {tier.features?.slice(0, 3).map((feature, i) => ( {feature} ))}
{/* Select Button */} {isSelected ? 'Seleccionado' : 'Seleccionar'}
); })}
{/* Comparison Toggle */}
setShowComparison(!showComparison)} className="inline-flex items-center gap-2 text-blue-600 hover:text-blue-700 font-medium text-sm" > {showComparison ? ( <> Ocultar Comparación ) : ( <> Ver Comparación Detallada )}
{/* Comparison Table */} {showComparison && (

Comparación de Tiers

{tiers.map((tierKey) => ( ))} {tiers.map((tierKey) => ( ))} {tiers.map((tierKey) => ( ))} {tiers.map((tierKey) => ( ))} {tiers.map((tierKey) => ( ))} {tiers.map((tierKey) => ( ))} {tiers.map((tierKey) => ( ))}
Característica {TIERS[tierKey].name}
Precio €{TIERS[tierKey].price.toLocaleString('es-ES')}
Tiempo de Entrega {tierKey === 'gold' ? '7 días' : tierKey === 'silver' ? '10 días' : '14 días'}
Análisis de 8 Dimensiones
Roadmap Ejecutable
Modelo Económico ROI {tierKey !== 'bronze' ? ( ) : ( )}
Sesión de Presentación {tierKey === 'gold' ? ( ) : ( )}
)}
); }; export default TierSelectorEnhanced;