Skip to content

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

Merged
AviPeltz merged 7 commits into
mainfrom
superset-sidebar-restyle
Jul 25, 2026
Merged

AviPeltz merged 7 commits into
mainfrom
superset-sidebar-restyle

Conversation

@AviPeltz

@AviPeltz AviPeltz commented Jul 25, 2026 •

Copy link
Copy Markdown
Collaborator

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.

Written for commit fb77bde. Summary will update on new commits.

Review in cubic

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.

Soft foreground-wash fill tokens (--fill-hover/--fill-selected), inset
rounded rows, muted icons, uppercase Projects micro-label, keycap
shortcut hints, and a collapsed rail that continues the pane tab bar on
the v2 workspace route (TopBar stays hidden on cmd+B).

Claude-Session: https://claude.ai/code/session_01VTufk27JQRoonNcZFiCUvx
@coderabbitai

coderabbitai Bot commented Jul 25, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds shared sidebar hover and selection tokens, reusable keyboard shortcut hints, broad sidebar styling updates, and v2 workspace chrome integration that renders navigation controls in the tab bar when the collapsed sidebar is open.

Changes

Sidebar and workspace chrome

Layer / File(s) Summary
Shared sidebar tokens and shortcut hints
apps/desktop/src/renderer/globals.css, apps/desktop/src/renderer/components/SidebarKbdHint/*, .../DashboardSidebarHeader.tsx, .../NewWorkspaceButton.tsx
Adds fill-hover and fill-selected theme tokens and replaces inline shortcut markup with SidebarKbdHint.
Dashboard sidebar layout and styling
apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/DashboardSidebar/**
Updates dashboard sidebar spacing, project and workspace rows, headers, ports actions, icons, repository actions, and selected or hover states.
Workspace sidebar styling
apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/**
Applies the new fill tokens and compact layout styling across workspace projects, ports, sections, rows, icons, and navigation controls.
V2 workspace tab-bar chrome
apps/desktop/src/renderer/routes/_authenticated/_dashboard/layout.tsx, .../v2-workspace/$workspaceId/page.tsx, packages/panes/src/react/**, NavigationControls.tsx, SidebarToggle.tsx
Adds a leading tab-bar render slot and uses it for zoom-stabilized sidebar and navigation controls when the v2 sidebar is collapsed and open.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant DashboardLayout
  participant V2WorkspacePage
  participant Workspace
  participant TabBar
  DashboardLayout->>V2WorkspacePage: hide TopBar when collapsed sidebar hosts chrome
  V2WorkspacePage->>Workspace: provide renderTabBarLeading
  Workspace->>TabBar: forward leading renderer
  TabBar->>V2WorkspacePage: render SidebarToggle and NavigationControls
Loading

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 8.33% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title is conventional and accurately summarizes the sidebar restyling focus.
Description check ✅ Passed The description covers the change, motivation, and test plan, but it doesn’t follow the template headings or include the checklist section.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch superset-sidebar-restyle

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

AviPeltz added 4 commits July 24, 2026 18:23
VscNewFolder/VscFolderOpened hover swap on add-repository buttons,
longer tooltip delay, smaller icon, Projects label at full muted color,
collapsed New Workspace square keeps its fill.

Claude-Session: https://claude.ai/code/session_01VTufk27JQRoonNcZFiCUvx
# Conflicts:
#	apps/desktop/src/renderer/routes/_authenticated/_dashboard/layout.tsx

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/panes/src/react/components/Workspace/components/TabBar/TabBar.tsx`:
- Around line 223-238: Keep the add-button width consistent with the subtree
measured by OverflowFadeContainer: update the TabBar render logic around
AddTabButton and hasHorizontalOverflow so the measured overflow track reserves
the same 40px space in both overflow states, or move the button outside that
measured container permanently. Preserve the existing button behavior while
preventing hasHorizontalOverflow from oscillating.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: ba7ed6d8-141e-44eb-b16c-5ae002406cf9

📥 Commits

Reviewing files that changed from the base of the PR and between 737abce and ac4fb69.

📒 Files selected for processing (4)
  • apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/DashboardSidebar/components/DashboardSidebarHeader/DashboardSidebarHeader.tsx
  • apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/DashboardSidebar/components/DashboardSidebarWorkspacesHeader/DashboardSidebarWorkspacesHeader.tsx
  • packages/panes/src/react/components/Workspace/components/TabBar/TabBar.tsx
  • packages/panes/src/react/components/Workspace/components/TabBar/components/TabItem/TabItem.tsx
🚧 Files skipped from review as they are similar to previous changes (1)
  • apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/DashboardSidebar/components/DashboardSidebarHeader/DashboardSidebarHeader.tsx

@github-actions

github-actions Bot commented Jul 25, 2026 •

Copy link
Copy Markdown
Contributor

🚀 Preview Deployment

🔗 Preview Links

Service Status Link
Neon Database (Neon) ✅ View Branch
Vercel API (Vercel) ✅ Open Preview
Vercel Web (Vercel) ✅ Open Preview
Vercel Marketing (Vercel) ✅ Open Preview
Vercel Admin (Vercel) ✅ Open Preview
Vercel Docs (Vercel) ✅ Open Preview

Preview updates automatically with new commits

@ghost

ghost commented Jul 25, 2026 •

Copy link
Copy Markdown

Ready to review this PR? Stage has broken it down into 6 individual chapters for you:

Title
1 Define theme-aware sidebar fill tokens
2 Implement non-shifting keyboard shortcut hints
3 Extend pane tab bar with leading slot
4 Restyle DashboardSidebar for higher density
5 Sync legacy sidebar with new visual tokens
6 Unify sidebar rail and tab bar layout
Open in Stage

Chapters generated by Stage for commit fb77bde on Jul 25, 2026 2:55am UTC.

Reorder add-repo menu (open-from-folder first, GitHub icon on clone),
and shrink/thin the main nav icons to lighten their optical weight.

Claude-Session: https://claude.ai/code/session_01VTufk27JQRoonNcZFiCUvx
@AviPeltz AviPeltz changed the title feat(desktop): restyle sidebar with phcode-inspired look feat(desktop): restyle sidebar fix a couple bugs Jul 25, 2026
@AviPeltz AviPeltz changed the title feat(desktop): restyle sidebar fix a couple bugs feat(desktop): restyle sidebar with a cleaner, denser look Jul 25, 2026

This branch was previously deployed

1 inactive deployment
preview — fb77bdec Deployed Jul 25, 2026 by AviPeltz via Deploy Admin #6860
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.

2 participants