mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-08 16:39:42 +02:00
feat(ui): theme skins — OG Codeman, Daylight Green, Daylight Blue
Add a per-device skin switcher in App Settings → Display: - Three skins via html[data-skin]: og (original Codeman look), daylight-green, and daylight-blue (new default). Per-skin CSS-variable token blocks; the v1.0 "Carbon Aurora" component polish is scoped to non-og skins and parameterized so green/blue differ only by token values. - Self-hosted Manrope (UI) + JetBrains Mono (terminal) variable fonts, served from /fonts (no external CDN, CSP-safe via font-src 'self'). - Per-skin xterm terminal theme with live re-theming of open terminals on skin change; skin-aware --term-bg so the terminal background fills cleanly (fixes the variable-height gap above the toolbar). - Pre-paint inline script applies the saved skin before first paint (no flash); persisted per-device in localStorage + the settings blob, and kept out of the server settings payload (device-local). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -580,6 +580,7 @@ class CodemanApp {
|
||||
const _kbSettings = this.loadAppSettingsFromStorage();
|
||||
if (_kbSettings.extendedKeyboardBar) KeyboardAccessoryBar.setMode('extended');
|
||||
this.applyHeaderVisibilitySettings();
|
||||
this.applySkin();
|
||||
this.applyTabWrapSettings();
|
||||
this.applyMonitorVisibility();
|
||||
// Remove mobile-init class now that JS has applied visibility settings.
|
||||
@@ -637,6 +638,7 @@ class CodemanApp {
|
||||
// Load server-stored settings (async, re-applies visibility after load)
|
||||
this.loadAppSettingsFromServer(settingsPromise).then(() => {
|
||||
this.applyHeaderVisibilitySettings();
|
||||
this.applySkin();
|
||||
this.applyTabWrapSettings();
|
||||
this.applyMonitorVisibility();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user