// Hooks import { useState, useEffect } from 'react' // Components import { ThemePicker } from 'shared/components/theme-picker/index.mjs' import { CloseIcon, MenuIcon, SearchIcon } from 'shared/components/icons.mjs' import { Ribbon } from 'shared/components/ribbon.mjs' import { WordMark } from 'shared/components/wordmark.mjs' 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 (
) }