Skip to content

feat(dashboard): full-height sidebar shell (Vercel-style layout)#3015

Closed
simplesagar wants to merge 1 commit into
worktree-org-home-redesignfrom
worktree-org-home-shell
Closed

feat(dashboard): full-height sidebar shell (Vercel-style layout)#3015
simplesagar wants to merge 1 commit into
worktree-org-home-redesignfrom
worktree-org-home-shell

Conversation

@simplesagar
Copy link
Copy Markdown
Member

Summary

Stacks on top of #3014 — flips the app layout grid so the sidebar runs the full vertical extent of the page (top: 0 → bottom: 0), Vercel-style. The TopHeader is no longer a full-width strip across the whole app; it sits only over the content column.

What moved where

Element Before After
Gram logo TopHeader (left) SidebarBrand (top of sidebar)
Org slug TopHeader (left) SidebarBrand + breadcrumb anchor in TopHeader
User avatar dropdown TopHeader (right) SidebarUserMenu (bottom of sidebar)
Theme switcher TopHeader (right) Inside the user dropdown
Project switcher TopHeader TopHeader (unchanged)
Docs / Changelog TopHeader TopHeader (unchanged)

Layout change

Before:                          After:
+--------------------+           +------+--------------+
| TopHeader (full)   |           |      | TopHeader    |
+------+-------------+           |      +--------------+
| Side | Content     |           | Side | Content      |
| bar  |             |           | bar  |              |
|      |             |           |      |              |
+------+-------------+           +------+--------------+

Why this PR targets the org-home branch

The org home redesign (#3014) and this shell change touch overlapping surface. Landing them as one PR would explode the diff; sequencing them lets each get a focused review. Once both ship, the combined effect is the Vercel-style org overview we've been iterating on.

New components

  • SidebarBrand — reusable logo + org-slug strip mounted in both AppSidebar and OrgSidebar via <SidebarHeader>
  • SidebarUserMenu — user dropdown extracted from TopHeader, mounted in <SidebarFooter>. ThemeSwitcher folded in.

CSS variable change

--header-offset defaults to 0rem (previously 3.5rem when not impersonating). Only the impersonation banner shifts the sidebar down now — the TopHeader no longer takes vertical space above the sidebar because it lives inside the content column.

Test plan

  • Org-level pages (/<orgSlug>, /<orgSlug>/audit-logs, /<orgSlug>/team, /<orgSlug>/access) — sidebar extends full height, TopHeader strip is only over the right column
  • Project-level pages (/<orgSlug>/projects/<slug> and sub-pages) — same; project switcher still works in the TopHeader
  • Sidebar trigger (collapse to icon) — toggles via the SidebarTrigger button in TopHeader
  • User dropdown — opens upward from the sidebar footer; Project Settings / Billing / Org Override / Email Team / Bug Request / Logout all wired
  • Theme switch from inside the user dropdown
  • Impersonation banner — when active, sidebar starts at 2.25rem (below banner); when inactive, sidebar starts at 0
  • Mobile / narrow viewport — sidebar collapses correctly, no visual breakage

Flips the app layout grid so the sidebar runs the full vertical
extent of the page and the TopHeader sits only over the content
column.

- AppLayout / OrgLayout: outer flex changes from column to row
- SidebarProvider: --header-offset defaults to 0 (was 3.5rem when not
  impersonating); only the impersonation banner shifts the sidebar
- TopHeader: stripped of logo, org slug, and user avatar — kept project
  switcher, breadcrumb anchor, Docs/Changelog links, plus a new
  SidebarTrigger
- New SidebarBrand mounts at the top of AppSidebar / OrgSidebar
- New SidebarUserMenu mounts at the bottom of both sidebars
- ThemeSwitcher moved into the user dropdown

Targets the org-home redesign branch — meant to land on top of that
work before merging the whole thing into main.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@simplesagar simplesagar requested a review from a team as a code owner May 23, 2026 16:55
@simplesagar simplesagar added the enhancement New feature or request label May 23, 2026
@simplesagar simplesagar requested a review from a team as a code owner May 23, 2026 16:55
@simplesagar simplesagar added the enhancement New feature or request label May 23, 2026
Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

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

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.

Tip: disable this comment in your organization's Code Review settings.

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 23, 2026

⚠️ No Changeset found

Latest commit: e04d140

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel
Copy link
Copy Markdown

vercel Bot commented May 23, 2026

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

Project Deployment Actions Updated (UTC)
gram-docs-redirect Ready Ready Preview, Comment May 23, 2026 4:55pm

Request Review

@github-actions github-actions Bot locked and limited conversation to collaborators May 23, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant