All files / src/components/Header HeaderLarge.js

77.78% Statements 7/9
100% Branches 0/0
75% Functions 3/4
77.78% Lines 7/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49                  61x 1186x 1186x   1186x         1186x             4744x     7116x                                        
import React, { useState } from 'react';
import { Link } from 'react-router-dom';
import NavLink from './NavLink';
import NavSublink from './NavSublink';
import SearchContainer from './SearchContainer';
import useStyles from './styles';
 
import { navigation, findSubNavParent } from '../../navigation';
 
const HeaderLarge = () => {
  const classes = useStyles();
  const [matchPathParent, setMatchPathParent] = useState(null);
 
  const handleMatchPath = (route) => {
    const parent = findSubNavParent(route);
    setMatchPathParent(parent);
  };
 
  return (
    <nav className={classes.nav}>
      <Link to='/home'>
        <img className={classes.logo} src='/images/cti-logo.svg' alt='civic logo' />
      </Link>
      <div className={classes.flexContainer}>
        {navigation.map((nav) => {
          return (
            <NavLink key={nav.id} header={nav.header} route={nav.route} matchPathParent={matchPathParent}>
              {nav.subNavigation.map((subNav) => {
                return (
                  <NavSublink
                    key={subNav.id}
                    header={subNav.header}
                    route={subNav.route}
                    onMatchPath={handleMatchPath}
                    isExternal={subNav.isExternal}
                  />
                );
              })}
            </NavLink>
          );
        })}
        <SearchContainer />
      </div>
    </nav>
  );
};
 
export default HeaderLarge;