import { NavLink } from 'react-router-dom'; import { ListItem, ListItemText, ListItemIcon, Container, Drawer, List, Theme, Hidden, Button, } from '@material-ui/core'; import { makeStyles, createStyles } from '@material-ui/core/styles'; import efWhiteLogo from '../../../assets/logos/ef-registered-wht.svg'; import CloseIcon from '@material-ui/icons/Close'; import { NAV_OPTIONS_DATA, drawerWidth, themeBlack, darkOrange } from '../../../Constants/Constants'; import { useRouteMatch } from 'react-router-dom'; import { scrollToTop } from '../../../Utils/formFunctionHelpers'; const useStyles = makeStyles((theme: Theme) => createStyles({ drawer: { [theme.breakpoints.up('md')]: { width: drawerWidth, flexShrink: 0, }, }, drawerPaper: { backgroundColor: themeBlack, }, navOptions: { '&:hover': { textDecoration: 'none', }, }, navItems: { height: 55, borderLeft: `rgba(0,0,0,0) 5px solid`, }, navItemsActive: { height: 55, borderLeft: `${darkOrange} 5px solid`, }, navIcons: { color: '#A5A4BF', }, navIconsActive: { color: darkOrange, }, navText: { color: '#FFF', }, efLogoCtn: { height: 70, display: 'flex', justifyContent: 'center', }, efLogo: { width: 175, }, closeBtn: { position: 'fixed', top: theme.spacing(1.5), right: theme.spacing(2), }, closeIcon: { color: 'white', fontSize: 30, }, }) ); interface NavOptionProps { path: string; icon: JSX.Element; type: string | undefined; name: string; handleDrawerToggle: (() => void) | null; } interface LeftNavBarProps { mobileOpen: boolean; handleDrawerToggle: () => void; } const NavOption: React.FC = ({ path, icon, type, name, handleDrawerToggle }) => { const classes = useStyles(); const isActive = useRouteMatch(path); if (type === 'submenu') { // This means it is a sub nav of /dashboard return ( handleDrawerToggle && handleDrawerToggle()} key={path} > {icon} ); } else { return ( { handleDrawerToggle && handleDrawerToggle(); scrollToTop(); }} > {icon} ); } }; const LeftNavBar: React.FC = ({ mobileOpen, handleDrawerToggle }) => { const classes = useStyles(); const renderNavOptions = (isHambergerMenu: boolean) => NAV_OPTIONS_DATA.map((item) => ( )); return ( <> Eclipse Foundation logo {renderNavOptions(true)} Eclipse Foundation logo {renderNavOptions(false)} ); }; export default LeftNavBar;