'use client';

import React from 'react';
import { X, Sparkles, CheckCircle2 } from 'lucide-react';
import { useMessages } from '@/i18n/client';

interface VideoModalProps {
  isOpen: boolean;
  onClose: () => void;
  onStart: () => void;
}

const CARD_COLORS = ['text-violet-400', 'text-blue-400', 'text-amber-400'];

export const VideoModal: React.FC<VideoModalProps> = ({ isOpen, onClose, onStart }) => {
  const m = useMessages().modals;
  const t = m.video;
  if (!isOpen) return null;

  return (
    <div className="fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/80 backdrop-blur-md animate-fade-in">
      <div className="relative w-full max-w-3xl bg-[#07111F] rounded-3xl border border-white/10 overflow-hidden shadow-2xl text-white">
        <button
          onClick={onClose}
          aria-label={m.close}
          className="absolute top-4 right-4 z-20 w-10 h-10 rounded-full bg-white/10 hover:bg-white/20 text-white flex items-center justify-center transition-colors"
        >
          <X className="w-5 h-5" />
        </button>

        <div className="p-8 sm:p-12 space-y-6">
          <div className="inline-flex items-center gap-2 px-3 py-1 rounded-full bg-[#4C7DFF]/20 border border-[#4C7DFF]/30 text-[#4C7DFF] text-xs font-semibold">
            <Sparkles className="w-3.5 h-3.5" />
            <span>{t.badge}</span>
          </div>

          <h3 className="text-2xl sm:text-3xl font-bold tracking-tight">{t.title}</h3>

          <p className="text-slate-300 text-sm sm:text-base leading-relaxed">
            {t.intro}
            {t.systems.map((s, i) => (
              <React.Fragment key={s}>
                {i > 0 && ', '}
                <strong>{s}</strong>
              </React.Fragment>
            ))}
            {t.introEnd}
          </p>

          <div className="grid grid-cols-1 sm:grid-cols-3 gap-4 pt-2">
            {t.cards.map((c, i) => (
              <div key={c.title} className="p-4 rounded-2xl bg-white/5 border border-white/5 space-y-2">
                <span className={`text-xs font-bold ${CARD_COLORS[i]}`}>{c.title}</span>
                <p className="text-xs text-slate-400">{c.text}</p>
              </div>
            ))}
          </div>

          <div className="pt-6 border-t border-white/10 flex flex-wrap items-center justify-between gap-4">
            <div className="flex items-center gap-2 text-xs text-slate-400">
              <CheckCircle2 className="w-4 h-4 text-emerald-400" />
              <span>{t.footer}</span>
            </div>
            <button
              onClick={() => {
                onClose();
                onStart();
              }}
              className="px-6 py-3 rounded-full bg-white text-[#07111F] font-semibold text-sm hover:bg-slate-100 transition-colors shadow-lg"
            >
              {t.cta}
            </button>
          </div>
        </div>
      </div>
    </div>
  );
};
