import { chakra, Flex, HStack, IconButton, useColorModeValue, useDisclosure, useUpdateEffect, Box } from "@chakra-ui/react" import siteConfig from "configs/site-config" import { useViewportScroll } from "framer-motion" import NextLink from "next/link" import React from "react" import { FaGithub } from "react-icons/fa" import Logo, { LogoIcon } from "src/components/logo" import { MobileNavButton, MobileNavContent } from "./mobile-nav" import AlgoliaSearch from "src/components/search/algolia-search" import { useRouter } from "next/router" import { ReserveUrls } from "src/data/reserve-urls" import Link from "next/link" import DarkMode from "components/dark-mode" import AccountMenu from "components/user-menu" import { navLinks } from "src/data/links" import { getSvgIcon } from "components/svg-icon" function HeaderContent() { const router = useRouter() const { asPath } = router const mobileNav = useDisclosure() const mobileNavBtnRef = React.useRef() useUpdateEffect(() => { mobileNavBtnRef.current?.focus() }, [mobileNav.isOpen]) return ( <> {navLinks.map(link => {link.title})} {/* */} } /> {/* */} {/* */} ) } function Header(props) { const ref = React.useRef() const [y, setY] = React.useState(0) const { height = 0 } = ref.current?.getBoundingClientRect() ?? {} const { scrollY } = useViewportScroll() React.useEffect(() => { return scrollY.onChange(() => setY(scrollY.get())) }, [scrollY]) return ( height ? "sm" : undefined} transition="box-shadow 0.2s" pos="fixed" top="0" zIndex="3" left="0" right="0" width="full" bg={useColorModeValue('white', 'gray.800')} {...props} > ) } export default Header