import { useEffect, useState } from 'react' import cx from 'classnames' import { useRouter } from 'next/router' import { MarkGithubIcon, ThreeBarsIcon, XIcon } from '@primer/octicons-react' import { Link } from 'components/Link' import { useMainContext } from 'components/context/MainContext' import { LanguagePicker } from './LanguagePicker' import { HeaderNotifications } from 'components/page-header/HeaderNotifications' import { ProductPicker } from 'components/page-header/ProductPicker' import { useTranslation } from 'components/hooks/useTranslation' import { Search } from 'components/Search' import { VersionPicker } from 'components/page-header/VersionPicker' import { Breadcrumbs } from './Breadcrumbs' import styles from './Header.module.scss' export const Header = () => { const router = useRouter() const { relativePath, error } = useMainContext() const { t } = useTranslation(['header', 'homepage']) const [isMenuOpen, setIsMenuOpen] = useState( router.pathname !== '/' && router.query.query && true ) const [scroll, setScroll] = useState(false) useEffect(() => { function onScroll() { setScroll(window.scrollY > 10) } window.addEventListener('scroll', onScroll) return () => { window.removeEventListener('scroll', onScroll) } }, []) useEffect(() => { const close = (e: { key: string }) => { if (e.key === 'Escape') { setIsMenuOpen(false) } } window.addEventListener('keydown', close) return () => window.removeEventListener('keydown', close) }, []) return (
{error !== '404' && }
{/* desktop header */}
{/* */} {relativePath !== 'index.md' && error !== '404' && (
)}
{/* mobile header */}
{/* mobile menu contents */}
{/* */} {relativePath !== 'index.md' && error !== '404' && (
)}
{/* Adding Portal Root here for DropdownMenu and ActionList Search Results */}
) }