Total: R$ {totalPreview.toLocaleString('pt-BR',{minimumFractionDigits:2})}

}
{saving?'Gerando...':'Gerar Faturas'}
; } function RecebModal({rec,onClose,onSave,clients}){ const[form,setForm]=useState(rec||{client_id:'',description:'',value:'',due_date:'',status:'pendente',payment_method:'',notes:''}); const set=v=>setForm(p=>({...p,...v})); const fmtDate=d=>d?d.slice(0,10):''; return
e.target===e.currentTarget&&onClose()}>

{rec&&rec.id?'Editar Recebimento':'Novo Recebimento'}

set({description:v})} placeholder="Ex: Social Media Mai/26 - Andrade"/>
set({value:parseFloat(v)||''})} type="number" placeholder="0.00"/> set({due_date:v})} type="date"/>
set({payment_method:v})} placeholder="Pix, Transferência..."/>
{form.status==='pago'&&set({paid_date:v})} type="date"/>}