// VerifyFacturaScreen — pantalla intermedia entre "enviar pedido" y "siendo procesada" // La vendedora revisa exactamente lo que pidió, total y ganancia estimada, // y confirma con un botón. Reduce errores y disputas posteriores. function VerifyFacturaScreen({ vendedora, factura, pedido, onConfirm, onBack }) { const T = window.T; const { Icon, ProductTile } = window; const [submitting, setSubmitting] = React.useState(false); const [error, setError] = React.useState(''); const productos = (factura?.productosOriginales && factura.productosOriginales.length) ? factura.productosOriginales : (pedido?.productos || []); const total = productos.reduce((s, p) => s + (+p.precio || 0) * (+p.cantidad || 0), 0); const items = productos.reduce((s, p) => s + (+p.cantidad || 0), 0); const descuentoPct = factura?.descuentoPct || 20; const ganancia = +(total * descuentoPct / 100).toFixed(2); const aPagar = +(total * (100 - descuentoPct) / 100).toFixed(2); const paymentCampaignId = factura?.campaignId || pedido?.campaignId || pedido?.campanaId || pedido?.campana; const hasPaymentPlan = window.getPaymentPlanForCampaign && window.getPaymentPlanForCampaign(paymentCampaignId); const paymentPlanLabel = hasPaymentPlan?.label || paymentCampaignId || 'esta campana'; async function handleConfirm() { if (submitting || !factura?.id) return; setSubmitting(true); setError(''); try { const updated = await window.pedidosApi.verificarFactura(factura.id); onConfirm && onConfirm(updated); } catch (e) { console.error('verificar err', e); setError(e.message || 'No se pudo confirmar la factura'); setSubmitting(false); } } return (