import { useState, useEffect } from 'react' import { Disclosure } from '@headlessui/react' import { MenuIcon, XIcon } from '@heroicons/react/outline' import Logo from '../components/Images/Logo'; const navigation = [ { name: 'Home', href: '#', current: true }, { name: 'About', href: '#about', current: false }, { name: 'Projects', href: '#projects', current: false }, { name: 'Graphics', href: '#graphics', current: false }, { name: 'Contact', href: '#contact', current: false }, ]; function classNames(...classes: any[]) { return classes.filter(Boolean).join(' ') } const Navbar = ({ views }: { views: { view: string, viewing: boolean }[] }) => { const [atTop, setAtTop] = useState() function updateCurrent() { const currentlyViewing = views.find((view) => view.viewing === true) navigation.forEach((nav) => nav.current = false) if (currentlyViewing) { const nav = navigation.find((nav) => nav.name === currentlyViewing.view) if (!nav) return nav.current = true } } useEffect(() => { if (window.scrollY === 0) { setAtTop(true) } else { setAtTop(false) } window.addEventListener("scroll", () => { if (window.scrollY === 0) { setAtTop(true) } else { setAtTop(false) } updateCurrent() }) }) return ( {({ open }) => ( <>
{/* Mobile menu button */} Open main menu {open ? (
{navigation.map((item) => ( {item.name} ))}
)}
) } export default Navbar;