Skip to content

Commit 87a8b9f

Browse files
Fix invalid dropdown labels
Render empty menu states as disabled items and keep the activity visibility heading inside a menu group. This prevents Base UI from requiring a missing group context when these menus open.
1 parent 28871d2 commit 87a8b9f

3 files changed

Lines changed: 23 additions & 22 deletions

File tree

src/features/git/components/git-branch-manager.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import {
1515
DropdownMenu,
1616
DropdownMenuContent,
1717
DropdownMenuItem,
18-
DropdownMenuLabel,
1918
DropdownMenuRadioGroup,
2019
DropdownMenuRadioItem,
2120
DropdownMenuSearch,
@@ -617,9 +616,9 @@ const GitBranchManager = ({
617616
))}
618617
</DropdownMenuRadioGroup>
619618
) : (
620-
<DropdownMenuLabel>
619+
<DropdownMenuItem disabled>
621620
{branchQuery.trim() ? "No branches match" : "No branches found"}
622-
</DropdownMenuLabel>
621+
</DropdownMenuItem>
623622
)}
624623
<DropdownMenuSeparator />
625624
<DropdownMenuItem onClick={() => void handlePromptCreateBranch()}>

src/features/github/components/pr-commits-dropdown.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import {
55
DropdownMenu,
66
DropdownMenuContent,
77
DropdownMenuItem,
8-
DropdownMenuLabel,
98
DropdownMenuSearch,
109
DropdownMenuTrigger,
1110
} from "@/ui/dropdown";
@@ -103,9 +102,9 @@ export function PRCommitsDropdown({ commits, repoPath }: PRCommitsDropdownProps)
103102
</DropdownMenuItem>
104103
))
105104
) : (
106-
<DropdownMenuLabel>
105+
<DropdownMenuItem disabled>
107106
{commits.length === 0 ? "No commits" : "No commits match"}
108-
</DropdownMenuLabel>
107+
</DropdownMenuItem>
109108
)}
110109
</DropdownMenuContent>
111110
</DropdownMenu>

src/features/layout/components/sidebar/activity-navigation.tsx

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import type { ActivityNavigationItem } from "@/features/layout/hooks/use-activit
33
import {
44
DropdownMenu,
55
DropdownMenuCheckboxItem,
6+
DropdownMenuGroup,
67
DropdownMenuItem,
78
DropdownMenuLabel,
89
DropdownMenuSeparator,
@@ -41,22 +42,24 @@ function ActivityNavigationVisibilityMenu({ item }: { item: ActivityNavigationIt
4142
<DotsThreeIcon className="rotate-90" />
4243
</DropdownMenuTrigger>
4344
<SidebarMenuContent>
44-
<DropdownMenuLabel>Visible Items</DropdownMenuLabel>
45-
{item.submenuItems?.map((submenuItem) => (
46-
<Fragment key={submenuItem.id}>
47-
{submenuItem.separatorBefore ? <DropdownMenuSeparator /> : null}
48-
<DropdownMenuCheckboxItem
49-
checked={!item.hiddenSubmenuItemIds?.includes(submenuItem.id)}
50-
closeOnClick={false}
51-
onCheckedChange={(checked) =>
52-
item.onSubmenuItemVisibleChange?.(submenuItem.id, checked)
53-
}
54-
>
55-
{submenuItem.icon}
56-
{submenuItem.label}
57-
</DropdownMenuCheckboxItem>
58-
</Fragment>
59-
))}
45+
<DropdownMenuGroup>
46+
<DropdownMenuLabel>Visible Items</DropdownMenuLabel>
47+
{item.submenuItems?.map((submenuItem) => (
48+
<Fragment key={submenuItem.id}>
49+
{submenuItem.separatorBefore ? <DropdownMenuSeparator /> : null}
50+
<DropdownMenuCheckboxItem
51+
checked={!item.hiddenSubmenuItemIds?.includes(submenuItem.id)}
52+
closeOnClick={false}
53+
onCheckedChange={(checked) =>
54+
item.onSubmenuItemVisibleChange?.(submenuItem.id, checked)
55+
}
56+
>
57+
{submenuItem.icon}
58+
{submenuItem.label}
59+
</DropdownMenuCheckboxItem>
60+
</Fragment>
61+
))}
62+
</DropdownMenuGroup>
6063
</SidebarMenuContent>
6164
</DropdownMenu>
6265
);

0 commit comments

Comments
 (0)