Skip to content

Commit 0b0a19f

Browse files
authored
Merge pull request #250 from rmbarley/mobile-menu
Fix regressions from mobile menu merge
2 parents 9420883 + 811029b commit 0b0a19f

File tree

2 files changed

+51
-11
lines changed

2 files changed

+51
-11
lines changed

src/components/Header/MainHeader.jsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,8 @@ export default function Header() {
150150
mobileOpen={mobileOpen}
151151
setMobileOpen={setMobileOpen}
152152
mobileMenuRef={mobileMenuRef}
153+
setCartOpen={setCartOpen}
154+
setWishListOpen={setWishListOpen}
153155
/>
154156

155157
{/* Search Drawer */}

src/components/Header/MobileMenu.jsx

Lines changed: 49 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,22 @@
11
import { useState, useRef } from 'react';
2-
import { Link } from 'react-router-dom';
3-
import { X } from 'lucide-react';
2+
import { Link, useNavigate } from 'react-router-dom';
3+
import { X, Heart, User } from 'lucide-react';
4+
import { useSelector } from 'react-redux';
45
import MobileShopMenu from './MobileShopMenu';
6+
import CartIcon from '../CartComponent/CartIcon';
57

6-
const MobileMenu = ({ mobileOpen, setMobileOpen, mobileMenuRef }) => {
8+
const MobileMenu = ({
9+
mobileOpen,
10+
setMobileOpen,
11+
mobileMenuRef,
12+
setCartOpen,
13+
setWishListOpen,
14+
}) => {
715
const [isInShopNavigation, setIsInShopNavigation] = useState(false);
816
const shopMenuRef = useRef(null);
17+
const navigate = useNavigate();
18+
const isAuthenticated = useSelector((state) => state.auth.isAuthenticated);
19+
const wishListData = useSelector((state) => state.wishList);
920

1021
const handleCloseMenu = () => {
1122
setMobileOpen(false);
@@ -85,20 +96,47 @@ const MobileMenu = ({ mobileOpen, setMobileOpen, mobileMenuRef }) => {
8596
{/* Mobile Menu Icons */}
8697
<div className="px-6 py-4 border-t border-gray-200">
8798
<div className="flex flex-col space-y-4">
88-
<Link
89-
to="/wishlist"
99+
<button
90100
className="flex items-center space-x-2 text-gray-700 hover:text-black cursor-pointer"
91-
onClick={handleCloseMenu}
101+
onClick={() => {
102+
handleCloseMenu();
103+
setWishListOpen(true);
104+
}}
92105
>
106+
<div className="relative">
107+
<Heart className="h-5 w-5" />
108+
{wishListData?.items?.length > 0 && (
109+
<span className="absolute -top-2 -right-2 bg-red-500 text-white text-xs font-bold rounded-full h-4 w-4 flex items-center justify-center">
110+
{wishListData?.items?.length}
111+
</span>
112+
)}
113+
</div>
93114
<span>Wishlist</span>
94-
</Link>
95-
<Link
96-
to="/account"
115+
</button>
116+
<button
97117
className="flex items-center space-x-2 text-gray-700 hover:text-black cursor-pointer"
98-
onClick={handleCloseMenu}
118+
onClick={() => {
119+
handleCloseMenu();
120+
if (!isAuthenticated) {
121+
navigate('/login');
122+
} else {
123+
navigate('/profile');
124+
}
125+
}}
99126
>
127+
<User className="h-5 w-5" />
100128
<span>Account</span>
101-
</Link>
129+
</button>
130+
<button
131+
className="flex items-center space-x-2 text-gray-700 hover:text-black cursor-pointer"
132+
onClick={() => {
133+
handleCloseMenu();
134+
setCartOpen(true);
135+
}}
136+
>
137+
<CartIcon />
138+
<span>Cart</span>
139+
</button>
102140
</div>
103141
</div>
104142
</div>

0 commit comments

Comments
 (0)