import { useState, useEffect } from 'react';
import Link from 'next/link';
import { useRouter } from 'next/router';
import classNames from 'classnames';
import { Button, Icon } from './jambonz-ui';
import { homeObj, mobileMedia } from '../lib/vars';
function NaviItem({obj}) {
const router = useRouter();
const classes = {
navi__link: true,
active: (router.route === obj.link),
};
return (
{obj.label}
);
}
function NaviMobile({ active, handler, siteData }) {
const classes = {
'bg-jambonz': true,
'wrap': true,
'navi__mobile': true,
'active': active,
};
return (
{siteData.navi.links.map((obj) => {
return
})}
{siteData.footer.links.map((obj) => {
return
})}
);
}
export default function Navi({ siteData }) {
const [active, setActive] = useState(false);
const [mobile, setMobile] = useState(false);
const handleNavi = () => {
setActive(!active);
};
const handleMedia = (e) => {
setMobile(e.matches);
// Make sure mobile navi is closed on resizes...
if (!e.matches && active) {
setActive(false);
}
};
useEffect(() => {
const mql = window.matchMedia(mobileMedia);
mql.addListener(handleMedia);
setMobile(mql.matches);
return function cleanup() {
mql.removeListener(handleMedia);
}
}, [handleMedia, setMobile]);
return (
);
}