// Lead capture screen — Gelatina Bariátrica · 21 Dias
const { CheckIcon: CapCheck, ArrowRight: CapArrow, LockIcon: CapLock } = window.UI;

function CaptureScreen({ onSubmit, onBack }) {
  const [email, setEmail] = React.useState("");
  const [whatsapp, setWhatsapp] = React.useState("");
  const [accept, setAccept] = React.useState(false);
  const [errors, setErrors] = React.useState({});
  const [submitting, setSubmitting] = React.useState(false);

  const formatWhats = (raw) => {
    const d = raw.replace(/\D/g, "").slice(0, 11);
    if (d.length <= 2) return d.length ? `(${d}` : "";
    if (d.length <= 7) return `(${d.slice(0,2)}) ${d.slice(2)}`;
    return `(${d.slice(0,2)}) ${d.slice(2,7)}-${d.slice(7)}`;
  };

  const handleSubmit = (e) => {
    e.preventDefault();
    const errs = {};
    if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) errs.email = "E-mail inválido";
    const digits = whatsapp.replace(/\D/g, "");
    if (digits.length < 10) errs.whatsapp = "Informe um WhatsApp com DDD";
    if (!accept) errs.accept = "Você precisa concordar para continuar";
    setErrors(errs);
    if (Object.keys(errs).length) return;
    setSubmitting(true);
    console.log("[webhook stub] POST /quiz-gelatina", { email, whatsapp });
    console.log("[Meta Pixel stub] fbq('track', 'Lead')");
    setTimeout(() => onSubmit({ email, whatsapp }), 700);
  };

  return (
    <div className="screen-wrap">
      <div className="topbar">
        <window.UI.BrandMark />
      </div>
      <div className="capture-card">
        <div className="capture-success">
          <div className="success-ring"><CapCheck size={22} color="white" /></div>
          <span>Análise concluída</span>
        </div>

        <h2 className="capture-title">
          Seu perfil indica <span style={{ color: 'var(--brand)' }}>alta compatibilidade</span> com a Gelatina Bariátrica · 21 Dias
        </h2>
        <p className="capture-sub">
          Pra liberar seu resultado personalizado e enviar a receita por WhatsApp, preciso só de:
        </p>

        <form className="capture-form" onSubmit={handleSubmit} noValidate>
          <label className="field">
            <span className="field-label">Seu melhor e-mail</span>
            <input
              type="email"
              value={email}
              onChange={e => setEmail(e.target.value)}
              placeholder="voce@exemplo.com"
              className={errors.email ? "input err" : "input"}
              autoComplete="email"
            />
            {errors.email && <span className="err-msg">{errors.email}</span>}
          </label>

          <label className="field">
            <span className="field-label">Seu WhatsApp (com DDD)</span>
            <input
              type="tel"
              value={whatsapp}
              onChange={e => setWhatsapp(formatWhats(e.target.value))}
              placeholder="(11) 91234-5678"
              className={errors.whatsapp ? "input err" : "input"}
              inputMode="numeric"
            />
            {errors.whatsapp && <span className="err-msg">{errors.whatsapp}</span>}
          </label>

          <label className={"check-row " + (errors.accept ? "err" : "")}>
            <input type="checkbox" checked={accept} onChange={e => setAccept(e.target.checked)} />
            <span>Aceito receber minha versão personalizada da Gelatina Bariátrica e dicas de desinchaço</span>
          </label>
          {errors.accept && <span className="err-msg" style={{ marginTop: -8 }}>{errors.accept}</span>}

          <button type="submit" className="btn-primary" disabled={submitting}>
            {submitting ? "PROCESSANDO..." : <>VER MEU RESULTADO PERSONALIZADO <CapArrow size={18} /></>}
          </button>
        </form>

        <div className="lgpd-note">
          <CapLock size={12} /> <span>Política: Nunca fazemos spam. Você pode descadastrar a qualquer momento. Seus dados são tratados conforme LGPD.</span>
        </div>
      </div>
    </div>
  );
}

window.CaptureScreen = CaptureScreen;
