mirror of
https://github.com/duckietm/Nitro-V3.git
synced 2026-06-19 15:06:20 +00:00
8097344561
Runtime-loaded visual re-skin system (no client rebuild, real themes never hit git). A theme = a folder on the server (theme.base.url) with a manifest + CSS "pieces"; each piece is toggled from Settings > Themes (checkboxes). A broken/404 piece auto-falls back to the default (per piece). Hotel-wide default via ui-config theme.default (+ theme.default.pieces), per-user override in localStorage (same pattern as the catalog style toggle). - api/theme/ThemeManager: fetch index/manifest + inject/remove <link> + fallback - hooks/theme/useThemes: state + persist + default-from-config + live apply - components/theme/ThemeApplier: applies on boot (mounted in MainView) - UserSettings: General/Themes tabs with theme selector + per-piece checkboxes - custom-themes/: reference template (demo theme "Neon Viola" + README) - .gitignore: public/custom-themes/ (real themes are never committed)
11 lines
385 B
JSON
11 lines
385 B
JSON
{
|
|
"name": "Neon Viola",
|
|
"author": "infinityhotel",
|
|
"pieces": [
|
|
{ "id": "cards", "name": "Finestre / Card", "file": "cards.css" },
|
|
{ "id": "chat", "name": "Chat", "file": "chat.css" },
|
|
{ "id": "toolbar", "name": "Toolbar", "file": "toolbar.css" },
|
|
{ "id": "catalog", "name": "Catalogo", "file": "catalog.css" }
|
|
]
|
|
}
|