import { siteConfig } from '@/lib/config'; import { useGlobal } from '@/lib/global'; import { useEffect } from 'react'; import CONFIG from '../config'; import { MenuItem } from './MenuItem'; /** * 响应式 折叠菜单 */ export const MenuList = (props) => { const { customNav, customMenu } = props const { locale } = useGlobal() let links = [ { icon: 'fas fa-archive', name: locale.NAV.ARCHIVE, to: '/archive', show: siteConfig('HEO_MENU_ARCHIVE', null, CONFIG) }, { icon: 'fas fa-search', name: locale.NAV.SEARCH, to: '/search', show: siteConfig('HEO_MENU_SEARCH', null, CONFIG) }, { icon: 'fas fa-folder', name: locale.COMMON.CATEGORY, to: '/category', show: siteConfig('HEO_MENU_CATEGORY', null, CONFIG) }, { icon: 'fas fa-tag', name: locale.COMMON.TAGS, to: '/tag', show: siteConfig('HEO_MENU_TAG', null, CONFIG) } ] if (customNav) { links = customNav.concat(links) } useEffect(() => { // ===== responsive navbar const navbarToggler = document.querySelector('#navbarToggler'); const navbarCollapse = document.querySelector('#navbarCollapse'); // 点击弹出菜单 navbarToggler?.addEventListener('click', () => { navbarToggler?.classList.toggle('navbarTogglerActive'); navbarCollapse?.classList.toggle('hidden'); }); //= ==== close navbar-collapse when a clicked document .querySelectorAll('#navbarCollapse ul li:not(.submenu-item) a') .forEach((e) => e.addEventListener('click', () => { navbarToggler?.classList.remove('navbarTogglerActive'); navbarCollapse?.classList.add('hidden'); }) ); // ===== Sub-menu const submenuItems = document.querySelectorAll('.submenu-item'); submenuItems.forEach((el) => { el.querySelector('a')?.addEventListener('click', () => { el.querySelector('.submenu')?.classList.toggle('hidden'); }); }); }, []) // 如果 开启自定义菜单,则覆盖Page生成的菜单 if (siteConfig('CUSTOM_MENU')) { links = customMenu } // if (!links || links.length === 0) { // return null // } return <>