{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "navbar-07", "type": "registry:block", "dependencies": [ "next-themes" ], "registryDependencies": [ "utils", "navigation-menu", "button", "https://launchmvpfast.com/r/use-is-mac.json", "separator", "popover" ], "files": [ { "path": "registry/default/blocks/navbar/navbar-07.tsx", "content": "import { buttonVariants } from '@/registry/default/ui/button'\r\nimport {\r\n NavigationMenu,\r\n NavigationMenuItem,\r\n NavigationMenuLink,\r\n NavigationMenuList,\r\n} from '@/registry/default/ui/navigation-menu'\r\nimport { cn } from '@/lib/utils'\r\nimport { Search } from './search'\r\nimport { Separator } from '@/registry/default/ui/separator'\r\nimport { ModeSwitcher } from './mode-switcher'\r\nimport { MobileNav } from './mobile-nav'\r\n// import Link from 'next/link'\r\n\r\n// Sample navigation links, you can replace these with your actual links\r\nconst navigationLinks = [\r\n {\r\n name: 'Menu',\r\n items: [\r\n { href: '#', label: 'Docs' },\r\n { href: '#', label: 'Components', active: true },\r\n { href: '#', label: 'Blocks' },\r\n { href: '#', label: 'Starterkits' },\r\n { href: '#', label: 'Pricing' },\r\n ],\r\n },\r\n]\r\n\r\nexport default function Navbar() {\r\n const Link = 'a' // if using Next.js remove this line. you can use the Link component from 'next/link'\r\n\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n {navigationLinks[0].items.map((link, index) => (\r\n \r\n \r\n {link.label}\r\n \r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n )\r\n}\r\n", "type": "registry:component", "target": "components/navbar.tsx" }, { "path": "registry/default/blocks/navbar/search.tsx", "content": "'use client'\r\n\r\nimport { Button } from '@/registry/default/ui/button'\r\nimport { cn } from '@/lib/utils'\r\nimport { useIsMac } from '@/registry/default/hooks/use-is-mac'\r\n\r\nexport function Search({ className }: React.ComponentProps<'button'>) {\r\n const isMac = useIsMac()\r\n\r\n return (\r\n \r\n Search...\r\n Search...\r\n \r\n {isMac ? '⌘' : 'Ctrl'}\r\n K\r\n \r\n \r\n )\r\n}\r\n\r\nfunction CommandMenuKbd({ className, ...props }: React.ComponentProps<'kbd'>) {\r\n return (\r\n \r\n )\r\n}\r\n", "type": "registry:component", "target": "components/search.tsx" }, { "path": "registry/default/blocks/navbar/mode-switcher.tsx", "content": "'use client'\r\n\r\nimport { Button } from '@/registry/default/ui/button'\r\nimport { useTheme } from 'next-themes'\r\nimport * as React from 'react'\r\n\r\nexport function ModeSwitcher() {\r\n const { setTheme, resolvedTheme } = useTheme()\r\n\r\n const toggleTheme = React.useCallback(() => {\r\n setTheme(resolvedTheme === 'dark' ? 'light' : 'dark')\r\n }, [resolvedTheme, setTheme])\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Toggle theme\r\n \r\n )\r\n}\r\n", "type": "registry:component", "target": "components/mode-switcher.tsx" }, { "path": "registry/default/blocks/navbar/mobile-nav.tsx", "content": "'use client'\r\n\r\nimport React from 'react'\r\nimport {\r\n Popover,\r\n PopoverContent,\r\n PopoverTrigger,\r\n} from '@/registry/default/ui/popover'\r\nimport { Button } from '@/registry/default/ui/button'\r\nimport { cn } from '@/lib/utils'\r\n// import Link from 'next/link'\r\n\r\ntype MobileNavProps = {\r\n nav: {\r\n name: string\r\n items: {\r\n label: string\r\n href: string\r\n }[]\r\n }[]\r\n}\r\n\r\nexport function MobileNav({ nav }: MobileNavProps) {\r\n const Link = 'a' // if using Next.js remove this line. you can use the Link component from 'next/link'\r\n\r\n const [open, setOpen] = React.useState(false)\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Toggle Menu\r\n \r\n \r\n \r\n \r\n \r\n {nav.map((category, index) => (\r\n \r\n \r\n {category.name}\r\n \r\n \r\n {category.items.map((item, index) => (\r\n setOpen(false)}\r\n >\r\n {item.label}\r\n \r\n ))}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n )\r\n}\r\n", "type": "registry:component", "target": "components/mobile-nav.tsx" } ] }
\r\n {category.name}\r\n