Skip to content

Studio: make sidebar nav hover a fully rounded pill#6435

Merged
shimmyshimmer merged 2 commits into
mainfrom
studio-sidebar-pill-hover
Jun 18, 2026
Merged

Studio: make sidebar nav hover a fully rounded pill#6435
shimmyshimmer merged 2 commits into
mainfrom
studio-sidebar-pill-hover

Conversation

@shimmyshimmer

Copy link
Copy Markdown
Member

Summary

Make the sidebar navigation hover and active highlight a fully rounded pill. The single-line rows used rounded-[14px], so the highlight read as a soft rounded rectangle; this switches them to rounded-full.

Changes

In studio/frontend/src/components/app-sidebar.tsx:

  • Main nav rows (New Chat, Search, Projects, Hub, Train, Recipes, Export)
  • Recents and Projects rows
  • Account row at the bottom

The hover and active background comes from .sidebar-nav-btn, which is clipped to each button's radius, so the pill shape follows directly from the class change.

The multi-line training-history rows keep rounded-[14px] on purpose: they are two lines tall (h-auto flex-col), and rounded-full would round the corners too aggressively for that block.

Verification

npm run typecheck and npm run build pass, and no new lint findings are introduced.

The single-line sidebar rows used rounded-[14px], so the hover and active highlight was a soft rounded rectangle. Switch the main nav, the recents/projects rows, and the account row to rounded-full for a fully rounded pill. The multi-line training-history rows keep rounded-[14px], since a full pill on a two-line block rounds the corners too aggressively.
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Repo admins can enable using credits for code reviews in their settings.

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request updates the border radius of several sidebar elements in app-sidebar.tsx from rounded-[14px] to rounded-full. The reviewer pointed out that because the base class is now rounded-full, the conditional modifier group-data-[collapsible=icon]:!rounded-full is redundant and can be safely removed in multiple places.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

isActive={active}
data-tour={dataTour}
className="sidebar-nav-btn h-[33px] rounded-[14px] gap-[8.5px] pl-3 pr-2.5 font-medium group-data-[collapsible=icon]:px-2.5 group-data-[collapsible=icon]:!w-[32px] group-data-[collapsible=icon]:!rounded-full group-data-[collapsible=icon]:mx-auto"
className="sidebar-nav-btn h-[33px] rounded-full gap-[8.5px] pl-3 pr-2.5 font-medium group-data-[collapsible=icon]:px-2.5 group-data-[collapsible=icon]:!w-[32px] group-data-[collapsible=icon]:!rounded-full group-data-[collapsible=icon]:mx-auto"

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.

medium

Since the base class has been changed to rounded-full, the modifier group-data-[collapsible=icon]:!rounded-full is now redundant and can be safely removed.

Suggested change
className="sidebar-nav-btn h-[33px] rounded-full gap-[8.5px] pl-3 pr-2.5 font-medium group-data-[collapsible=icon]:px-2.5 group-data-[collapsible=icon]:!w-[32px] group-data-[collapsible=icon]:!rounded-full group-data-[collapsible=icon]:mx-auto"
className="sidebar-nav-btn h-[33px] rounded-full gap-[8.5px] pl-3 pr-2.5 font-medium group-data-[collapsible=icon]:px-2.5 group-data-[collapsible=icon]:!w-[32px] group-data-[collapsible=icon]:mx-auto"

size="lg"
aria-label={t("shell.accountMenu", { name: displayTitle })}
className="sidebar-nav-btn !h-[44px] -my-[3px] gap-[9px] px-2 py-[3px] rounded-[14px] group-data-[collapsible=icon]:!size-[34px] group-data-[collapsible=icon]:!rounded-full group-data-[collapsible=icon]:!p-0 group-data-[collapsible=icon]:mx-auto group-data-[collapsible=icon]:justify-center"
className="sidebar-nav-btn !h-[44px] -my-[3px] gap-[9px] px-2 py-[3px] rounded-full group-data-[collapsible=icon]:!size-[34px] group-data-[collapsible=icon]:!rounded-full group-data-[collapsible=icon]:!p-0 group-data-[collapsible=icon]:mx-auto group-data-[collapsible=icon]:justify-center"

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.

medium

Since the base class has been changed to rounded-full, the modifier group-data-[collapsible=icon]:!rounded-full is now redundant and can be safely removed.

Suggested change
className="sidebar-nav-btn !h-[44px] -my-[3px] gap-[9px] px-2 py-[3px] rounded-full group-data-[collapsible=icon]:!size-[34px] group-data-[collapsible=icon]:!rounded-full group-data-[collapsible=icon]:!p-0 group-data-[collapsible=icon]:mx-auto group-data-[collapsible=icon]:justify-center"
className="sidebar-nav-btn !h-[44px] -my-[3px] gap-[9px] px-2 py-[3px] rounded-full group-data-[collapsible=icon]:!size-[34px] group-data-[collapsible=icon]:!p-0 group-data-[collapsible=icon]:mx-auto group-data-[collapsible=icon]:justify-center"

With the base class now rounded-full, the group-data-[collapsible=icon]:!rounded-full override resolves to the same radius, so remove it from the two nav buttons. The avatar keeps its modifier, since its base is not rounded-full.
@shimmyshimmer

Copy link
Copy Markdown
Member Author

Good catch, that is right. With the base set to rounded-full, the group-data-[collapsible=icon]:!rounded-full override resolves to the same radius, so I removed it from the two nav buttons.

I kept it on the account avatar, since the avatar's base is not rounded-full and it still needs the override to read as a circle when collapsed.

Verified the class merge with the real twMerge/clsx: with and without the override, rounded-md is dropped and the effective radius is rounded-full in both the expanded and collapsed states, so the rendering is unchanged.

@shimmyshimmer shimmyshimmer merged commit 718e971 into main Jun 18, 2026
32 of 33 checks passed
@shimmyshimmer shimmyshimmer deleted the studio-sidebar-pill-hover branch June 18, 2026 11:02
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