mirror of
https://github.com/vercel/commerce.git
synced 2025-04-28 05:47:50 +00:00
72 lines
2.6 KiB
TypeScript
72 lines
2.6 KiB
TypeScript
import Link from "next/link";
|
|
|
|
import LogoSquare from "@/components/logo-square";
|
|
import { getMenu } from "@/lib/store/menu";
|
|
import MobileMenu from "./mobile-menu";
|
|
import Search from "./search";
|
|
|
|
export default async function Navbar() {
|
|
const menu = await getMenu("navbar");
|
|
|
|
return (
|
|
<nav className="relative flex items-center justify-between p-4 lg:px-6">
|
|
<div className="flex w-full items-center">
|
|
<div className="flex w-full md:w-1/3">
|
|
<Link
|
|
href="/"
|
|
className="mr-2 flex w-full items-center justify-center md:w-auto lg:mr-6"
|
|
>
|
|
<LogoSquare />
|
|
<span className="ml-2 flex-none text-sm font-medium uppercase">
|
|
Store
|
|
</span>
|
|
</Link>
|
|
{menu?.items ? (
|
|
<ul className="hidden gap-6 text-sm md:flex md:items-center">
|
|
{menu.items.map((item) => (
|
|
<li key={item.title}>
|
|
<Link
|
|
href={item.path}
|
|
className="text-neutral-500 underline-offset-4 hover:text-black hover:underline dark:text-neutral-400 dark:hover:text-neutral-300"
|
|
>
|
|
{item.title}
|
|
</Link>
|
|
</li>
|
|
))}
|
|
</ul>
|
|
) : null}
|
|
</div>
|
|
<div className="hidden justify-center md:flex md:w-1/3">
|
|
<Search />
|
|
</div>
|
|
<div className="flex justify-end md:w-1/3">
|
|
<div className="flex items-center">
|
|
<button
|
|
aria-label="Open cart"
|
|
className="ml-4 flex h-11 w-11 items-center justify-center rounded-md border border-neutral-200 text-black transition-colors dark:border-neutral-700 dark:text-white"
|
|
>
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
fill="none"
|
|
viewBox="0 0 24 24"
|
|
strokeWidth={1.5}
|
|
stroke="currentColor"
|
|
className="h-4 w-4"
|
|
>
|
|
<path
|
|
strokeLinecap="round"
|
|
strokeLinejoin="round"
|
|
d="M15.75 10.5V6a3.75 3.75 0 10-7.5 0v4.5m11.356-1.993l1.263 12c.07.665-.45 1.243-1.119 1.243H4.25a1.125 1.125 0 01-1.12-1.243l1.264-12A1.125 1.125 0 015.513 7.5h12.974c.576 0 1.059.435 1.119 1.007zM8.625 10.5a.375.375 0 11-.75 0 .375.375 0 01.75 0zm7.5 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z"
|
|
/>
|
|
</svg>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div className="flex md:hidden">
|
|
<MobileMenu menu={menu} />
|
|
</div>
|
|
</nav>
|
|
);
|
|
}
|