feat: réécriture frontend Alpine.js + HTMX + Swup (branche frontend/alpine)
Remplace Vue 3 / Vite / TypeScript par une stack légère statique : - Alpine.js v3 : réactivité inline, stores auth/ui/i18n, composants par page - HTMX v2 : interactions serveur via attributs HTML - Swup v4 : transitions de page (bundlé via esbuild, IIFE browser-loadable) - xterm.js v5 : terminal PTY (bundlé via esbuild) Structure : HTML statiques + js/app.js + js/terminal.js + css/ + locales/ Build : esbuild (bundle Swup + xterm seulement) → dist/ → Nginx Dockerfile simplifié : node:22-alpine build → nginx:1.27-alpine serve Pages : index, install, login, dashboard, proxmox, updates, terminal, settings, modules URLs propres via nginx try_files $uri.html Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
7ba0ff143c
commit
2098c80ec1
48 changed files with 2446 additions and 5317 deletions
46
frontend/css/dark.css
Normal file
46
frontend/css/dark.css
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
/* ============================================================
|
||||
ProxmoxPanel — Thème sombre (mode par défaut)
|
||||
============================================================ */
|
||||
|
||||
[data-theme="dark"],
|
||||
:root {
|
||||
--neu-bg: #1a1d2e;
|
||||
--neu-surface: #212438;
|
||||
--neu-text: #e2e6f6;
|
||||
--neu-text-muted: #6b7694;
|
||||
--neu-border: #2a2f4a;
|
||||
|
||||
--neu-shadow-dark: #13162280;
|
||||
--neu-shadow-light: #2d3356;
|
||||
|
||||
--neu-primary: #6c8ef4;
|
||||
--neu-primary-dim: #4a6bd4;
|
||||
--neu-success: #4cbb8a;
|
||||
--neu-warning: #f5a623;
|
||||
--neu-danger: #f05c6b;
|
||||
--neu-info: #3dbfcf;
|
||||
|
||||
color-scheme: dark;
|
||||
}
|
||||
|
||||
/* Corps de page */
|
||||
[data-theme="dark"] body {
|
||||
background-color: var(--neu-bg);
|
||||
color: var(--neu-text);
|
||||
}
|
||||
|
||||
/* Accents spécifiques au mode sombre */
|
||||
[data-theme="dark"] .neu-card {
|
||||
background: var(--neu-surface);
|
||||
}
|
||||
|
||||
[data-theme="dark"] .neu-input {
|
||||
background: var(--neu-bg);
|
||||
color: var(--neu-text);
|
||||
}
|
||||
|
||||
/* Sélections */
|
||||
[data-theme="dark"] ::selection {
|
||||
background: rgba(108, 142, 244, 0.3);
|
||||
color: var(--neu-text);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue