// js/components/widgets/campaign-modal/CampaignStepDone.jsx
// [Wave 40 v224.21 NUCLEAR EXTRACT 2026-05-24] Step 3: campanha finalizada (resumo 3 stat cards)
// Extract LITERAL CampaignModal L343-375
//
// Props:
//   - results (array) — items {clientId, name, status, errorMsg?}
//   - onClose — close modal
//   - calcResultStats (fn) — vem da lib (sent/skipped/errors counts)
//
// Deps lazy: window.Modal
(function(){
  'use strict';
  function CampaignStepDone(props){
    const Modal = window.Modal;
    if(!Modal){
      console.error('[CampaignStepDone] window.Modal ausente');
      return null;
    }
    const { results, onClose, calcResultStats } = props;
    const stats = (typeof calcResultStats === 'function') ? calcResultStats(results) : { sent: 0, skipped: 0, errors: 0 };
    const sent = stats.sent;
    const skipped = stats.skipped;
    const errors = stats.errors;
    return (
      <Modal title="🎉 Campanha finalizada" onClose={onClose}>
        <div style={{textAlign:'center',padding:'20px 0'}}>
          <div style={{fontSize:48,marginBottom:14}}>📊</div>
          <div style={{fontSize:18,fontWeight:700,color:'#1B2A4A',marginBottom:8}}>Resumo da campanha</div>
          <div style={{display:'grid',gridTemplateColumns:'repeat(3,1fr)',gap:12,marginTop:14}}>
            <div style={{padding:14,background:'#ECFDF5',borderRadius:10,border:'1px solid #16A34A33'}}>
              <div style={{fontSize:24,fontWeight:800,color:'#16A34A'}}>{sent}</div>
              <div style={{fontSize:11,color:'#16A34A',textTransform:'uppercase',letterSpacing:1,fontWeight:700}}>Enviados</div>
            </div>
            <div style={{padding:14,background:'#FEF3C7',borderRadius:10,border:'1px solid #EA580C33'}}>
              <div style={{fontSize:24,fontWeight:800,color:'#EA580C'}}>{skipped}</div>
              <div style={{fontSize:11,color:'#EA580C',textTransform:'uppercase',letterSpacing:1,fontWeight:700}}>Pulados</div>
            </div>
            <div style={{padding:14,background:errors>0?'#FEE2E2':'#F9FAFB',borderRadius:10,border:'1px solid '+(errors>0?'#DC262633':'#E5E7EB')}}>
              <div style={{fontSize:24,fontWeight:800,color:errors>0?'#DC2626':'#9CA3AF'}}>{errors}</div>
              <div style={{fontSize:11,color:errors>0?'#DC2626':'#9CA3AF',textTransform:'uppercase',letterSpacing:1,fontWeight:700}}>Erros</div>
            </div>
          </div>
          <div style={{fontSize:13,color:'#6B7280',marginTop:18,lineHeight:1.6}}>
            {sent>0 && <React.Fragment>📈 Os {sent} disparos foram registrados no histórico do cliente.<br/></React.Fragment>}
            {sent>=5 && <React.Fragment>💪 Boa jornada! Cada contato é uma oportunidade de reativação.<br/></React.Fragment>}
          </div>
        </div>
        <div style={{display:'flex',justifyContent:'center',marginTop:14}}>
          <button className="btn-gold" onClick={onClose}>Fechar</button>
        </div>
      </Modal>
    );
  }
  window.ZNX = window.ZNX || {};
  window.ZNX.widgets = window.ZNX.widgets || {};
  window.ZNX.widgets['campaign-modal'] = window.ZNX.widgets['campaign-modal'] || {};
  window.ZNX.widgets['campaign-modal'].CampaignStepDone = CampaignStepDone;
  // [Wave 40 marker v224.21] confirma CampaignStepDone executado
  window.CampaignStepDone_v224_21_wave40 = true;
})();
