Header.js 823 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import Link from 'next/link'
  2. import styled from 'styled-components'
  3. import Router from 'next/router'
  4. import NProgress from 'nprogress'
  5. Router.onRouteChangeStart = () => {
  6. NProgress.start()
  7. }
  8. Router.onRouteChangeComplete = () => {
  9. NProgress.done()
  10. }
  11. Router.onRouteChangeError = () => {
  12. NProgress.done()
  13. }
  14. const StyledNav = styled.div`
  15. display: grid;
  16. grid-auto-flow: column;
  17. align-content: end;
  18. `
  19. const Header = props => {
  20. const { user } = props
  21. return (
  22. <StyledNav>
  23. <Link href='/'>
  24. <a>Home</a>
  25. </Link>
  26. <Link href='/interfaces'>
  27. <a>Interfaces</a>
  28. </Link>
  29. <Link href='/characterization'>
  30. <a>Characterization</a>
  31. </Link>
  32. <Link href='/user'>
  33. <a>{user ? user.name : 'User'}</a>
  34. </Link>
  35. </StyledNav>
  36. )
  37. }
  38. export default Header