fix(client): renomeia RF Dental → Score Client e corrige URL do executável
continuous-integration/webhook Deploy concluído (VPS4)

- Troca nome do sistema de "RF Dental" para "Score Client" em toda UI (título, sidebar, login, página de download)
- Corrige link de download: era hardcoded /updates/RFDental-Setup.exe (inexistente), agora lê o nome real do arquivo a partir do latest.yml e constrói URL versionada dinamicamente

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
VPS 4 Deploy Agent
2026-05-31 01:08:07 +02:00
parent 16f16d7d8e
commit f158325002
4 changed files with 16 additions and 9 deletions
+1 -1
View File
@@ -5,7 +5,7 @@
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
<meta name="description" content="Sistema de gerenciamento de imagens de raio-X dental" />
<title>RF Dental — Gerenciador de Imagens</title>
<title>Score Client — Gerenciador de Imagens</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700&display=swap" />
@@ -20,7 +20,7 @@ export default function Sidebar({ version, onNewPatient, onUpload, onSettings, o
<i className="fa-solid fa-tooth" />
</div>
<h2>
RF Dental{' '}
Score Client{' '}
<span style={{ fontSize: '10px', opacity: 0.5, fontWeight: 500, marginLeft: 4, verticalAlign: 'middle' }}>
{version ? `v${version}` : ''}
</span>
@@ -8,6 +8,7 @@ import UserManagementModal from '../components/UserManagementModal';
export default function DownloadPage() {
const [version, setVersion] = useState('');
const [exeFilename, setExeFilename] = useState('');
const [showSettings, setShowSettings] = useState(false);
const [showUsers, setShowUsers] = useState(false);
const [showPlugins, setShowPlugins] = useState(false);
@@ -18,11 +19,17 @@ export default function DownloadPage() {
fetch('/updates/latest.yml')
.then((r) => r.text())
.then((t) => {
const m = t.match(/version:\s*([\d.]+)/);
if (m) setVersion(m[1]);
const vMatch = t.match(/version:\s*([\d.]+)/);
if (vMatch) setVersion(vMatch[1]);
const pMatch = t.match(/^path:\s*(.+)$/m);
if (pMatch) setExeFilename(pMatch[1].trim());
}).catch(() => {});
}, []);
const downloadUrl = exeFilename
? `/updates/${encodeURIComponent(exeFilename)}`
: '/download-client';
return (
<div className="app-container">
<Sidebar
@@ -46,26 +53,26 @@ export default function DownloadPage() {
<div style={{ maxWidth: 600, margin: '0 auto' }}>
<div style={{ background: 'white', borderRadius: 16, padding: 40, border: '1px solid var(--border-color)', boxShadow: 'var(--shadow-md)', textAlign: 'center' }}>
<div style={{ fontSize: '5rem', marginBottom: 24 }}>💻</div>
<h2 style={{ marginBottom: 8, fontSize: '1.8rem' }}>RF Dental Cliente Windows</h2>
<h2 style={{ marginBottom: 8, fontSize: '1.8rem' }}>Score Client Cliente Windows</h2>
{version && <p style={{ color: 'var(--text-secondary)', marginBottom: 24 }}>Versão {version}</p>}
<p style={{ color: 'var(--text-secondary)', marginBottom: 32, lineHeight: 1.7 }}>
Instale o cliente Windows nas máquinas do consultório para enviar imagens de raio-X automaticamente para este painel em tempo real.
</p>
<a
href="/updates/RFDental-Setup.exe"
href={downloadUrl}
className="btn btn-primary"
style={{ padding: '16px 40px', fontSize: '1.1rem', textDecoration: 'none', display: 'inline-flex', marginBottom: 16 }}
download
>
<i className="fa-solid fa-download" /> Baixar Instalador (.exe)
<i className="fa-solid fa-download" /> Baixar Instalador (.exe){version ? ` v${version}` : ''}
</a>
<div style={{ background: '#f0f9ff', borderRadius: 10, padding: 20, marginTop: 24, textAlign: 'left' }}>
<h4 style={{ marginBottom: 12, color: '#0369a1' }}>📋 Instruções de Instalação:</h4>
<ol style={{ paddingLeft: 20, lineHeight: 2, color: 'var(--text-secondary)', fontSize: '0.95rem' }}>
<li>Baixe o instalador acima</li>
<li>Execute o arquivo <strong>RFDental-Setup.exe</strong></li>
<li>Execute o arquivo <strong>{exeFilename || 'ScoreOdonto Dental Client Setup.exe'}</strong></li>
<li>Na página <strong>Clínicas e Acessos</strong>, cadastre o dispositivo e copie o machine_token gerado</li>
<li>Cole o token na configuração do cliente Windows</li>
<li>As imagens serão enviadas automaticamente</li>
@@ -34,7 +34,7 @@ export default function LoginPage() {
<div className="logo-icon" style={{ margin: '0 auto 16px' }}>
<i className="fa-solid fa-tooth" style={{ fontSize: 28 }} />
</div>
<h1>RF Dental</h1>
<h1>Score Client</h1>
<p>Gerenciador de Imagens Dentais</p>
</div>