All files / src/components/Header Header.jsx

0% Statements 0/10
0% Branches 0/4
0% Functions 0/2
0% Lines 0/10

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 50 51 52 53 54 55                                                                                                             
import React, { PureComponent } from 'react';
import smoothscroll from 'smoothscroll-polyfill';
import ReactGA from 'react-ga';
 
import SunIcon from '../Icons/SunIcon';
import Logo from '../Logo';
 
import styles from './Header.scss';
 
smoothscroll.polyfill();
 
class Header extends PureComponent {
  handleScrollToTarget = (event) => {
    event.preventDefault();
    const target = event.target.getAttribute('href');
 
    document.querySelector(target).scrollIntoView({
      behavior: 'smooth',
    });
 
    const cookiesAccepted = localStorage ? localStorage.getItem('cookiesAccepted') : false;
    if (!cookiesAccepted) {
      return;
    }
    ReactGA.event({
      category: 'Click',
      action: 'Header',
      label: 'Hire Me',
    });
  }
 
  render() {
    return (
      <header
        className={styles.header}
      >
        <section className={styles.cover}>
          <h1 className={styles.cover__title}>
            <a href="/">
              <Logo />
            </a>
          </h1>
          <a href="#footer" onClick={this.handleScrollToTarget} className={styles.hireme}>
            Hire Me
            {' '}
            <SunIcon className={styles.hireme__icon} />
          </a>
        </section>
      </header>
    );
  }
}
 
export default Header;