{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "dashboard", "type": "registry:block", "title": "Dashboard", "description": "Blinkist Dashboard Page with Header and Sidebar", "dependencies": [ "lucide-react" ], "files": [ { "path": "app/dashboard/page.tsx", "content": "import { DashboardHeader } from \"@/components/dashboard/header\"\nimport { DashboardSidebar } from \"@/components/dashboard/sidebar-nav\"\n\nexport default function DashboardPage() {\n return (\n
\n \n
\n \n
{/* Main content area intentionally left blank */}
\n
\n
\n )\n}\n", "type": "registry:page", "target": "app/dashboard/page.tsx" }, { "path": "components/dashboard/header.tsx", "content": "import { SearchIcon } from \"lucide-react\"\n\nexport function DashboardHeader() {\n return (\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n )\n}\n", "type": "registry:component" }, { "path": "components/dashboard/sidebar.tsx", "content": "import type React from \"react\"\nimport Link from \"next/link\"\nimport Image from \"next/image\"\nimport {\n Home,\n Search,\n BookOpen,\n LayoutGrid,\n Highlighter,\n BarChart2,\n Calendar,\n Gift,\n Settings,\n HelpCircle,\n LogOut,\n} from \"lucide-react\"\n\nexport function Sidebar() {\n return (\n \n )\n}\n\ninterface NavItemProps {\n href: string\n icon: React.ReactNode\n label: string\n active?: boolean\n badge?: string\n}\n\nfunction NavItem({ href, icon, label, active, badge }: NavItemProps) {\n return (\n
  • \n {active &&
    }\n \n {icon}\n {label}\n {badge && (\n {badge}\n )}\n \n
  • \n )\n}\n", "type": "registry:component" }, { "path": "components/dashboard/sidebar-nav.tsx", "content": "\"use client\"\n\nimport type React from \"react\"\n\nimport Link from \"next/link\"\nimport { usePathname } from \"next/navigation\"\nimport Image from \"next/image\"\nimport {\n Home,\n Search,\n BookmarkIcon,\n LayoutGrid,\n PenLine,\n BarChart2,\n Calendar,\n Gift,\n Settings,\n HelpCircle,\n LogOut,\n} from \"lucide-react\"\n\nexport function DashboardSidebar() {\n const pathname = usePathname()\n\n return (\n \n )\n}\n\ninterface NavItemProps {\n href: string\n icon: React.ReactNode\n label: string\n active?: boolean\n badge?: string\n}\n\nfunction NavItem({ href, icon, label, active, badge }: NavItemProps) {\n return (\n
  • \n {active &&
    }\n \n {icon}\n {label}\n {badge && (\n {badge}\n )}\n \n
  • \n )\n}\n", "type": "registry:component" }, { "path": "components/dashboard/search.tsx", "content": "import { SearchIcon } from \"lucide-react\"\n\nexport function Search() {\n return (\n
    \n
    \n \n \n
    \n
    \n )\n}\n", "type": "registry:component" } ] }