• @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 a sticky site header.
Open in New Tab
Files
app/dashboard/page.tsx
import type { JSX } from "react";

import { AppSidebar } from "@/app/dashboard/_components/app-sidebar.tsx";
import { SiteHeader } from "@/app/dashboard/_components/site-header.tsx";
import { SidebarInset, SidebarProvider } from "@codefast/ui";

export default function Page(): JSX.Element {
  return (
    <div className="[--header-height:calc(--spacing(14))]">
      <SidebarProvider className="flex flex-col">
        <SiteHeader />
        <div className="flex flex-1">
          <AppSidebar />
          <SidebarInset>
            <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>
        </div>
      </SidebarProvider>
    </div>
  );
}