feat: login unificado BI-CCC com deteccao automatica de role
- 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>
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>BI Agentes — Login</title>
|
||||
<title>BI - CCC | CambioReal</title>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
@@ -45,24 +45,31 @@
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
.login-header .logo {
|
||||
width: 56px; height: 56px;
|
||||
background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
|
||||
border-radius: 14px;
|
||||
display: flex; align-items: center; justify-content: center;
|
||||
width: 80px; height: 80px;
|
||||
margin: 0 auto 16px;
|
||||
font-size: 28px;
|
||||
color: white;
|
||||
}
|
||||
.login-header .logo img {
|
||||
width: 100%; height: 100%;
|
||||
object-fit: contain;
|
||||
}
|
||||
.login-header h1 {
|
||||
font-size: 22px;
|
||||
font-size: 24px;
|
||||
font-weight: 800;
|
||||
color: var(--text);
|
||||
letter-spacing: -0.5px;
|
||||
}
|
||||
.login-header .subtitle {
|
||||
font-size: 12px;
|
||||
color: var(--primary);
|
||||
margin-top: 4px;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
.login-header p {
|
||||
font-size: 13px;
|
||||
color: var(--text-secondary);
|
||||
margin-top: 6px;
|
||||
margin-top: 8px;
|
||||
}
|
||||
.form-group {
|
||||
margin-bottom: 20px;
|
||||
@@ -134,15 +141,16 @@
|
||||
<div class="login-container">
|
||||
<div class="login-card">
|
||||
<div class="login-header">
|
||||
<div class="logo">↔</div>
|
||||
<h1>BI Agentes</h1>
|
||||
<p>CambioReal — Dashboard de Transacoes</p>
|
||||
<div class="logo"><img src="/public/logo-small.png" alt="CambioReal"></div>
|
||||
<h1>BI - CCC</h1>
|
||||
<div class="subtitle">Central Command Center</div>
|
||||
<p>Acesso unificado para agentes e admins</p>
|
||||
</div>
|
||||
<div class="error-msg" id="errorMsg"></div>
|
||||
<form id="loginForm" method="POST" action="/login">
|
||||
<div class="form-group">
|
||||
<label>E-mail</label>
|
||||
<input type="email" name="email" id="email" required placeholder="agente@email.com" autocomplete="email">
|
||||
<input type="email" name="email" id="email" required placeholder="seu@email.com" autocomplete="email">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Senha</label>
|
||||
|
||||
BIN
public/logo-small.png
Normal file
BIN
public/logo-small.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.8 KiB |
Reference in New Issue
Block a user