"use client"; import { cn } from "@/lib/utils"; import Link from "next/link"; import { useState } from "react"; import { IoIosMenu, IoIosClose } from "react-icons/io"; import { Logo } from "../Logo"; import { useMotionValueEvent, useScroll } from "framer-motion"; type NavItem = { title: string; link: string; target?: "_blank"; children?: NavItem[]; }; type Props = { navItems: NavItem[]; }; export const MobileNavbar = ({ navItems }: Props) => { const [open, setOpen] = useState(false); const { scrollY } = useScroll(); const [showBackground, setShowBackground] = useState(false); useMotionValueEvent(scrollY, "change", (value) => { if (value > 100) { setShowBackground(true); } else { setShowBackground(false); } }); return (
setOpen(!open)} /> {open && (
setOpen(!open)} />
{navItems.map((navItem) => navItem.children && navItem.children.length > 0 ? ( navItem.children.map((childNavItem) => ( setOpen(false)} className="relative max-w-[15rem] text-left text-2xl" > {childNavItem.title} )) ) : ( setOpen(false)} className="relative" > {navItem.title} ) )}
{/* Login/Signup buttons - uncomment to enable authentication */} {/*
*/}
)}
); };