File tree Expand file tree Collapse file tree 2 files changed +38
-1
lines changed Expand file tree Collapse file tree 2 files changed +38
-1
lines changed Original file line number Diff line number Diff line change
1
+ import { useState } from 'react'
2
+
3
+ const HamburgerMenu = ( ) => {
4
+ const [ isOpen , setIsOpen ] = useState ( false )
5
+ const genericHamburgerLine = `h-1 w-6 my-0.5 rounded-full bg-black transition ease transform duration-300`
6
+
7
+ return (
8
+ < button
9
+ className = "flex flex-col h-10 w-10 rounded justify-center items-center group"
10
+ onClick = { ( ) => setIsOpen ( ! isOpen ) }
11
+ >
12
+ < div
13
+ className = { `${ genericHamburgerLine } ${
14
+ isOpen
15
+ ? 'rotate-45 translate-y-2 opacity-50 group-hover:opacity-100'
16
+ : 'opacity-50 group-hover:opacity-100'
17
+ } `}
18
+ />
19
+ < div
20
+ className = { `${ genericHamburgerLine } ${
21
+ isOpen ? 'opacity-0' : 'opacity-50 group-hover:opacity-100'
22
+ } `}
23
+ />
24
+ < div
25
+ className = { `${ genericHamburgerLine } ${
26
+ isOpen
27
+ ? '-rotate-45 -translate-y-2 opacity-50 group-hover:opacity-100'
28
+ : 'opacity-50 group-hover:opacity-100'
29
+ } `}
30
+ />
31
+ </ button >
32
+ )
33
+ }
34
+
35
+ export default HamburgerMenu
Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ import Link from 'next/link'
3
3
import { useRouter } from 'next/router'
4
4
import React from 'react'
5
5
import Button from '../Button'
6
+ import HamburgerMenu from './HamburgerButton'
6
7
const ThemeButton = dynamic ( ( ) => import ( './ThemeButton' ) , {
7
8
ssr : false ,
8
9
} )
@@ -18,7 +19,7 @@ export default function Navbar() {
18
19
< div className = "logo w-10 h-10" > </ div >
19
20
</ a >
20
21
</ Link >
21
- < div className = "space-x-4" >
22
+ < div className = "space-x-4 flex " >
22
23
< ThemeButton />
23
24
{ pathname !== '/story' && (
24
25
< Button >
@@ -27,6 +28,7 @@ export default function Navbar() {
27
28
</ Link >
28
29
</ Button >
29
30
) }
31
+ < HamburgerMenu />
30
32
</ div >
31
33
</ div >
32
34
< style jsx > { `
You can’t perform that action at this time.
0 commit comments