import { useState } from "react";
import Image from "next/image";
import logo from "";
import Hamburger from "./Hamburger";
import NavItem from "./NavItem";
export default function NavBar() {
const [toggle, setToggle] = useState(false);
function toggleHamburgerMenu() {
setToggle((prevToggle) => !prevToggle);
}
const navItems = ["", "", "", ""];
return (
<header className="header">
<nav className="nav">
//<Image className="logo" alt="personal logo" src={logo} />
//<h4 className="logo-title"></h4>
<ul className="links">
{navItems.map((item, index) => (
<NavItem
key={index}
onClick={() => setToggle(false)}
href={item}
className="link"
>
{item}
</NavItem>
))}
</ul>
<Hamburger toggleHamburgerMenu={toggleHamburgerMenu} toggle={toggle} />
</nav>
{toggle && (
<ul className="mobile-links">
{navItems.map((item, index) => (
<NavItem
key={index}
onClick={() => setToggle(false)}
href={item}
className="mobile-link"
>
{item}
</NavItem>
))}
</ul>
)}
</header>
);
}
//Hamburger
function Hamburger({ toggleHamburgerMenu, toggle }) {
return (
<button
id="hamburger-button"
aria-label="Mobile Menu Button"
onClick={toggleHamburgerMenu}
className="hamburger-menu"
>
<span className={`${toggle && "open"} hamburger-top`}></span>
<span className={`${toggle && "open"} hamburger-middle`}></span>
<span className={`${toggle && "open"} hamburger-bottom`}></span>
</button>
);
}
export default Hamburger;
//NavItem component
function NavItem({ onClick, href, className, children }) {
return (
<li>
<a onClick={onClick} href={`#${href}`} className={className} aria-label="menu links">
{children}
</a>
</li>
);
}
export default NavItem;