diff --git a/static/commands.js b/static/commands.js index e02cbfc..480511e 100644 --- a/static/commands.js +++ b/static/commands.js @@ -10,7 +10,7 @@ const COMMANDS=[ {name:'workspace', desc:'Switch workspace by name', fn:cmdWorkspace, arg:'name'}, {name:'new', desc:'Start a new chat session', fn:cmdNew}, {name:'usage', desc:'Toggle token usage display on/off', fn:cmdUsage}, - {name:'theme', desc:'Switch theme (dark/light/slate/solarized/monokai/nord)', fn:cmdTheme, arg:'name'}, + {name:'theme', desc:'Switch theme (dark/light/slate/solarized/monokai/nord/oled)', fn:cmdTheme, arg:'name'}, {name:'personality', desc:'Switch agent personality', fn:cmdPersonality, arg:'name'}, ]; @@ -125,7 +125,7 @@ async function cmdUsage(){ } async function cmdTheme(args){ - const themes=['dark','light','slate','solarized','monokai','nord']; + const themes=['dark','light','slate','solarized','monokai','nord','oled']; if(!args||!themes.includes(args.toLowerCase())){ showToast('Usage: /theme '+themes.join('|')); return; diff --git a/static/index.html b/static/index.html index 3fdd670..27a57dd 100644 --- a/static/index.html +++ b/static/index.html @@ -342,6 +342,7 @@ +
diff --git a/static/style.css b/static/style.css index e305db8..9551c35 100644 --- a/static/style.css +++ b/static/style.css @@ -100,6 +100,14 @@ --focus-ring:rgba(129,161,193,.35);--focus-glow:rgba(129,161,193,.08); --strong:#eceff4;--em:#b8c0cc;--code-text:#a3be8c;--code-inline-bg:rgba(0,0,0,.2);--pre-text:#d8dee9; } + /* ── OLED theme ── */ + :root[data-theme="oled"]{ + --bg:#000000;--sidebar:#000000;--border:rgba(255,255,255,0.06);--border2:rgba(255,255,255,0.12); + --text:#e0e0e0;--muted:#777777;--accent:#ff3b5c;--blue:#6cb4ff;--gold:#d4a74a;--code-bg:#080808; + --surface:#0a0a0a;--topbar-bg:rgba(0,0,0,.98);--main-bg:rgba(0,0,0,0.5); + --focus-ring:rgba(108,180,255,.3);--focus-glow:rgba(108,180,255,.06); + --strong:#ffffff;--em:#c0c0d0;--code-text:#e8b86d;--code-inline-bg:rgba(255,255,255,.06);--pre-text:#d0d0d8; + } body{background:var(--bg);color:var(--text);height:100vh;height:100dvh;overflow:hidden;display:flex;} .layout{display:flex;width:100%;height:100vh;height:100dvh;} .sidebar{width:300px;background:var(--sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:visible;flex-shrink:0;}