nav-projects.tsx — ui Source File
Architecture documentation for nav-projects.tsx, a tsx file in the ui codebase. 3 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 2822f2ed_4752_e352_3f43_30535c09d5fd["nav-projects.tsx"] ac307fe4_34c0_4667_089c_c9e7c15ca708["dropdown-menu"] 2822f2ed_4752_e352_3f43_30535c09d5fd --> ac307fe4_34c0_4667_089c_c9e7c15ca708 f1a5091e_9f4f_a457_6394_4e05eb42bbf1["sidebar"] 2822f2ed_4752_e352_3f43_30535c09d5fd --> f1a5091e_9f4f_a457_6394_4e05eb42bbf1 de6fac54_74ca_6c25_8f8b_d1ba3287dbf2["icon-placeholder"] 2822f2ed_4752_e352_3f43_30535c09d5fd --> de6fac54_74ca_6c25_8f8b_d1ba3287dbf2 style 2822f2ed_4752_e352_3f43_30535c09d5fd fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"use client"
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuSeparator,
DropdownMenuTrigger,
} from "@/registry/bases/base/ui/dropdown-menu"
import {
SidebarGroup,
SidebarGroupLabel,
SidebarMenu,
SidebarMenuAction,
SidebarMenuButton,
SidebarMenuItem,
useSidebar,
} from "@/registry/bases/base/ui/sidebar"
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
export function NavProjects({
projects,
}: {
projects: {
name: string
url: string
icon: React.ReactNode
}[]
}) {
const { isMobile } = useSidebar()
return (
<SidebarGroup className="group-data-[collapsible=icon]:hidden">
<SidebarGroupLabel>Projects</SidebarGroupLabel>
<SidebarMenu>
{projects.map((item) => (
<SidebarMenuItem key={item.name}>
<SidebarMenuButton render={<a href={item.url} />}>
{item.icon}
<span>{item.name}</span>
</SidebarMenuButton>
<DropdownMenu>
<DropdownMenuTrigger
render={
<SidebarMenuAction
showOnHover
className="aria-expanded:bg-muted"
/>
}
>
<IconPlaceholder
lucide="MoreHorizontalIcon"
tabler="IconDots"
hugeicons="MoreHorizontalCircle01Icon"
phosphor="DotsThreeOutlineIcon"
remixicon="RiMoreLine"
/>
<span className="sr-only">More</span>
</DropdownMenuTrigger>
<DropdownMenuContent
className="w-48 rounded-lg"
side={isMobile ? "bottom" : "right"}
align={isMobile ? "end" : "start"}
>
<DropdownMenuItem>
<IconPlaceholder
lucide="FolderIcon"
tabler="IconFolder"
hugeicons="FolderIcon"
phosphor="FolderIcon"
remixicon="RiFolderLine"
className="text-muted-foreground"
/>
<span>View Project</span>
</DropdownMenuItem>
<DropdownMenuItem>
<IconPlaceholder
lucide="ArrowRightIcon"
tabler="IconArrowForward"
hugeicons="ArrowRightIcon"
phosphor="ShareFatIcon"
remixicon="RiShareForwardLine"
className="text-muted-foreground"
/>
<span>Share Project</span>
</DropdownMenuItem>
<DropdownMenuSeparator />
<DropdownMenuItem>
<IconPlaceholder
lucide="Trash2Icon"
tabler="IconTrash"
hugeicons="Delete02Icon"
phosphor="TrashIcon"
remixicon="RiDeleteBinLine"
className="text-muted-foreground"
/>
<span>Delete Project</span>
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
</SidebarMenuItem>
))}
<SidebarMenuItem>
<SidebarMenuButton className="text-sidebar-foreground/70">
<IconPlaceholder
lucide="MoreHorizontalIcon"
tabler="IconDots"
hugeicons="MoreHorizontalCircle01Icon"
phosphor="DotsThreeOutlineIcon"
remixicon="RiMoreLine"
className="text-sidebar-foreground/70"
/>
<span>More</span>
</SidebarMenuButton>
</SidebarMenuItem>
</SidebarMenu>
</SidebarGroup>
)
}
Domain
Subdomains
Functions
Dependencies
- dropdown-menu
- icon-placeholder
- sidebar
Source
Frequently Asked Questions
What does nav-projects.tsx do?
nav-projects.tsx is a source file in the ui codebase, written in tsx. It belongs to the ComponentRegistry domain, UIPrimitives subdomain.
What functions are defined in nav-projects.tsx?
nav-projects.tsx defines 1 function(s): NavProjects.
What does nav-projects.tsx depend on?
nav-projects.tsx imports 3 module(s): dropdown-menu, icon-placeholder, sidebar.
Where is nav-projects.tsx in the architecture?
nav-projects.tsx is located at apps/v4/registry/bases/base/blocks/sidebar-07/components/nav-projects.tsx (domain: ComponentRegistry, subdomain: UIPrimitives, directory: apps/v4/registry/bases/base/blocks/sidebar-07/components).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free