mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-07-08 22:45:47 +00:00
* feat(next-template): update template and deps * docs(next-template): update README * fix(www): update deps * chore: remove console.log
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import * as React from "react"
|
|
import Link from "next/link"
|
|
|
|
import { NavItem } from "@/types/nav"
|
|
import { siteConfig } from "@/config/site"
|
|
import { cn } from "@/lib/utils"
|
|
import { Icons } from "@/components/icons"
|
|
|
|
interface MainNavProps {
|
|
items?: NavItem[]
|
|
}
|
|
|
|
export function MainNav({ items }: MainNavProps) {
|
|
return (
|
|
<div className="flex gap-6 md:gap-10">
|
|
<Link href="/" className="flex items-center space-x-2">
|
|
<Icons.logo className="h-6 w-6" />
|
|
<span className="inline-block font-bold">{siteConfig.name}</span>
|
|
</Link>
|
|
{items?.length ? (
|
|
<nav className="flex gap-6">
|
|
{items?.map(
|
|
(item, index) =>
|
|
item.href && (
|
|
<Link
|
|
key={index}
|
|
href={item.href}
|
|
className={cn(
|
|
"flex items-center text-sm font-medium text-muted-foreground",
|
|
item.disabled && "cursor-not-allowed opacity-80"
|
|
)}
|
|
>
|
|
{item.title}
|
|
</Link>
|
|
)
|
|
)}
|
|
</nav>
|
|
) : null}
|
|
</div>
|
|
)
|
|
}
|