import { Menu, Transition } from "@headlessui/react"; import Link from "next/link"; import { Fragment, useRef, useState } from "react"; import BaseLink from "./BaseLink"; export default function NavItem({ item }) { const dropdownRef = useRef(null); const [showDropdown, setshowDropdown] = useState(false); const timeoutDuration = 200; let timeoutId; const openDropdown = () => { clearTimeout(timeoutId); setshowDropdown(true); }; const closeDropdown = () => { timeoutId = setTimeout(() => setshowDropdown(false), timeoutDuration); }; return ( setshowDropdown(!showDropdown)} onMouseEnter={openDropdown} onMouseLeave={closeDropdown} > {Object.prototype.hasOwnProperty.call(item, "href") ? ( {item.name} ) : (
{item.name}
)}
{Object.prototype.hasOwnProperty.call(item, "subItems") && ( {item.subItems.map((subItem) => ( setshowDropdown(false)} > {subItem.name} ))} )}
); }