Studio: make sidebar nav hover a fully rounded pill#6435
Conversation
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.
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
There was a problem hiding this comment.
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" |
There was a problem hiding this comment.
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.
| 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" |
There was a problem hiding this comment.
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.
| 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.
|
Good catch, that is right. With the base set to I kept it on the account avatar, since the avatar's base is not Verified the class merge with the real |
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 torounded-full.Changes
In
studio/frontend/src/components/app-sidebar.tsx: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), androunded-fullwould round the corners too aggressively for that block.Verification
npm run typecheckandnpm run buildpass, and no new lint findings are introduced.