import { useState, useEffect } from 'react' import ThemePicker, { ns as themeNs } from 'shared/components/theme-picker/index.js' import LocalePicker, { ns as localeNs } from 'shared/components/locale-picker/index.js' import CloseIcon from 'shared/components/icons/close.js' import MenuIcon from 'shared/components/icons/menu.js' import SearchIcon from 'shared/components/icons/search.js' import Ribbon from 'shared/components/ribbon.js' import { WordMark } from 'shared/components/wordmark.js' export const ns = [...new Set([...themeNs, ...localeNs])] export const Header = ({ app, setSearch }) => { const [prevScrollPos, setPrevScrollPos] = useState(0) const [show, setShow] = useState(true) useEffect(() => { if (typeof window !== 'undefined') { const handleScroll = () => { const curScrollPos = typeof window !== 'undefined' ? window.pageYOffset : 0 if (curScrollPos >= prevScrollPos) { if (show && curScrollPos > 20) setShow(false) } else setShow(true) setPrevScrollPos(curScrollPos) } window.addEventListener('scroll', handleScroll) return () => window.removeEventListener('scroll', handleScroll) } }, [prevScrollPos, show]) return (
) }