/* global React */ // Navegação + kanban configs + helpers de formatação. // Dados operacionais vêm de window.dataApi (Supabase). const MODULES = [ { id: 'dashboard', n: '00', name: 'Painel · Agenda', icon: 'home' }, { id: 'prospeccao', n: '01', name: 'Prospecção', icon: 'target' }, { id: 'ocr', n: '02', name: 'OCR & Análise', icon: 'file' }, { id: 'precificacao', n: '03', name: 'Precificação', icon: 'dollar' }, { id: 'disputa', n: '04', name: 'Disputa ao vivo', icon: 'bolt', badgeRed: 'AO VIVO' }, { id: 'empenhos', n: '05', name: 'Empenhos', icon: 'package' }, { id: 'logistica', n: '06', name: 'Logística', icon: 'truck' }, { id: 'financeiro', n: '07', name: 'Financeiro', icon: 'chart' }, { id: 'ia', n: '08', name: 'IA Gerente', icon: 'cpu' }, { id: 'integracoes', n: '09', name: 'Comunicação', icon: 'cloud' }, { id: 'portais', n: '10', name: 'Portais', icon: 'users' }, { id: 'pdv', n: '11', name: 'PDV & Estoque', icon: 'shop' }, { id: 'auditoria', n: '12', name: 'Auditoria', icon: 'shield' }, { id: 'config', n: '13', name: 'Configurações', icon: 'settings' }, ]; const KANBAN_LIC = [ { id: 'prospec', label: 'Prospecção', color: '#7a7770' }, { id: 'analise', label: 'Em análise', color: '#6ad7e5' }, { id: 'precif', label: 'Precificação', color: '#f5b544' }, { id: 'disputa', label: 'Disputa', color: '#ff5d5d' }, { id: 'ganhos', label: 'Ganhos', color: '#d4f752' }, { id: 'descart', label: 'Descartado', color: '#54524c' }, ]; const KANBAN_EMP = [ { id: 'rec', label: 'Recebido' }, { id: 'val', label: 'Validado' }, { id: 'nf-sol', label: 'NF Solicitada' }, { id: 'nf-emit', label: 'NF Emitida' }, { id: 'compra', label: 'Pedido Compra' }, { id: 'separ', label: 'Separação' }, { id: 'rev', label: 'Conferência' }, { id: 'exp', label: 'Expedição' }, { id: 'transp', label: 'Em transporte' }, { id: 'entreg', label: 'Entregue' }, { id: 'cobr', label: 'Cobrança' }, { id: 'pago', label: 'Pago' }, ]; const BRL = (n) => 'R$ ' + n.toLocaleString('pt-BR', { minimumFractionDigits: 2, maximumFractionDigits: 2 }); const NUM = (n, d = 0) => n.toLocaleString('pt-BR', { minimumFractionDigits: d, maximumFractionDigits: d }); const DT = (s) => { const d = new Date(s); return d.toLocaleDateString('pt-BR') + ' ' + d.toLocaleTimeString('pt-BR', { hour: '2-digit', minute: '2-digit' }); }; Object.assign(window, { MODULES, KANBAN_LIC, KANBAN_EMP, BRL, NUM, DT });