1
1
import Head from 'next/head' ;
2
2
import Link from 'next/link' ;
3
- import { useState } from 'react' ;
3
+ import { useContext , useState } from 'react' ;
4
4
import { isEmpty } from 'lodash' ;
5
5
6
6
import { BurgerIcon , TailwindIcon , Bag , User , Wishlist } from '../../icons' ;
7
+ import { AppContext } from '../../context' ;
7
8
8
9
const Header = ( { header } ) => {
9
10
11
+ const [ cart , setCart ] = useContext ( AppContext ) ;
10
12
const { headerMenuItems, siteDescription, siteLogoUrl, siteTitle, favicon } = header || { } ;
11
13
12
14
const [ isMenuVisible , setMenuVisibility ] = useState ( false ) ;
@@ -41,12 +43,13 @@ const Header = ( { header } ) => {
41
43
</ div >
42
44
< div className = "block lg:hidden" >
43
45
< button
44
- onClick = { ( ) => setMenuVisibility ( ! isMenuVisible ) }
46
+ onClick = { ( ) => setMenuVisibility ( ! isMenuVisible ) }
45
47
className = "flex items-center px-3 py-2 border rounded text-black border-black hover:text-black hover:border-black" >
46
48
< BurgerIcon className = "fill-current h-3 w-3" />
47
49
</ button >
48
50
</ div >
49
- < div className = { `${ isMenuVisible ? 'max-h-full' : 'h-0' } overflow-hidden w-full lg:h-full block flex-grow lg:flex lg:items-center lg:w-auto` } >
51
+ < div
52
+ className = { `${ isMenuVisible ? 'max-h-full' : 'h-0' } overflow-hidden w-full lg:h-full block flex-grow lg:flex lg:items-center lg:w-auto` } >
50
53
< div className = "text-sm font-medium uppercase lg:flex-grow" >
51
54
{ ! isEmpty ( headerMenuItems ) && headerMenuItems . length ? headerMenuItems . map ( menuItem => (
52
55
< Link key = { menuItem ?. ID } href = { menuItem ?. url ?? '/' } >
@@ -70,13 +73,14 @@ const Header = ( { header } ) => {
70
73
Wishlist
71
74
</ span >
72
75
</ a >
73
- < a className = "flex mt-4 lg:inline-block lg:mt-0 text-black hover:text-black mr-10"
74
- href = "/cart/ ">
76
+ < Link href = "/cart" >
77
+ < a className = "flex mt-4 lg:inline-block lg:mt-0 text-black hover:text-black mr-10 ">
75
78
< span className = "flex flex-row items-center lg:flex-col" >
76
79
< Bag className = "mr-1 lg:mr-0" />
77
- Bag
80
+ < span className = "ml-1" > Bag{ cart ?. totalQty ? `( ${ cart ?. totalQty } )` : null } </ span >
78
81
</ span >
79
- </ a >
82
+ </ a >
83
+ </ Link >
80
84
</ div >
81
85
</ div >
82
86
</ div >
0 commit comments