next-enterprise/components/Navbar/Navbar.tsx

89 lines
2.2 KiB
TypeScript
Raw Normal View History

2023-08-02 12:26:35 +02:00
"use client"
import {
Button,
Navbar,
NavbarBrand,
NavbarContent,
NavbarItem,
NavbarMenu,
NavbarMenuItem,
NavbarMenuToggle,
} from "@nextui-org/react"
import Image from "next/image"
2023-07-28 15:33:57 +02:00
import Link from "next/link"
2023-08-02 12:26:35 +02:00
import { usePathname } from "next/navigation"
import { useState } from "react"
2023-07-28 15:33:57 +02:00
2023-08-02 12:26:35 +02:00
export default function Nav() {
const [isMenuOpen, setIsMenuOpen] = useState<boolean | undefined>(false)
const currentRoute = usePathname()
const menuItems = [
{
label: "Home",
href: "/",
current: currentRoute === "/",
},
2023-08-11 17:21:43 +02:00
{
label: "About",
href: "/about",
current: currentRoute === "/about",
},
2023-08-02 12:26:35 +02:00
{
label: "Projects",
href: "/projects",
current: currentRoute === "/projects",
},
2023-08-02 15:16:52 +02:00
{
label: "Contact",
href: "/contact",
current: currentRoute === "/contact",
},
2023-08-02 12:26:35 +02:00
]
2023-07-12 15:47:01 +02:00
2023-08-02 12:26:35 +02:00
return (
<Navbar
className="bg-primary-800 text-primary-50"
isMenuOpen={isMenuOpen || false}
onMenuOpenChange={setIsMenuOpen}
>
<NavbarMenuToggle className="flex gap-4 md:hidden" />
<NavbarMenu>
{menuItems.map((item) => (
<NavbarMenuItem key={item.href}>
<Link
href={item.href}
aria-current={item.current ? "page" : undefined}
onClick={() => setIsMenuOpen(false)}
>
{item.label}
</Link>
</NavbarMenuItem>
))}
</NavbarMenu>
<NavbarBrand>
<Image src="/Isacon logo RGB_1.png" alt="Isacon" width={40} height={40} />
</NavbarBrand>
<NavbarContent className="hidden gap-4 md:flex" justify="center">
{menuItems.map((item) => (
<NavbarItem key={item.href} isActive={item.current}>
<Link href={item.href} aria-current={item.current ? "page" : undefined}>
{item.label}
</Link>
</NavbarItem>
))}
</NavbarContent>
<NavbarContent justify="end">
<NavbarItem className="hidden lg:flex">
<Link href="#">Login</Link>
</NavbarItem>
<NavbarItem>
<Button color="primary" href="#" variant="flat">
Sign Up
</Button>
</NavbarItem>
</NavbarContent>
</Navbar>
2023-07-12 15:47:01 +02:00
)
}