import { chakra, Flex, Box, HStack, Icon, IconButton, Link, useColorMode, useColorModeValue, useDisclosure, useUpdateEffect, Menu, MenuButton, MenuList, MenuItem, MenuDivider, Image } 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 { FaMoon, FaSun, FaUserAlt, FaRegSun, FaSignOutAlt, FaRegBookmark, FaChartBar, FaHome } 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" const DiscordIcon = (props) => ( ) const GithubIcon = (props) => ( ) function HeaderContent() { const mobileNav = useDisclosure() const { toggleColorMode: toggleMode } = useColorMode() const text = useColorModeValue("dark", "light") const SwitchIcon = useColorModeValue(FaMoon, FaSun) const mobileNavBtnRef = React.useRef() useUpdateEffect(() => { mobileNavBtnRef.current?.focus() }, [mobileNav.isOpen]) return ( <> Home Tags } /> } aria-label="Options" ml={{ base: "0", md: "2" }} /> Fluffybuns the destroyer Sunface }>Dashboard }>Bookmarks }>Account Settings }>Log out ) } function Header(props) { const bg = useColorModeValue("white", "gray.800") 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" bg={bg} left="0" right="0" borderTop="4px solid" borderTopColor="teal.400" width="full" {...props} > ) } export default Header