
import { useState } from 'react';
import { motion, AnimatePresence } from 'framer-motion';
import { ShieldCheck, FileText, Globe, Zap, ArrowRight, CheckCircle2, ChevronRight, HelpCircle } from 'lucide-react';

const STEPS = [
  {
    id: 'identity',
    title: 'Identité de l\'Entreprise',
    description: 'Meta doit vérifier que votre école est une entité réelle.',
    icon: <FileText className="w-6 h-6" />,
    color: 'from-blue-500 to-indigo-600',
    details: [
      'Extrait Kbis ou Registre du Commerce',
      'Facture d\'électricité ou téléphone au nom de l\'école',
      'Le nom doit correspondre EXACTEMENT à celui sur Facebook'
    ]
  },
  {
    id: 'domain',
    title: 'Vérification du Domaine',
    description: 'Prouvez que vous êtes propriétaire de votre site web.',
    icon: <Globe className="w-6 h-6" />,
    color: 'from-purple-500 to-pink-600',
    details: [
      'Ajout d\'un code TXT sur votre DNS (ex: Namecheap, LWS)',
      'Ou ajout d\'un fichier HTML sur votre serveur',
      'Indispensable pour la confiance des élèves'
    ]
  },
  {
    id: 'approval',
    title: 'Explosion des Limites',
    description: 'Passez de 250 à 1000+ conversations par jour.',
    icon: <Zap className="w-6 h-6" />,
    color: 'from-amber-400 to-orange-500',
    details: [
      'Accès aux statistiques avancées de Meta',
      'Possibilité de diffuser des notifications massives',
      'Validation par Meta sous 48h à 7 jours'
    ]
  }
];

export default function MetaVerificationGuide() {
  const [activeStep, setActiveStep] = useState(0);

  return (
    <div className="bg-white rounded-[2.5rem] p-10 border border-slate-100 shadow-2xl shadow-indigo-100/50">
      <div className="flex items-center gap-4 mb-10">
        <div className="w-14 h-14 bg-indigo-50 rounded-2xl flex items-center justify-center text-indigo-600">
          <ShieldCheck className="w-8 h-8" />
        </div>
        <div>
          <h2 className="text-3xl font-black text-slate-900 tracking-tight">Accélérateur de Croissance</h2>
          <p className="text-slate-500 font-medium">Guide interactif pour débloquer toute la puissance de WhatsApp</p>
        </div>
      </div>

      <div className="grid md:grid-cols-[1fr_1.5fr] gap-12">
        {/* Sidebar Steps */}
        <div className="space-y-4">
          {STEPS.map((step, idx) => (
            <button
              key={step.id}
              onClick={() => setActiveStep(idx)}
              className={`w-full text-left p-6 rounded-3xl transition-all duration-300 relative overflow-hidden group ${
                activeStep === idx 
                  ? 'bg-slate-900 text-white shadow-xl translate-x-2' 
                  : 'bg-slate-50 text-slate-400 hover:bg-slate-100'
              }`}
            >
              <div className="flex items-center gap-4 relative z-10">
                <div className={`p-2 rounded-xl ${activeStep === idx ? 'bg-white/10' : 'bg-white shadow-sm'}`}>
                  {step.icon}
                </div>
                <div className="flex-1">
                  <h4 className="font-bold text-sm">{step.title}</h4>
                  {activeStep === idx && (
                    <motion.p 
                      initial={{ opacity: 0, height: 0 }}
                      animate={{ opacity: 1, height: 'auto' }}
                      className="text-xs text-slate-300 mt-1 font-medium"
                    >
                      {step.description}
                    </motion.p>
                  )}
                </div>
                <ChevronRight className={`w-5 h-5 transition-transform ${activeStep === idx ? 'rotate-90' : ''}`} />
              </div>
            </button>
          ))}
        </div>

        {/* Content Area */}
        <div className="relative min-h-[400px]">
          <AnimatePresence mode="wait">
            <motion.div
              key={activeStep}
              initial={{ opacity: 0, x: 20 }}
              animate={{ opacity: 1, x: 0 }}
              exit={{ opacity: 0, x: -20 }}
              className="bg-slate-50/50 rounded-[3rem] p-12 border border-white h-full"
            >
              <div className={`w-20 h-20 bg-gradient-to-br ${STEPS[activeStep].color} rounded-3xl mb-8 flex items-center justify-center text-white shadow-lg`}>
                {STEPS[activeStep].icon}
              </div>
              
              <h3 className="text-2xl font-black text-slate-900 mb-6">{STEPS[activeStep].title}</h3>
              
              <div className="space-y-6">
                {STEPS[activeStep].details.map((detail, i) => (
                  <motion.div 
                    initial={{ opacity: 0, y: 10 }}
                    animate={{ opacity: 1, y: 0 }}
                    transition={{ delay: i * 0.1 }}
                    key={i} 
                    className="flex items-start gap-4"
                  >
                    <div className="mt-1 bg-white p-1 rounded-full shadow-sm text-emerald-500">
                      <CheckCircle2 className="w-4 h-4" />
                    </div>
                    <p className="text-slate-600 font-medium leading-relaxed">{detail}</p>
                  </motion.div>
                ))}
              </div>

              <div className="mt-12 pt-8 border-t border-slate-200/50 flex items-center justify-between">
                <div className="flex items-center gap-2 text-indigo-600 font-bold text-sm">
                  <HelpCircle className="w-4 h-4" />
                  Besoin d'aide ?
                </div>
                <a 
                  href="https://business.facebook.com/settings/security"
                  target="_blank"
                  className={`flex items-center gap-2 bg-gradient-to-r ${STEPS[activeStep].color} text-white px-8 py-4 rounded-2xl font-bold hover:scale-105 transition shadow-lg`}
                >
                  Ouvrir Meta Manager <ArrowRight className="w-4 h-4" />
                </a>
              </div>
            </motion.div>
          </AnimatePresence>
        </div>
      </div>
    </div>
  );
}
