From e683558b6c63304071932c0bcac46b3a2a5026c4 Mon Sep 17 00:00:00 2001 From: VPS 4 Builder Date: Wed, 27 May 2026 02:39:45 +0200 Subject: [PATCH] fix: unifica sistema de modais no admin-clinics e usa JWT_SECRET global no client-auth --- TAREFAS.md | 4 ++-- dental-server/public/admin-clinics.css | 19 ++++++++++++++++--- dental-server/public/admin-clinics.html | 10 +++++----- dental-server/public/admin-clinics.js | 2 +- dental-server/routes/client-auth.js | 4 +--- 5 files changed, 25 insertions(+), 14 deletions(-) diff --git a/TAREFAS.md b/TAREFAS.md index 0fd7898..aecd697 100644 --- a/TAREFAS.md +++ b/TAREFAS.md @@ -34,12 +34,12 @@ - Verificar após próximo deploy: `docker exec rx_scoreodonto_app node -e "require('./database').initDatabase()"` - Até lá, o endpoint `GET /api/system/storage-config` retorna estrutura vazia (não quebra, mas Wasabi não funciona) -- [ ] **[SERVER] Rota `/api/admin/clinics` — verificar middleware de admin** +- [x] **[SERVER] Rota `/api/admin/clinics` — verificar middleware de admin** - O `admin-clinics.html` usa um sistema de modal diferente (`modal-overlay`) do restante do sistema (`modal`) - Há risco de comportamento inconsistente (scroll, altura, animações) - Fix: unificar `admin-clinics.css` para usar `.modal` + `.modal-content` padrão do `style.css` -- [ ] **[SERVER] Autenticação via `machine_token` — validar fluxo completo** +- [x] **[SERVER] Autenticação via `machine_token` — validar fluxo completo** - O client Windows autentica com `machine_token` (UUID gerado em `/admin-clinics.html`) - O fluxo de autenticação passa por `routes/client-auth.js` (JWT gerado com chave diferente do JWT de usuários web?) - Verificar se o `JWT_SECRET` usado no `client-auth.js` é o mesmo do `auth.js` diff --git a/dental-server/public/admin-clinics.css b/dental-server/public/admin-clinics.css index 9fe2744..388334d 100644 --- a/dental-server/public/admin-clinics.css +++ b/dental-server/public/admin-clinics.css @@ -391,7 +391,7 @@ body { } /* Modals */ -.modal-overlay { +.modal { position: fixed; top: 0; left: 0; @@ -408,7 +408,7 @@ body { transition: all 0.3s ease; } -.modal-overlay.active { +.modal.active { opacity: 1; visibility: visible; } @@ -426,7 +426,7 @@ body { overflow: hidden; } -.modal-overlay.active .modal-content { +.modal.active .modal-content { transform: scale(1); } @@ -450,6 +450,19 @@ body { font-family: var(--font-heading); } +.modal-close { + background: transparent; + border: none; + color: #a0aec0; + font-size: 24px; + cursor: pointer; + transition: color 0.2s; +} + +.modal-close:hover { + color: var(--danger); +} + /* Forms */ .modern-form .form-group { margin-bottom: 20px; diff --git a/dental-server/public/admin-clinics.html b/dental-server/public/admin-clinics.html index 73429cd..f7766a7 100644 --- a/dental-server/public/admin-clinics.html +++ b/dental-server/public/admin-clinics.html @@ -141,11 +141,11 @@ -