From 68b8193f0423e05ad47268da31bd3b7f806ce4b1 Mon Sep 17 00:00:00 2001 From: Nisar Hassan Naqvi Date: Sun, 17 May 2020 21:13:33 +0000 Subject: [PATCH] Nav: small fixes. Signed-off-by: Nisar Hassan Naqvi --- src/components/Nav.js | 143 +++++++++++++++++++++++++---------------- src/utils/variables.js | 6 +- 2 files changed, 91 insertions(+), 58 deletions(-) diff --git a/src/components/Nav.js b/src/components/Nav.js index e77d702f..12e5f9c6 100644 --- a/src/components/Nav.js +++ b/src/components/Nav.js @@ -1,6 +1,7 @@ -import React from 'react' +import React, { useState, useEffect } from 'react' import { Link } from 'gatsby' import styled from '@emotion/styled' + import { Global, css } from '@emotion/core' import { breakpoints, colors } from '../utils/variables' import Hamburger from '../resources/hamburger.svg' import Multiply from '../resources/multiply.svg' @@ -12,6 +13,10 @@ const StyledNav = styled.div` top: 0; left: 0; right: 0; + + .white { + background: #fff; + } } .nav { @@ -23,15 +28,6 @@ const StyledNav = styled.div` @media(max-width: ${breakpoints.xmd}) { flex-direction: column; padding-top: 0; - - .navIsRendered { - display: flex; - } - - .navIsNotRendered { - display: none; - } - &__header { display: flex; justify-content: space-between; @@ -77,6 +73,10 @@ const StyledNav = styled.div` width: 100%; z-index: 1000; + @media(min-width: ${breakpoints.xmd}) { + padding-top: 2.5rem; + } + @media(max-width: ${breakpoints.xmd}) { height: 95vh; flex-direction: column; @@ -142,60 +142,93 @@ const StyledNav = styled.div` .active { color: ${colors.blue}; } + + @media(max-width: ${breakpoints.xmd}) { + .shown { + display: flex; + } + + .hidden { + display: none; + } + } ` -class Nav extends React.Component { +const Nav = ({ shouldRenderLogo }) => { + const [isNavRendered, setIsNavRendered] = useState(false) - state = { - isNavRendered: false, + const unLock = () => { + if(window.innerWidth <= '700') { + setIsNavRendered(false) + } } - toggleNavigation = () => { - this.setState({ isNavRendered: !this.state.isNavRendered }) + useEffect(() => { + window.addEventListener('resize', unLock) + + return () => { + window.removeEventListener('resize', unLock) + } + }) + + const toggleNavigation = () => { + setIsNavRendered(!isNavRendered) } - render() { - const { shouldRenderLogo } = this.props - return ( - - + + ) } export default Nav diff --git a/src/utils/variables.js b/src/utils/variables.js index dd30912e..6a988e21 100644 --- a/src/utils/variables.js +++ b/src/utils/variables.js @@ -13,7 +13,7 @@ export const grid = { } export const breakpoints = { - sm: '34rem', - xmd: '50rem', - md: '70rem', + sm: '340px', + xmd: '500px', + md: '700px', } \ No newline at end of file