From bc5854e131f1403fbb5e2004d4f65ba3a3ac6887 Mon Sep 17 00:00:00 2001 From: angelkawai <123734885+luokerenx4@users.noreply.github.com> Date: Tue, 16 Jun 2026 11:45:44 +0000 Subject: [PATCH 1/3] =?UTF-8?q?feat(ui):=20Linear=20dark=20palette=20?= =?UTF-8?q?=E2=80=94=20re-traced=20from=20#302,=20glare-softened?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Swap the GitHub-dark theme for a Linear-style dark palette (teal accent, near-black lifted off pure black to kill halation, slightly softened body text), plus a quiet body gradient and teal selection highlight. Re-traced by hand rather than merging #302 (62 commits stale; its behavioral changes — landing-route rewrite, mock composer, demo-banner gating — collide with / regress functional master). This commit is the isolated, zero-logic visual layer only. Co-Authored-By: Claude Opus 4.8 (1M context) --- ui/src/index.css | 46 +++++++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 17 deletions(-) diff --git a/ui/src/index.css b/ui/src/index.css index 084dbb5f..1bb1c179 100644 --- a/ui/src/index.css +++ b/ui/src/index.css @@ -1,23 +1,23 @@ @import "tailwindcss"; -/* GitHub Dark theme palette */ +/* Linear dark Alice shell palette */ @theme { - --color-bg: #0d1117; - --color-bg-secondary: #161b22; - --color-bg-tertiary: #21262d; - --color-border: #30363d; - --color-text: #e6edf3; - --color-text-muted: #8b949e; - --color-accent: #58a6ff; - --color-accent-dim: rgba(31, 111, 235, 0.2); - --color-user-bubble: #1f6feb; - --color-assistant-bubble: #161b22; - --color-notification-bg: #2d1f00; - --color-notification-border: #d29922; - --color-green: #3fb950; - --color-red: #f85149; - --color-purple: #a78bfa; - --color-purple-dim: rgba(139, 92, 246, 0.2); + --color-bg: #0b0c0e; + --color-bg-secondary: #0e0f12; + --color-bg-tertiary: #1a1b21; + --color-border: #24262c; + --color-text: #dfe1e6; + --color-text-muted: #8f929b; + --color-accent: #23b99a; + --color-accent-dim: rgba(35, 185, 154, 0.16); + --color-user-bubble: #1f2026; + --color-assistant-bubble: #141519; + --color-notification-bg: #1d1610; + --color-notification-border: #8a5b2f; + --color-green: #23b99a; + --color-red: #e5484d; + --color-purple: #8f72ff; + --color-purple-dim: rgba(143, 114, 255, 0.16); --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Noto Sans CJK SC", sans-serif; @@ -51,6 +51,18 @@ body, height: 100%; } +body { + background: + radial-gradient(circle at 50% 28%, rgba(255, 255, 255, 0.022), transparent 34rem), + linear-gradient(180deg, #0e0f12 0%, #0b0c0e 46%, #090a0c 100%); + color: var(--color-text); +} + +::selection { + background: rgba(35, 185, 154, 0.28); + color: var(--color-text); +} + /* ==================== Typography scale ==================== Five semantic sizes covering the entire app. New code should prefer these over arbitrary `text-[Npx]` so size choices stay From 7425e94984a68b46cecfbbe58f2f4300976437c6 Mon Sep 17 00:00:00 2001 From: angelkawai <123734885+luokerenx4@users.noreply.github.com> Date: Tue, 16 Jun 2026 12:13:23 +0000 Subject: [PATCH 2/3] feat(ui): Linear shell density pass + responsive Ask Alice backdrop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Re-trace the worthwhile visual layer of #302 onto current master (the PR itself is 62 commits stale and its behavioral changes regress functional master — see the palette commit for the full rationale): - ActivityBar: 216px rail (down from the PR's 276 — info density doesn't justify the width), round logo w/ teal glow, tighter row rhythm, inset active highlight, quieter hover. Unread badge stays red (no downgrade). - Sidebar / TabStrip / App: border opacity + hover tints tuned for the dark palette. TabStrip keeps the Linear-style active chip (the product is deliberately Linear-left / VS-Code-right); the PR's rounded floating card around the editor was dropped — VS Code editor panes are flush. - ChatLandingPage: full-bleed, responsive-only backdrop (gradient wash + faint grid) behind the real composer. The #302 mock's %-positioned circle / diagonal bars were dropped — they drift on portrait. The pixel-art image in the PR screenshots was never committed to the PR. Co-Authored-By: Claude Opus 4.8 (1M context) --- ui/src/App.tsx | 4 ++-- ui/src/components/ActivityBar.tsx | 20 ++++++++++---------- ui/src/components/Sidebar.tsx | 4 ++-- ui/src/components/TabStrip.tsx | 10 +++++----- ui/src/pages/ChatLandingPage.tsx | 16 +++++++++++++--- 5 files changed, 32 insertions(+), 22 deletions(-) diff --git a/ui/src/App.tsx b/ui/src/App.tsx index ef32fd5f..460ddbd5 100644 --- a/ui/src/App.tsx +++ b/ui/src/App.tsx @@ -104,7 +104,7 @@ function AppShell() { const mainContent = (
{/* Mobile header — visible only below md */} -
+
{/* Navigation */} -