• @codefast/uiCodeFast Labs
    • All Components
    • Container & Layout
      • Accordion
      • Aspect Ratio
      • Card
      • Carousel
      • Collapsible
      • Resizable
      • Scroll Area
      • Separator
      • Skeleton
    • Navigation & Menu
      • Breadcrumb
      • Command
      • Context Menu
      • Dropdown Menu
      • Menubar
      • Navigation Menu
      • Tabs
    • Overlay & Dialog
      • Alert Dialog
      • Dialog
      • Drawer
      • Hover Card
      • Popover
      • Sheet
      • Tooltip
    • Forms & Input
      • Button
      • Calendar
      • Checkbox
      • Checkbox Cards
      • Checkbox Group
      • Combobox
      • Date Picker
      • Form
      • Input
      • Input Date
      • Input Number
      • Input OTP
      • Input Password
      • Input Search
      • Input Time
      • Label
      • Radio
      • Radio Cards
      • Radio Group
      • Select
      • Slider
      • Switch
      • Textarea
      • Toggle
      • Toggle Group
    • Feedback & Data Display
      • Alert
      • Avatar
      • Badge
      • Chart
      • Pagination
      • Progress
      • Progress Circle
      • Sonner
      • Table
    • Utilities
      • Kbd
    • Login
      • Login 01
      • Login 02
      • Login 03
      • Login 04
      • Login 05
    • Products
      • Products 01
    • Forms
      • Form 01
    • Dashboard
      • Dashboard 01
    • Sidebar
      • Sidebar 01
      • Sidebar 02
      • Sidebar 03
      • Sidebar 04
      • Sidebar 05
      • Sidebar 06
      • Sidebar 07
      • Sidebar 08
      • Sidebar 09
      • Sidebar 10
      • Sidebar 11
      • Sidebar 12
      • Sidebar 13
      • Sidebar 14
      • Sidebar 15
      • Sidebar 16
  • Home
  • Components
  • Charts
A sidebar with collapsible submenus.
Open in New Tab
Files
app/dashboard/page.tsx
import type { JSX } from "react";

import {
  Breadcrumb,
  BreadcrumbItem,
  BreadcrumbLink,
  BreadcrumbList,
  BreadcrumbPage,
  BreadcrumbSeparator,
  Separator,
  SidebarInset,
  SidebarProvider,
  SidebarTrigger,
} from "@codefast/ui";

import { AppSidebar } from "@/app/dashboard/_components/app-sidebar.tsx";

export default function Page(): JSX.Element {
  return (
    <SidebarProvider>
      <AppSidebar />
      <SidebarInset>
        <header className="flex h-16 shrink-0 items-center gap-2 border-b px-4">
          <SidebarTrigger className="-ml-1" />
          <Separator className="mr-2 data-[orientation=vertical]:h-4" orientation="vertical" />
          <Breadcrumb>
            <BreadcrumbList>
              <BreadcrumbItem className="hidden md:block">
                <BreadcrumbLink href="#">Building Your Application</BreadcrumbLink>
              </BreadcrumbItem>
              <BreadcrumbSeparator className="hidden md:block" />
              <BreadcrumbItem>
                <BreadcrumbPage>Data Fetching</BreadcrumbPage>
              </BreadcrumbItem>
            </BreadcrumbList>
          </Breadcrumb>
        </header>
        <div className="flex flex-1 flex-col gap-4 p-4">
          <div className="grid auto-rows-min gap-4 md:grid-cols-3">
            <div className="bg-muted/50 aspect-video rounded-xl" />
            <div className="bg-muted/50 aspect-video rounded-xl" />
            <div className="bg-muted/50 aspect-video rounded-xl" />
          </div>
          <div className="bg-muted/50 min-h-[100vh] flex-1 rounded-xl md:min-h-min" />
        </div>
      </SidebarInset>
    </SidebarProvider>
  );
}