// js/components/widgets/orcamentos/QuoteEditFooter.jsx
// [Backlog #579 split 2026-05-15] Extraído de QuoteEditModalShell L917-934 — refactor zero-lógica.
// Padrão: IIFE + window.ZNX.widgets.orcamentos.X namespace + props injection.
//
// Footer do form de criação/edição de orçamento. Botões Cancelar / PDF / WhatsApp / Salvar.
// Handlers encapsulados no pai (onPDF/onWhatsApp) — widget agnostic.
//
// Props (validados FASE 1.5 = 7 props):
//   modal: string ('new' | 'edit')
//   activeQuote: object | null — só edit tem quote (mostra PDF/WhatsApp)
//   isSavingQuote: bool — loading state (regra_loading_state_obrigatorio)
//   onExit: fn — confirmExit handler do pai (botão Cancelar)
//   onSave: fn — saveNew OR saveEdit handler escolhido pelo pai
//   onPDF: fn — gerarOrcamentoPDF encapsulado pelo pai
//   onWhatsApp: fn — shareWhatsApp encapsulado pelo pai
(function() {
  'use strict';

  function QuoteEditFooter({modal, activeQuote, isSavingQuote, onExit, onSave, onPDF, onWhatsApp}){
    return (
      <div style={{background:'#FFFFFF',border:'1px solid #E4E7EC',borderRadius:10,padding:18,marginTop:4}}>
        <div style={{display:'flex',gap:10,justifyContent:'space-between',alignItems:'center'}}>
          <button className="btn-outline" onClick={onExit}>← Cancelar</button>
          <div style={{display:'flex',gap:10}}>
            {modal==='edit'&&activeQuote&&(
              <button className="btn-outline" onClick={onPDF}>📄 PDF</button>
            )}
            {modal==='edit'&&activeQuote&&(
              <button className="btn-outline" style={{borderColor:'#25D366',color:'#25D366'}} onClick={onWhatsApp}>📱 WhatsApp</button>
            )}
            <button className="btn-gold" onClick={onSave} disabled={isSavingQuote}
              style={{padding:'12px 32px',fontSize:15,fontWeight:700,opacity:isSavingQuote?0.6:1,cursor:isSavingQuote?'not-allowed':'pointer'}}>
              {isSavingQuote?'⏳ Salvando…':(modal==='new'?'💾 Salvar Orçamento':'💾 Salvar Alterações')}
            </button>
          </div>
        </div>
      </div>
    );
  }

  window.ZNX = window.ZNX || {};
  window.ZNX.widgets = window.ZNX.widgets || {};
  window.ZNX.widgets.orcamentos = window.ZNX.widgets.orcamentos || {};
  window.ZNX.widgets.orcamentos.QuoteEditFooter = QuoteEditFooter;
})();
