mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-07-07 22:18:39 +00:00
101 lines
2.4 KiB
TypeScript
101 lines
2.4 KiB
TypeScript
"use client"
|
|
|
|
import {
|
|
FrameIcon,
|
|
LifeBuoyIcon,
|
|
MapIcon,
|
|
MoreHorizontalIcon,
|
|
PieChartIcon,
|
|
SendIcon,
|
|
} from "lucide-react"
|
|
|
|
import {
|
|
DropdownMenu,
|
|
DropdownMenuContent,
|
|
DropdownMenuItem,
|
|
DropdownMenuTrigger,
|
|
} from "@/styles/base-nova/ui/dropdown-menu"
|
|
import {
|
|
Sidebar,
|
|
SidebarContent,
|
|
SidebarGroup,
|
|
SidebarGroupContent,
|
|
SidebarGroupLabel,
|
|
SidebarMenu,
|
|
SidebarMenuAction,
|
|
SidebarMenuButton,
|
|
SidebarMenuItem,
|
|
SidebarProvider,
|
|
} from "@/styles/base-nova/ui/sidebar"
|
|
|
|
const projects = [
|
|
{
|
|
name: "Design Engineering",
|
|
url: "#",
|
|
icon: FrameIcon,
|
|
},
|
|
{
|
|
name: "Sales & Marketing",
|
|
url: "#",
|
|
icon: PieChartIcon,
|
|
},
|
|
{
|
|
name: "Travel",
|
|
url: "#",
|
|
icon: MapIcon,
|
|
},
|
|
{
|
|
name: "Support",
|
|
url: "#",
|
|
icon: LifeBuoyIcon,
|
|
},
|
|
{
|
|
name: "Feedback",
|
|
url: "#",
|
|
icon: SendIcon,
|
|
},
|
|
]
|
|
|
|
export default function AppSidebar() {
|
|
return (
|
|
<SidebarProvider>
|
|
<Sidebar>
|
|
<SidebarContent>
|
|
<SidebarGroup>
|
|
<SidebarGroupLabel>Projects</SidebarGroupLabel>
|
|
<SidebarGroupContent>
|
|
<SidebarMenu>
|
|
{projects.map((project) => (
|
|
<SidebarMenuItem key={project.name}>
|
|
<SidebarMenuButton
|
|
render={<a href={project.url} />}
|
|
className="group-has-[[data-state=open]]/menu-item:bg-sidebar-accent"
|
|
>
|
|
<project.icon />
|
|
<span>{project.name}</span>
|
|
</SidebarMenuButton>
|
|
<DropdownMenu>
|
|
<DropdownMenuTrigger render={<SidebarMenuAction />}>
|
|
<MoreHorizontalIcon />
|
|
<span className="sr-only">More</span>
|
|
</DropdownMenuTrigger>
|
|
<DropdownMenuContent side="right" align="start">
|
|
<DropdownMenuItem>
|
|
<span>Edit Project</span>
|
|
</DropdownMenuItem>
|
|
<DropdownMenuItem>
|
|
<span>Delete Project</span>
|
|
</DropdownMenuItem>
|
|
</DropdownMenuContent>
|
|
</DropdownMenu>
|
|
</SidebarMenuItem>
|
|
))}
|
|
</SidebarMenu>
|
|
</SidebarGroupContent>
|
|
</SidebarGroup>
|
|
</SidebarContent>
|
|
</Sidebar>
|
|
</SidebarProvider>
|
|
)
|
|
}
|