import { React, useState, useContext } from 'react'; import { Navbar, NavbarBrand, Collapse, Nav, NavbarToggler, NavItem } from 'reactstrap'; import { Link, useLocation } from 'react-router-dom'; import logo from '../logo.png'; import './Navigation.css'; import AuthContext from '../Contexts/AuthContext'; const menuItems = [ 'Home', // 'About', ]; const loggedInMenuItems = [ 'Home', 'My Profile', // 'Docs', ] const isMobile = () => { return (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) }; const Navigation = () => { const location = useLocation(); // Lovely hack to highlight the current page (: let active = "home" if (location && location.pathname && location.pathname.length > 1) { active = location.pathname.replace(/\//, ""); } let activeStyle = { color: '#FFFFFF' }; let { user, Logout } = useContext(AuthContext); let [collapsed, setCollapsed] = useState(true); const toggleCollapsed = () => { setCollapsed(!collapsed) } const renderMobileNav = () => { return logo GoScrobble {user ? : } } const renderDesktopNav = () => { return logo GoScrobble {user ?
{loggedInMenuItems.map(menuItem => {menuItem} )}
:
{menuItems.map(menuItem => {menuItem} )}
} {user ?
Settings {user.admin && Admin} Logout
:
Login Register
}
} return (
{ isMobile() ? renderMobileNav() : renderDesktopNav() }
); } export default Navigation;