feat(desktop): restyle sidebar with a cleaner, denser look

Merged
AV
3mo ago
+405-291

Summary

Restyles the desktop sidebar (v2 DashboardSidebar, with matching color treatment in the legacy v1 WorkspaceSidebar):

  • New theme tokens --fill-hover / --fill-selected — low-opacity foreground washes via color-mix, so they track every theme. All sidebar active/hover fills (bg-muted, bg-accent) migrate to them.
  • Workspace rows become inset rounded rows (mx-2 rounded-md) with the soft wash as the active state; the active-row stripe is removed (section accent stripes stay).
  • Icons stay muted in every state (active rows brighten only the label; row icons go 80%→100% opacity), 13px nav typography, uppercase micro-label for the "Projects" header, and whitespace instead of full-width project dividers.
  • Keycap-style shortcut hints (new shared SidebarKbdHint) replace the fading mono text on New Workspace / Search; visibility-toggled so rows never shift on hover.
  • New Workspace button gets v1's CTA treatment (persistent dim fill + squared plus chip) in the expanded header.
  • Collapsed rail is fully restyled to match: same nav container rhythm/order as the expanded header, uniform square hover targets, 16px project thumbnails, borderless sections.
  • ⌘B no longer stacks a second bar on the v2 workspace route: the TopBar stays hidden when the sidebar is merely collapsed; the rail's headroom strip continues the pane tab bar (same height/background/border), and a new renderTabBarLeading slot in @superset/panes hosts the traffic-light inset plus the sidebar/nav controls.

Test plan

  • Expanded sidebar: rows show rounded wash fills, no stripe on the active workspace; icons stay muted
  • ⌘N / ⇧⌘K keycap hints appear on hover without any row height shift
  • ⌘B on a v2 workspace route: single continuous top bar, vertical divider starts below it, traffic lights clear of controls
  • Collapsed rail: buttons align/space like the expanded header, project thumbnails 16px, no full-width borders
  • Light + dark themes both render sensible fills (light New Workspace fill one step darker)
  • v1 sidebar (opt-out account) still renders correctly with the new fill colors

https://claude.ai/code/session_01VTufk27JQRoonNcZFiCUvx


Summary by cubic

Restyles the desktop sidebar for a denser, cleaner UI. On v2 workspaces, the collapsed rail continues the pane tab bar and hosts window/nav controls, so the TopBar stays hidden when the sidebar is open.

  • New Features

    • Added --fill-hover and --fill-selected tokens; migrated hover/active fills across v2 and legacy sidebars.
    • Denser sidebar: inset rounded rows, 13px nav type, muted icons, uppercase “Projects”.
    • Keycap-style shortcut hints via SidebarKbdHint; shown on hover without layout shift.
    • V2 workspaces: matched pane tab bar background to sidebar, removed bottom borders; new renderTabBarLeading in @superset/panes injects SidebarToggle + NavigationControls when the rail is collapsed.
    • Polished “Add repository”: folder-first menu; VscFolderOpened, VscGithubAlt, VscNewFolder, VscLayout with hover swap; lighter/smaller nav icons.
  • Bug Fixes

    • @superset/panes: include the add-tab button width in overflow measurement to keep the tab bar layout stable.

Summary by CodeRabbit

  • New Features
    • Added keyboard shortcut hints to expanded sidebar actions.
    • Added a leading (left) render slot in the workspace tab bar, used to host sidebar/navigation chrome on collapsed v2 workspace layouts.
  • Style / UX
    • Updated dashboard/sidebar/workspace hover and selected visuals to use new shared “fill” theme tokens, including spacing/typography and shortcut/tooltip presentation tweaks.
  • Layout
    • Coordinated top-bar visibility with v2 workspace routing and integrated tab bar leading content (including zoom-aware traffic-light spacing).
  • Bug Fixes
    • Adjusted workspace accent indicator and improved inactive tab border styling.