import Link from 'next/link'; import { nanoid } from 'nanoid'; import { useState } from 'react'; import { Button, Icon, classNames } from 'jambonz-ui'; import { Icons } from './icons'; import { rSlash } from './utils'; import { useMobileMedia, useActiveNavi } from './hooks'; function NaviItem({obj}) { const activeNavi = useActiveNavi(); const cleanLink = obj.link.replace(rSlash, ''); const classes = { navi__link: true, active: cleanLink === activeNavi, }; return (
  • {obj.label}
  • ); } function NaviMobile({ active, handler, siteData }) { const classes = { 'bg--dark': true, 'wrap': true, 'navi__mobile': true, 'active': active, }; return (
    ); } export default function Navi({ siteData }) { const [active, setActive] = useState(false); const mobile = useMobileMedia(); const classes = { navi: true, mobile, active, }; const handleNavi = () => { setActive(!active); }; // Make sure mobile navi is closed on resizes... if (!mobile && active) { setActive(false); } return ( ); }