import React, { useState, useEffect, useContext } from 'react' import { Link, useNavigate, useLocation } from 'react-router-dom' import { Box, AppBar, Toolbar, Tabs, Tab, Button, Menu, MenuItem, IconButton, Typography } from '@mui/material' import { OpenInNew, Settings, Menu as MenuIcon } from '@mui/icons-material' import Username from './username' import { AppContext } from '../context/appContext' const NODE_ENV = process.env.NODE_ENV const PORT_API = process.env.PORT_API const baseUrl = NODE_ENV === 'development' ? `http://localhost:${PORT_API ?? 5000}` : '' const validTabs = ['/', '/SASjsDrive', '/SASjsStudio'] const Header = (props: any) => { const navigate = useNavigate() const { pathname } = useLocation() const appContext = useContext(AppContext) const [tabValue, setTabValue] = useState( validTabs.includes(pathname) ? pathname : '/' ) const [anchorElNav, setAnchorElNav] = React.useState(null) const [anchorElUser, setAnchorElUser] = React.useState( null ) const handleOpenNavMenu = (event: React.MouseEvent) => { setAnchorElNav(event.currentTarget) } const handleOpenUserMenu = (event: React.MouseEvent) => { setAnchorElUser(event.currentTarget) } const handleCloseNavMenu = () => { setAnchorElNav(null) } const handleCloseUserMenu = () => { setAnchorElUser(null) } useEffect(() => { setTabValue(validTabs.includes(pathname) ? pathname : '/') }, [pathname]) const handleTabChange = (event: React.SyntheticEvent, value: string) => { setTabValue(value) } const handleLogout = () => { if (appContext.logout) { handleCloseUserMenu() appContext.logout() } } return ( theme.zIndex.drawer + 1 }} > logo { setTabValue('/') navigate('/') }} /> logo { setTabValue('/') navigate('/') }} />
{appContext.loggedIn && ( {appContext.displayName || appContext.username} )} {appContext.loggedIn && ( )}
) } export default Header