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(false) const [scroll, setScroll] = useState(false) // the graphiql explorer utilizes `?query=` in the url and we don't want our search bar to mess that up const updateSearchParams = router.asPath !== 'graphql/overview/explorer' useEffect(() => { function onScroll() { setScroll(window.scrollY > 10) } window.addEventListener('scroll', onScroll) return () => { window.removeEventListener('scroll', onScroll) } }, []) return (