mirror of
https://github.com/massbug/judge4c.git
synced 2025-05-17 23:12:23 +00:00
feat(nav-main): refactor sidebar menu to handle items without submenus
This commit is contained in:
parent
60d5c98aca
commit
99f6696fa2
@ -30,14 +30,22 @@ export interface NavMainProps {
|
||||
}[];
|
||||
}
|
||||
|
||||
export function NavMain({
|
||||
items,
|
||||
}: NavMainProps) {
|
||||
export function NavMain({ items }: NavMainProps) {
|
||||
return (
|
||||
<SidebarGroup>
|
||||
<SidebarGroupLabel>Platform</SidebarGroupLabel>
|
||||
<SidebarMenu>
|
||||
{items.map((item) => (
|
||||
{items.map((item) =>
|
||||
!item.items ? (
|
||||
<SidebarMenuItem key={item.title}>
|
||||
<SidebarMenuButton asChild tooltip={item.title}>
|
||||
<a href={item.url}>
|
||||
{item.icon && <item.icon />}
|
||||
<span>{item.title}</span>
|
||||
</a>
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
) : (
|
||||
<Collapsible
|
||||
key={item.title}
|
||||
asChild
|
||||
@ -54,7 +62,7 @@ export function NavMain({
|
||||
</CollapsibleTrigger>
|
||||
<CollapsibleContent>
|
||||
<SidebarMenuSub>
|
||||
{item.items?.map((subItem) => (
|
||||
{item.items.map((subItem) => (
|
||||
<SidebarMenuSubItem key={subItem.title}>
|
||||
<SidebarMenuSubButton asChild>
|
||||
<a href={`${item.url}${subItem.url}`}>
|
||||
@ -67,7 +75,8 @@ export function NavMain({
|
||||
</CollapsibleContent>
|
||||
</SidebarMenuItem>
|
||||
</Collapsible>
|
||||
))}
|
||||
)
|
||||
)}
|
||||
</SidebarMenu>
|
||||
</SidebarGroup>
|
||||
);
|
||||
|
Loading…
Reference in New Issue
Block a user