import Collapse from '@/components/Collapse' import DarkModeButton from '@/components/DarkModeButton' import { siteConfig } from '@/lib/config' import { useGlobal } from '@/lib/global' import { SignInButton, SignedOut, UserButton } from '@clerk/nextjs' import { useRef, useState } from 'react' import CONFIG from '../config' import LogoBar from './LogoBar' import { MenuBarMobile } from './MenuBarMobile' import { MenuItemDrop } from './MenuItemDrop' import SearchInput from './SearchInput' /** * 頁首:頂部導覽列 + 選單 * @param {} param0 * @returns */ export default function Header(props) { const { className, customNav, customMenu } = props const [isOpen, changeShow] = useState(false) const collapseRef = useRef(null) const { locale } = useGlobal() const defaultLinks = [ { icon: 'fas fa-th', name: locale.COMMON.CATEGORY, href: '/category', show: siteConfig('GITBOOK_MENU_CATEGORY', null, CONFIG) }, { icon: 'fas fa-tag', name: locale.COMMON.TAGS, href: '/tag', show: siteConfig('GITBOOK_BOOK_MENU_TAG', null, CONFIG) }, { icon: 'fas fa-archive', name: locale.NAV.ARCHIVE, href: '/archive', show: siteConfig('GITBOOK_MENU_ARCHIVE', null, CONFIG) }, { icon: 'fas fa-search', name: locale.NAV.SEARCH, href: '/search', show: siteConfig('GITBOOK_MENU_SEARCH', null, CONFIG) } ] let links = defaultLinks.concat(customNav) const toggleMenuOpen = () => { changeShow(!isOpen) } // 若啟用自訂選單則覆寫頁面內建選單 if (siteConfig('CUSTOM_MENU')) { links = customMenu } const enableClerk = process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY return (
) }