fix: CSS variables neu-*, WebSocket token, thème initial
- CSS: remplace var(--bg-*)/var(--text-*)/var(--accent-*)/var(--color-*)
par les vraies variables --neu-* (neu-bg, neu-surface, neu-text, neu-primary…)
- CSS: supprime body{overflow:hidden} qui bloquait le scroll
- CSS: .auth-layout déplacé dans neu.css pour login/install
- WS: ajoute ?token= aux connexions /ws/proxmox (dashboardPage + proxmoxPage)
- HTML: script inline pour appliquer data-theme avant Alpine (évite FOUC)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
2098c80ec1
commit
562eff8863
10 changed files with 142 additions and 133 deletions
|
|
@ -1,6 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<script>(function(){document.documentElement.setAttribute("data-theme",localStorage.getItem("pxp_theme")||"dark")})()</script>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>ProxmoxPanel — Installation</title>
|
||||
|
|
@ -146,27 +147,27 @@
|
|||
.auth-layout { min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem; }
|
||||
.install-card { width:100%;max-width:560px;padding:2rem; }
|
||||
.auth-logo { text-align:center;margin-bottom:1.5rem; }
|
||||
.logo-icon { font-size:2.5rem;color:var(--accent-primary); }
|
||||
.logo-icon { font-size:2.5rem;color:var(--neu-primary); }
|
||||
.auth-title { font-size:1.5rem;font-weight:700;margin:.25rem 0; }
|
||||
.auth-subtitle { font-size:.875rem;color:var(--text-secondary);margin:0; }
|
||||
.auth-subtitle { font-size:.875rem;color:var(--neu-text-muted);margin:0; }
|
||||
.stepper { display:flex;gap:.5rem;justify-content:center;margin:1.5rem 0; }
|
||||
.step { display:flex;flex-direction:column;align-items:center;gap:.25rem;flex:1;max-width:100px; }
|
||||
.step-dot { width:2rem;height:2rem;border-radius:50%;border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;transition:all .2s; }
|
||||
.step.active .step-dot { border-color:var(--accent-primary);background:var(--accent-primary);color:#fff; }
|
||||
.step.done .step-dot { border-color:var(--color-success,#22c55e);background:var(--color-success,#22c55e);color:#fff; }
|
||||
.step-label { font-size:.7rem;color:var(--text-secondary);text-align:center; }
|
||||
.step-dot { width:2rem;height:2rem;border-radius:50%;border:2px solid var(--neu-border);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;transition:all .2s; }
|
||||
.step.active .step-dot { border-color:var(--neu-primary);background:var(--neu-primary);color:#fff; }
|
||||
.step.done .step-dot { border-color:var(--neu-success);background:var(--neu-success);color:#fff; }
|
||||
.step-label { font-size:.7rem;color:var(--neu-text-muted);text-align:center; }
|
||||
.step-content { display:flex;flex-direction:column;gap:1rem;min-height:200px; }
|
||||
.step-content h2 { margin:0;font-size:1.125rem; }
|
||||
.step-desc { margin:0;font-size:.875rem;color:var(--text-secondary); }
|
||||
.step-desc { margin:0;font-size:.875rem;color:var(--neu-text-muted); }
|
||||
.form-group { display:flex;flex-direction:column;gap:.4rem; }
|
||||
.form-label { font-size:.8rem;font-weight:600;color:var(--text-secondary); }
|
||||
.form-hint { font-size:.75rem;color:var(--text-muted);margin:0; }
|
||||
.form-label { font-size:.8rem;font-weight:600;color:var(--neu-text-muted); }
|
||||
.form-hint { font-size:.75rem;color:var(--neu-text-muted);margin:0; }
|
||||
.step-nav { display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem; }
|
||||
.status-ok { padding:.5rem .75rem;border-radius:.375rem;background:rgba(34,197,94,.1);border:1px solid var(--color-success,#22c55e);color:var(--color-success,#22c55e);font-size:.875rem; }
|
||||
.status-error { padding:.5rem .75rem;border-radius:.375rem;background:rgba(239,68,68,.1);border:1px solid var(--color-error,#ef4444);color:var(--color-error,#ef4444);font-size:.875rem; }
|
||||
.status-ok { padding:.5rem .75rem;border-radius:.375rem;background:rgba(34,197,94,.1);border:1px solid var(--neu-success);color:var(--neu-success);font-size:.875rem; }
|
||||
.status-error { padding:.5rem .75rem;border-radius:.375rem;background:rgba(239,68,68,.1);border:1px solid var(--neu-danger);color:var(--neu-danger);font-size:.875rem; }
|
||||
.confirm-summary { padding:1rem;display:flex;flex-direction:column;gap:.5rem;border-radius:.5rem; }
|
||||
.confirm-row { display:flex;gap:1rem;font-size:.875rem; }
|
||||
.confirm-label { font-weight:600;min-width:80px;color:var(--text-secondary); }
|
||||
.confirm-label { font-weight:600;min-width:80px;color:var(--neu-text-muted); }
|
||||
.spinner { display:inline-block;width:1rem;height:1rem;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite; }
|
||||
@keyframes spin { to { transform:rotate(360deg); } }
|
||||
[x-cloak] { display:none!important; }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue