Skip to content

Commit 81c528d

Browse files
committed
add cart and wishlist state management
1 parent 8a91206 commit 81c528d

1 file changed

Lines changed: 7 additions & 10 deletions

File tree

frontend/src/App.jsx

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ function App() {
1515
const [cartItems, setCartItems] = useState([]);
1616
const [wishlistItems, setWishlistItems] = useState([]);
1717
const [sortOption, setSortOption] = useState('recommended');
18+
const [activeNav, setActiveNav] = useState('MEN');
19+
const [sneakersView, setSneakersView] = useState(false);
1820

1921
const toggleFilter = (item, type) => {
2022
if (type === 'category') {
@@ -28,14 +30,10 @@ function App() {
2830
}
2931
};
3032

31-
const [activeNav, setActiveNav] = useState('MEN');
32-
33-
const [sneakersView, setSneakersView] = useState(false);
34-
3533
const handleNavigate = (destination) => {
3634
setSelectedProduct(null);
37-
setSelectedThemes([]);
3835
setSelectedCategories([]);
36+
setSelectedThemes([]);
3937
if (destination === 'SNEAKERS') {
4038
setSneakersView(true);
4139
} else {
@@ -160,15 +158,14 @@ function App() {
160158
wishlistItems={wishlistItems}
161159
onRemoveFromCart={removeFromCart}
162160
onToggleWishlist={toggleWishlist}
163-
onSwitchOverlay={setActiveOverlay}
164161
/>
165162
)}
166163
</AnimatePresence>
167164
</div>
168165
)
169166
}
170167

171-
const Overlay = ({ type, onClose, cartItems, wishlistItems, onRemoveFromCart, onToggleWishlist, onSwitchOverlay }) => {
168+
const Overlay = ({ type, onClose, cartItems, wishlistItems, onRemoveFromCart, onToggleWishlist }) => {
172169
const [isSignUp, setIsSignUp] = useState(false);
173170
const isDrawer = type === 'cart' || type === 'wishlist';
174171
const cartTotal = cartItems.reduce((sum, i) => sum + i.price * i.qty, 0);
@@ -213,7 +210,7 @@ const Overlay = ({ type, onClose, cartItems, wishlistItems, onRemoveFromCart, on
213210
<p className="cart-item-name">{item.name}</p>
214211
<p className="cart-item-size">Size: UK {item.size}</p>
215212
<p className="cart-item-qty">Qty: {item.qty}</p>
216-
<p className="cart-item-price">{item.price * item.qty}</p>
213+
<p className="cart-item-price">{(item.price * item.qty).toLocaleString('en-IN')}</p>
217214
</div>
218215
<button className="remove-btn" onClick={() => onRemoveFromCart(item.id, item.size)}>
219216
<Trash2 size={16} />
@@ -222,7 +219,7 @@ const Overlay = ({ type, onClose, cartItems, wishlistItems, onRemoveFromCart, on
222219
))}
223220
<div className="cart-total">
224221
<span>Total</span>
225-
<span>{cartTotal}</span>
222+
<span>{cartTotal.toLocaleString('en-IN')}</span>
226223
</div>
227224
<button className="btn-primary checkout-btn">PROCEED TO CHECKOUT</button>
228225
</div>
@@ -241,7 +238,7 @@ const Overlay = ({ type, onClose, cartItems, wishlistItems, onRemoveFromCart, on
241238
<img src={item.image} alt={item.name} />
242239
<div className="cart-item-info">
243240
<p className="cart-item-name">{item.name}</p>
244-
<p className="cart-item-price">{item.price}</p>
241+
<p className="cart-item-price">{item.price.toLocaleString('en-IN')}</p>
245242
</div>
246243
<button className="remove-btn" onClick={() => onToggleWishlist(item)}>
247244
<Trash2 size={16} />

0 commit comments

Comments
 (0)