- Dark/light mode toggle across all pages (login, dashboard, corporate, admin, BI)
- BI Executive redesigned as permanent dark trading console (Bloomberg-style)
- Floating vertical nav with anchor scroll for mobile navigation
- Chart.js bundled locally (eliminates CDN dependency)
- Chart.js inlined in HTML for guaranteed loading
- Fix: themeScript </script> tag had literal backslash breaking HTML parser
- Fix: each chart wrapped in individual try/catch for graceful degradation
- No-cache headers on BI page to prevent stale HTML
- Robust init that handles DOMContentLoaded already fired
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Adiciona widget de cotações ao vivo (USD/BRL e EUR/BRL) com design
estilo terminal de trading (dark theme, tipografia mono, glow effects)
- Proxy server-side /api/cotacao com cache 3s e token AwesomeAPI
- Auto-refresh a cada 3 segundos apenas quando a página está aberta
- Corrige cálculo de spread negativo: remove Math.abs() em USD→BRL
e Math.max(0,...) no spread líquido
- Corrige seção USD→BRL que não aparecia (filtro status !== 'finalizado')
- Corrige valor_reais no fluxo USD→BRL: agora calcula valor * cotação
- Adiciona classe CSS spread-negative para destacar spreads negativos
- Bandeiras de fluxo (BR/US/EU) nos botões de compra e venda
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Passa email como parametro na URL de erro
- Preenche campo automaticamente ao recarregar
- Foca no campo senha quando email ja preenchido
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Cria src/ui-template.js com header, footer e estilos compartilhados
- Atualiza admin-home.js e admin-panel.js para usar template
- Atualiza dashboard.js com logo e cores CambioReal (#7600be)
- Atualiza login.html com novo branding BI-CCC
- Adiciona public/logo.png (CambioReal original)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Adiciona coluna 'role' na tabela agentes (agente|admin)
- Migra admins existentes para tabela agentes com role='admin'
- Unifica login em /login com redirect baseado em role
- Sessao unificada req.session.user com {id, email, nome, role, agente_id}
- Middleware requireRole() para proteger rotas por role
- Admin panel com selector de role ao criar/editar usuarios
- Atualiza branding para "BI - CCC" com logo CambioReal
- Redirects: /admin/login -> /login, /admin/logout -> /logout
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Independent dashboard for CambioReal agents with local SQLite auth
and read-only RDS connection. Features login, per-agent transaction
filtering, KPIs, charts (Chart.js), and detailed transaction table.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>