v0.73.0
AFService Map v0.73.0 — Reskin visual dos dashboards
Backup/ponto de rollback desta rodada: tag v0.72.1. Trabalho feito
diretamente por mim (Claude), a partir de 3 HTMLs de referência que o
Gemini gerou (Tailwind + FontAwesome via CDN) pro SuperAdmin, Provedor/ISP
e Projetista — usados só como inspiração visual, não copiados como
código. Sem migration, sem mudança em Python.
O que pediu, o que entreguei
O usuário confirmou que queria a linguagem visual dos 3 mockups (fundo
bem escuro, cards com glow, badge de ícone colorido, sidebar retrátil em
trilho de ícones, cabeçalho tipo hero) aplicada nos dashboards reais do
sistema — não os HTMLs em si. O sistema de widgets por trás dessas 3
páginas (grid arrastável/redimensionável via Gridstack só no modo de
edição, dados reais vindo das views) já estava completo e não precisou
mudar; este pacote é puramente visual.
O que decidi não trazer, e por quê
- Tailwind CSS e FontAwesome via CDN: o próprio Tailwind desaconselha
o build via CDN em produção (sem purge, carrega o framework inteiro, e
cria uma dependência de rede externa toda vez que alguém abre o
dashboard). O projeto inteiro é CSS/JS vanilla sem bundler, ícone
inline em SVG — mantive esse padrão, só amplieistatic/css/app.css. - Widgets de faturamento, inadimplência e bloqueio automático que
apareciam nos mockups: não existe módulo financeiro no sistema hoje.
Mostrar isso seria inventar número falso na tela — não fiz. - Busca funcional na topbar: uma busca decorativa sem back-end real
seria enganosa. A busca de verdade já existe em "Minha administração" e
no mapa; não dupliquei.
O que mudou
Menu lateral (templates/base.html, static/css/app.css)
Ao recolher, a sidebar não some mais por completo — vira uma faixa de
72px só com os ícones da navegação (mesmo padrão já usado no mapa desde a
v0.72.1: .app-sidebar.desktop-collapsed agora tem width: 72px em vez
de transform: translateX(-100%)). O texto de cada link foi movido pra
um <span class="nav-label"> novo (antes era texto solto ao lado do
ícone), pra poder esconder só o rótulo no modo recolhido.
Cabeçalho "hero" dos dashboards
Classe nova .page-heading.dashboard-hero, usada só nas 3 páginas de
dashboard (dashboard.html, dashboard_designer.html,
platform_overview.html) — fundo em gradiente com dois halos desfocados
(::before/::after com blur), borda sutil, padding maior. O
.page-heading genérico usado nas outras páginas do sistema (lista de
equipamentos, conta, etc.) não foi tocado.
Acento roxo só na Visão da plataforma
body.platform-role (aplicado só quando a rota é platform-overview,
exclusiva de superusuário) sobrescreve --primary pra roxo fixo — o
dashboard de provedor e de projetista continuam seguindo a cor de
whitelabel de cada empresa (current_company.brand_color), como sempre.
A regra vence o :root{--primary:...} do whitelabel por especificidade
CSS (body.platform-role tem mais peso que :root sozinho), então não
depende de ordem de carregamento.
Selo de percentual no card "Acessos online"
dashboard.html recalcula o mesmo % online que já existia dentro do
painel "Estado dos acessos" ({% widthratio %}) e mostra como pílula
colorida (.metric-badge) ao lado do número — reaproveita dado que já
era calculado, não adiciona cálculo novo no back-end.
Feed de alertas com borda lateral por severidade
.alert-item (painel "Alertas recentes") e as linhas de "Precisa de
atenção" (Visão da plataforma) ganham border-left colorido — vermelho
pra crítico/alto, amarelo pra médio/atenção, azul pra informativo — em
cima do markup que já existia, sem mudar dado nenhum.
Avatar + breadcrumb na topbar
.topbar-user ganha um círculo com a inicial do nome (via filtro Django
padrão |slice:":1"|upper, sem template tag nova) ao lado do nome
completo. Antes do título da página, um pequeno "AFService ›" no mesmo
espírito do breadcrumb dos mockups.
Verificação feita
- Nenhuma mudança em Python além do bump de versão em
config/settings.py
(py_compileOK) — não há migration nem lógica de view nova. - Chaves do
static/css/app.cssbalanceadas (271/271) antes e depois da
edição. {% if %}/{% endif %},{% block %}/{% endblock %},{% for %}/
{% endfor %}balanceados embase.html,dashboard.html,
dashboard_designer.htmleplatform_overview.html.- Revisão do
git diffde cada arquivo tocado, confirmando que os únicos
HTMLs alterados foram exatamente as classes/spans novos descritos
acima — nenhum widget, view ou endpoint mudou.
Não dá pra testar visualmente neste ambiente (sem browser/servidor
com banco real). Teste real: abrir os 3 dashboards (conta de provedor,
conta de projetista, e "Visão da plataforma" como superusuário), recolher
e expandir o menu lateral (confirmar que vira um trilho de ícones sem
sobrepor o conteúdo), conferir o cabeçalho hero, o selo de percentual no
card de acessos online, o acento roxo só na visão da plataforma, e o
avatar/breadcrumb na topbar.
Atualização
Execute apply no servidor. Sem migration nesta versão. Depois, um
Ctrl+F5 no navegador garante que o CSS novo seja carregado.