Skip to content

fix(ui): responsive shell + two-sidebar hierarchy pass#358

Merged
luokerenx4 merged 2 commits into
masterfrom
UI-issue
Jun 17, 2026
Merged

fix(ui): responsive shell + two-sidebar hierarchy pass#358
luokerenx4 merged 2 commits into
masterfrom
UI-issue

Conversation

@luokerenx4

Copy link
Copy Markdown
Contributor

Summary

  • Two left sidebars — three-tier depth (ActivityBar bg-tertiary recessed rail → Sidebar bg-secondary → main bg) so the two columns stop reading as one slab; align the three top surfaces to a 40px header rhythm (branding was px-5 py-4 ≈ 60px, now h-10); slim rail 216→200; sidebar Panel switched to px min/max (200/420) + preserve-pixel-size.
  • Responsive — kill the 768–1024 dead zone with a middle tier (rail static ≥768, sidebar static ≥1024, drawer below) so the main pane keeps real width and md:-keyed content (the Portfolio stat grid that was literally overlapping at 768px) no longer collides; unify mobile drawer width 216→280 (matches the secondary drawer, no drill-in jump); body-scroll-lock while a drawer is open + z-index ladder (drawers z-50 / dialogs z-60 / toasts z-70); re-clicking the active rail item re-opens a hidden sidebar instead of toggling selection off.
  • Consistency / cheap fixesSidebarRow gains optional icon/title slots and TrackedSidebar is migrated onto it; active nav item uses bg-accent-dim (its old bg-tertiary collided with the new rail bg); code-copy hover uses --color-overlay-strong (was invisible in Daybreak); PageHeader.text-title; responsive grid/dialog-width one-liners on News / Quote / AIProvider / Dialog.

Verified in the demo build (MSW) across 375 / 768 / 1000 / 1024 / 1440 / 1920 in both Daybreak and Midnight.

Test plan

  • cd ui && npx tsc -b clean
  • UI vitest project — 46/46 pass
  • Manual multi-breakpoint + light/dark walkthrough via Playwright: dead-zone overlap gone, three-tier reads, top surfaces aligned, drawer widths consistent, Tracked rows render

Boundary touch

None — UI-only (no trading / auth / broker credentials / migrations).

🤖 Generated with Claude Code

Ame and others added 2 commits June 17, 2026 13:19
Two-sidebar hierarchy:
- Three-tier depth: ActivityBar → bg-tertiary (recessed rail), Sidebar
  bg-secondary, main bg — the two left columns now read as distinct
  zones instead of one undifferentiated slab.
- Align the three top surfaces to a 40px header rhythm (branding h-10
  px-4, was px-5 py-4 ≈ 60px); slim rail 216→200; sidebar Panel → px
  min/max (200/420) + preserve-pixel-size for a stable fixed-width feel.
- Active nav item → bg-accent-dim (its old bg-tertiary collided with the
  new rail background); footer rhythm py-2→py-1.5.

Responsive:
- Kill the 768–1024 dead zone: add a middle tier (rail static ≥768,
  sidebar static ≥1024, drawer below) so the main pane keeps
  full-width-minus-rail and its md:-keyed content (Portfolio stat grid)
  no longer overflows/overlaps.
- Unify mobile drawer width 216→280 (matches the secondary drawer, no
  drill-in jump); body scroll lock while a drawer is open; z-index
  ladder — dialogs z-60 / toasts z-70 above the nav drawers z-50.
- Re-clicking the active rail item re-opens a hidden sidebar instead of
  toggling selection off (sidebarVisible).

Consistency / cheap fixes:
- SidebarRow: optional icon/title slots; migrate TrackedSidebar onto it.
- code-copy hover → --color-overlay-strong (was invisible in light);
  PageHeader → .text-title; responsive grid + dialog widths on News /
  Quote / AIProvider / Dialog.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
openalice-demo Ready Ready Preview, Comment Jun 17, 2026 5:20am

Request Review

@luokerenx4 luokerenx4 merged commit 83b7c84 into master Jun 17, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant