1
1
import Link from 'next/link' ;
2
- import { useEffect , useState } from 'react' ;
2
+ import { useState } from 'react' ;
3
3
import styles from '../styles/Nav.module.scss' ;
4
- import { headerNavLinks } from '../utils/links' ;
5
4
import Image from 'next/image' ;
5
+ import ButtonLink from './ButtonLink' ;
6
+ import buttonStyles from '../styles/ButtonLink.module.scss' ;
6
7
7
8
export default function Nav ( ) {
8
- const [ active , setActive ] = useState ( false ) ;
9
-
10
- //This function fixes the Navlinks position if the hamburger menu is left open while resizing the window
11
- useEffect ( ( ) => {
12
- function setTrueSize ( ) {
13
- if ( window . innerWidth >= 768 ) setActive ( false ) ;
14
- }
15
- window . addEventListener ( 'resize' , setTrueSize ) ;
16
-
17
- return ( ) => window . removeEventListener ( 'resize' , setTrueSize ) ;
18
- } ) ;
19
-
20
- const toggleActive = ( ) => {
21
- setActive ( active => ! active ) ;
22
- } ;
9
+ const [ active , setActive ] = useState ( true ) ;
23
10
24
11
return (
25
12
< header className = { styles . header } >
26
- < div className = { ` ${ styles . navContainer } ${ styles . row } ` } >
27
- < div className = { styles . align } >
13
+ < nav className = { styles . nav } >
14
+ < div className = { styles . nav__logo } >
28
15
< Link href = "/" passHref >
29
16
< a >
30
17
< Image
@@ -35,28 +22,52 @@ export default function Nav() {
35
22
/>
36
23
</ a >
37
24
</ Link >
38
- < button
39
- className = { styles . navToggle }
40
- aria-label = "open navigation"
41
- onClick = { toggleActive }
42
- >
43
- < span className = { styles . hamburger } />
44
- </ button >
45
25
</ div >
46
- < nav className = { `${ active ? styles . navVisible : styles . nav } ` } >
47
- < ul className = { styles . navList } >
48
- { headerNavLinks . map ( link => (
49
- < li className = { styles . navItem } key = { link . href } >
50
- < Link href = { link . href } >
51
- < a className = { styles . navLink } title = { link . text } >
52
- { link . text }
53
- </ a >
54
- </ Link >
55
- </ li >
56
- ) ) }
57
- </ ul >
58
- </ nav >
59
- </ div >
26
+ < ul className = { `${ styles . nav__links } ${ active ? styles . active : '' } ` } >
27
+ < li className = { styles . nav__item } >
28
+ < Link href = "/about-us" >
29
+ < a className = { styles . nav__link } title = "About" >
30
+ About
31
+ </ a >
32
+ </ Link >
33
+ </ li >
34
+ < li className = { styles . nav__item } >
35
+ < Link href = "/blog" >
36
+ < a className = { styles . nav__link } title = "Blog" >
37
+ Blog
38
+ </ a >
39
+ </ Link >
40
+ </ li >
41
+ < li className = { styles . nav__item } >
42
+ < Link href = "/contact-us" >
43
+ < a className = { styles . nav__link } title = "Contact" >
44
+ Contact
45
+ </ a >
46
+ </ Link >
47
+ </ li >
48
+ < li className = { styles . nav__item } >
49
+ < ButtonLink
50
+ styles = { {
51
+ color : 'black' ,
52
+ backgroundColor : 'white' ,
53
+ minWidth : '9rem' ,
54
+ } }
55
+ className = { buttonStyles . btn }
56
+ link = "https://webdevpath.slack.com/join/shared_invite/zt-xqqgwwo5-a09BSVWC9ZrHmS6RaMBzVw#/shared-invite/email"
57
+ >
58
+ Join us
59
+ </ ButtonLink >
60
+ </ li >
61
+ </ ul >
62
+ < div
63
+ className = { `${ styles . nav__hamburger } ${ active ? styles . active : '' } ` }
64
+ onClick = { ( ) => setActive ( active => ! active ) }
65
+ >
66
+ < span className = { styles . nav__hamburger__bar } > </ span >
67
+ < span className = { styles . nav__hamburger__bar } > </ span >
68
+ < span className = { styles . nav__hamburger__bar } > </ span >
69
+ </ div >
70
+ </ nav >
60
71
</ header >
61
72
) ;
62
73
}
0 commit comments