|
1 |
| -import React from "react"; |
| 1 | +import React, { useState } from "react"; |
2 | 2 | import { selectUser } from "../../redux/userSlice";
|
3 | 3 | import { useSelector } from "react-redux";
|
4 | 4 | import RouterLink from "../link/RouterLink";
|
@@ -11,35 +11,87 @@ import { InputGroup, FormControl, Form } from "react-bootstrap";
|
11 | 11 | import { auth } from "../../firebase.utils";
|
12 | 12 | import { selectCartItemsCount } from "../../redux/cartSelector";
|
13 | 13 | import { useNavigate } from "react-router-dom";
|
| 14 | +import { Drawer,Divider} from "antd"; |
| 15 | + |
| 16 | + |
14 | 17 |
|
15 | 18 | const Header = () => {
|
| 19 | +const [showMenu, setShowMenu] = useState(false); |
16 | 20 | const user = useSelector(selectUser);
|
17 | 21 | const cartCount = useSelector((state) => selectCartItemsCount(state));
|
18 | 22 |
|
| 23 | + |
19 | 24 | const navigate = useNavigate();
|
20 | 25 |
|
| 26 | + |
21 | 27 | const signOut = () => {
|
22 | 28 | if (user) auth.signOut();
|
23 | 29 | };
|
24 | 30 |
|
25 | 31 | const handleSearch = (e) => {
|
26 |
| -e.preventDefault(); |
27 |
| -navigate("/shop"); |
| 32 | +e.preventDefault(); |
| 33 | +navigate("/shop"); |
28 | 34 | };
|
29 | 35 | return (
|
30 | 36 | <>
|
| 37 | +<Drawer |
| 38 | +title={`Hello, ${user ? user.name : "Sign In"}`} |
| 39 | +headerStyle={{ backgroundColor: "#232F3E", color: "#fff" }} |
| 40 | +width={360} |
| 41 | +placement="left" |
| 42 | +onClose={() => setShowMenu(false)} |
| 43 | +visible={showMenu} |
| 44 | +footer={ |
| 45 | +<div className="menuFooter"> |
| 46 | +<p>Help & Settings</p> |
| 47 | +<p>Account</p> |
| 48 | +<p>Customer Service</p> |
| 49 | +<p>Sign Out</p> |
| 50 | +</div> |
| 51 | +} |
| 52 | +> |
| 53 | +<div className="menu__body"> |
| 54 | +<p className='menu__body__title'>Treading</p> |
| 55 | +<p>Best Sellers</p> |
| 56 | +<p>New Releases</p> |
| 57 | +<p>Movers and Shakers</p> |
| 58 | +<Divider/> |
| 59 | + |
| 60 | +<p className='menu__body__title'>Digital Content And Devices</p> |
| 61 | +<p>Amazon Fire TV</p> |
| 62 | +<p> Video</p> |
| 63 | +<p>Amazon Music</p> |
| 64 | +<p>Audible Audiobooks</p> |
| 65 | + |
| 66 | +<Divider /> |
| 67 | +<p className='menu__body__title'>Shop By Department</p> |
| 68 | +<p>Books</p> |
| 69 | +<p>Music, Movies & Games</p> |
| 70 | +<p>Computers</p> |
| 71 | +<p>Electronics</p> |
| 72 | +<p>Home</p> |
| 73 | +<p>Baby</p> |
| 74 | +<p>Toys & Game</p> |
| 75 | +<p>Women's Clothing</p> |
| 76 | +<p>Men's Clothing</p> |
| 77 | +<p>Shoes</p> |
| 78 | + |
| 79 | +</div> |
| 80 | +</Drawer> |
| 81 | + |
31 | 82 | <div className="header">
|
32 | 83 | <div className="header__menu">
|
33 |
| -<RouterLink to="/shop"> |
34 |
| -<Menu className="header__menu__icon" /> |
35 |
| -</RouterLink> |
| 84 | +<Menu |
| 85 | +onClick={() => setShowMenu(true)} |
| 86 | +className="header__menu__icon" |
| 87 | +/> |
36 | 88 | </div>
|
37 | 89 | <RouterLink to="/">
|
38 | 90 | <div className="header__logo">
|
39 | 91 | <img src={logo} alt="logo" />
|
40 | 92 | </div>
|
41 | 93 | </RouterLink>
|
42 |
| -<div className="header__search"> |
| 94 | +<div className="header__search"> |
43 | 95 | <Form>
|
44 | 96 | <InputGroup>
|
45 | 97 | <InputGroup.Prepend>
|
@@ -69,9 +121,11 @@ const Header = () => {
|
69 | 121 | </div>
|
70 | 122 | </RouterLink>
|
71 | 123 | <RouterLink to="/orders">
|
72 |
| -<div className="header__nav__option"> |
| 124 | +<div className="header__nav__option"> |
73 | 125 | <span>returns</span>
|
74 |
| -<span>&orders</span> |
| 126 | + |
| 127 | + |
| 128 | +<span>&orders</span> |
75 | 129 | </div>
|
76 | 130 | </RouterLink>
|
77 | 131 | <RouterLink to="/checkout">
|
@@ -94,6 +148,8 @@ const Header = () => {
|
94 | 148 | <div className="sub-header__link">
|
95 | 149 | <span>Today's Deals</span>
|
96 | 150 | <span>Customer Service</span>
|
| 151 | + |
| 152 | + |
97 | 153 | <span>Gift Cards</span>
|
98 | 154 | <span>Registry</span>
|
99 | 155 | <span>Sell</span>
|
|
0 commit comments