import { useIsMobile } from '@components/common/ui/hooks/useIsMobile.js'; import { NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger } from '@components/common/ui/NavigationMenu.js'; import { cn } from '@evershop/evershop/lib/util/cn'; import React from 'react'; interface BasicMenuProps { basicMenuWidget: { menus: { id: string; name: string; url: string; type: string; uuid: string; children: { name: string; url: string; type: string; uuid: string; }[]; }[]; isMain: boolean; className: string; }; } export default function BasicMenu({ basicMenuWidget: { menus, isMain, className } }: BasicMenuProps) { const [isOpen, setIsOpen] = React.useState(!isMain); const isMobile = useIsMobile(); const [currentPath, setCurrentPath] = React.useState(''); React.useEffect(() => { setCurrentPath(window.location.pathname); }, []); const isActive = (url: string) => { if (url === '/') { return currentPath === '/'; } return currentPath.startsWith(url); }; const toggleMenu = () => { setIsOpen(!isOpen); }; return (
); } export const query = ` query Query($settings: JSON) { basicMenuWidget(settings: $settings) { menus { id name url type uuid children { name url type uuid } } isMain className } } `; export const variables = `{ settings: getWidgetSetting() }`;