import { Box, Flex, Avatar, Button, Menu, MenuButton, MenuList, MenuItem, MenuDivider, useColorModeValue, Stack, useColorMode, SimpleGrid, } from '@chakra-ui/react' import Link from 'next/link' import { MoonIcon, SunIcon } from '@chakra-ui/icons' import Router from 'next/router' import { useDispatch, useSelector } from 'react-redux' import { logout, selectAuthUser } from '../store/authSlice' import Image from 'next/image' import { useEffect } from 'react' import { authService } from '../services/authService' export default function Navbar() { const dispatch = useDispatch() const { colorMode, toggleColorMode } = useColorMode() const authUser = useSelector(selectAuthUser) useEffect(() => { const timout = setTimeout(async () => { if (authUser) { authService .whoAmI() .catch((e) => { if (e.response?.status === 401) { dispatch(logout()) } }) .then((res) => {}) } }, 5000) return () => clearTimeout(timout) }, [authUser, dispatch]) return ( <> {'Hero TextBee Support {/* Github */} {!authUser && ( Login Register )} {authUser && ( {authUser?.name} { Router.push('/dashboard') }} > Dashboard { dispatch(logout()) }} > Logout )} ) }