sidebar-rsc.tsx — ui Source File
Architecture documentation for sidebar-rsc.tsx, a tsx file in the ui codebase. 3 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR eb1fea34_4c85_6bf0_19d5_cee93da21a6d["sidebar-rsc.tsx"] 1d141819_425e_b5fd_4c8e_32f7c6a42cf2["react"] eb1fea34_4c85_6bf0_19d5_cee93da21a6d --> 1d141819_425e_b5fd_4c8e_32f7c6a42cf2 ae980154_1718_a5bc_ef81_3a801fffff75["sidebar"] eb1fea34_4c85_6bf0_19d5_cee93da21a6d --> ae980154_1718_a5bc_ef81_3a801fffff75 d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3["lucide-react"] eb1fea34_4c85_6bf0_19d5_cee93da21a6d --> d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3 style eb1fea34_4c85_6bf0_19d5_cee93da21a6d fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import * as React from "react"
import {
Sidebar,
SidebarContent,
SidebarGroup,
SidebarGroupContent,
SidebarGroupLabel,
SidebarMenu,
SidebarMenuButton,
SidebarMenuItem,
SidebarMenuSkeleton,
SidebarProvider,
} from "@/examples/base/ui/sidebar"
import {
FrameIcon,
LifeBuoyIcon,
MapIcon,
PieChartIcon,
SendIcon,
} from "lucide-react"
const projects = [
{
name: "Design Engineering",
url: "#",
icon: FrameIcon,
badge: "24",
},
{
name: "Sales & Marketing",
url: "#",
icon: PieChartIcon,
badge: "12",
},
{
name: "Travel",
url: "#",
icon: MapIcon,
badge: "3",
},
{
name: "Support",
url: "#",
icon: LifeBuoyIcon,
badge: "21",
},
{
name: "Feedback",
url: "#",
icon: SendIcon,
badge: "8",
},
]
// Dummy fetch function.
async function fetchProjects() {
await new Promise((resolve) => setTimeout(resolve, 3000))
return projects
}
export default function AppSidebar() {
return (
<SidebarProvider>
<Sidebar>
<SidebarContent>
<SidebarGroup>
<SidebarGroupLabel>Projects</SidebarGroupLabel>
<SidebarGroupContent>
<React.Suspense fallback={<NavProjectsSkeleton />}>
<NavProjects />
</React.Suspense>
</SidebarGroupContent>
</SidebarGroup>
</SidebarContent>
</Sidebar>
</SidebarProvider>
)
}
function NavProjectsSkeleton() {
return (
<SidebarMenu>
{Array.from({ length: 5 }).map((_, index) => (
<SidebarMenuItem key={index}>
<SidebarMenuSkeleton showIcon />
</SidebarMenuItem>
))}
</SidebarMenu>
)
}
async function NavProjects() {
const projects = await fetchProjects()
return (
<SidebarMenu>
{projects.map((project) => (
<SidebarMenuItem key={project.name}>
<SidebarMenuButton render={<a href={project.url} />}>
<project.icon />
<span>{project.name}</span>
</SidebarMenuButton>
</SidebarMenuItem>
))}
</SidebarMenu>
)
}
Domain
Subdomains
Dependencies
- lucide-react
- react
- sidebar
Source
Frequently Asked Questions
What does sidebar-rsc.tsx do?
sidebar-rsc.tsx is a source file in the ui codebase, written in tsx. It belongs to the DocumentationAtlas domain, ContentSourcing subdomain.
What functions are defined in sidebar-rsc.tsx?
sidebar-rsc.tsx defines 4 function(s): AppSidebar, NavProjects, NavProjectsSkeleton, fetchProjects.
What does sidebar-rsc.tsx depend on?
sidebar-rsc.tsx imports 3 module(s): lucide-react, react, sidebar.
Where is sidebar-rsc.tsx in the architecture?
sidebar-rsc.tsx is located at apps/v4/examples/base/sidebar-rsc.tsx (domain: DocumentationAtlas, subdomain: ContentSourcing, directory: apps/v4/examples/base).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free