/* Santos OS — Alertas (notifications + AI order approvals) */ function NotifCard({ n, onToast }) { const T = window.T; const [expanded, setExpanded] = React.useState(false); const [done, setDone] = React.useState(n.read ? null : undefined); const isOrder = n.type==='order_proposal'; const prio = {critico:{label:'! Crítico', color:T.danger, bg:T.dangerLight}, moderado:{label:'! Moderado', color:T.warning, bg:T.warningLight}, informativo:{label:null}}[n.priority]; const leftBorder = prio.color || (n.read ? 'transparent' : T.primary); const approve = () => { setDone(true); onToast(isOrder?'✓ Pedido enviado al CEDI · PO generada':'✦ Canje registrado · portal actualizado'); }; const reject = () => { setDone(false); onToast('✕ Rechazado'); }; return (
{!n.read && }
{n.icon}
{n.title} {prio.label && {prio.label}} {n.label}
{n.ts}
{n.body}
{isOrder && expanded && (
AI
Generado por Claude Haiku
Análisis de velocidad · inventario Odoo · histórico
Producto Cob. Conf. Costo
{window.ORDER_ITEMS.map((it,i)=>{ const conf = it.conf>=85?T.success:it.conf>=70?T.warning:T.danger; const ti = it.trend==='up'?'↑':it.trend==='down'?'↓':'→'; const tcol = it.trend==='up'?T.danger:it.trend==='down'?T.success:T.fg3; return (
{ti}{it.nombre}
{it.motivo} · {it.qty} {it.unidad}
{it.cover}d {it.conf}% L.{it.costo.toLocaleString()}
); })}
Total · 4 SKUs L. 5,610
)} {isOrder &&
setExpanded(!expanded)} style={{fontSize:12, fontWeight:500, color:T.info, marginTop:4, marginBottom:8, cursor:'pointer'}}>{expanded?'▲ Ocultar detalle':'▼ Ver propuesta de IA'}
} {n.actionable && done===undefined && (
✕ Rechazar ✓ Aprobar
)} {done!==undefined && done!==null && (
{done?'✓ Aprobado':'✕ Rechazado'}
)}
); } function Alertas({ onToast }) { const T = window.T; const [filter, setFilter] = React.useState('all'); const filtered = filter==='all' ? window.NOTIFS : window.NOTIFS.filter(n=>n.actionable); return (
3 sin leer
{[['all','Todas'],['action','Requieren acción']].map(([k,l])=>( ))}
{filtered.map(n=>)}
); } window.Alertas = Alertas;