import { chakra, Flex, HStack, IconButton, useColorModeValue, useDisclosure, useUpdateEffect, Box, VStack, useMediaQuery, Text } from "@chakra-ui/react" import siteConfig from "configs/site-config" import NextLink from "next/link" import React, { useEffect, useState } from "react" import { FaBell, FaGithub, FaSearch } 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 { getSvgIcon } from "components/svg-icon" import { navLinks } from "src/data/links" import { requestApi } from "utils/axios/request" import Notification from "components/notification" function HeaderContent() { const router = useRouter() const { asPath } = router const mobileNav = useDisclosure() const [navs,setNavs] = useState(navLinks) useEffect(() => { requestApi.get("/navbars").then(res => { const nvs = [] res.data.forEach(nv => nvs.push({ title: nv.label, url: nv.value })) setNavs(nvs) }) },[]) const mobileNavBtnRef = React.useRef() const [isLargerThan768] = useMediaQuery("(min-width: 768px)") useUpdateEffect(() => { mobileNavBtnRef.current?.focus() }, [mobileNav.isOpen]) const isActive = url => { if (url === '/') { return asPath === url } return asPath.startsWith(url) } return ( <> {isLargerThan768 ? : } {navs.map(link => {/* {link.icon} */} {link.title} )} } /> {/* */} {/* */} ) } function VerticalNav(props) { const ref = React.useRef() return ( ) } export default VerticalNav