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, href: '/archive', show: siteConfig('HEO_MENU_ARCHIVE', null, CONFIG) }, { icon: 'fas fa-search', name: locale.NAV.SEARCH, href: '/search', show: siteConfig('HEO_MENU_SEARCH', null, CONFIG) }, { icon: 'fas fa-folder', name: locale.COMMON.CATEGORY, href: '/category', show: siteConfig('HEO_MENU_CATEGORY', null, CONFIG) }, { icon: 'fas fa-tag', name: locale.COMMON.TAGS, href: '/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 ( <>