Skip to content

Commit 52e5d09

Browse files
added a selector to render amount of items selected on the cart icon
1 parent 9344760 commit 52e5d09

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/components/cart-icon/Cart-icon.jsx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ import { toggleCartHidden } from '../../redux/cart/cart.actions'
66
import './cart-icon.styles.scss'
77
import { ReactComponent as ShoppingIcon } from '../../assets/shopping-bag.svg'
88

9-
function CartIcon({ toggleCartHidden }) {
9+
function CartIcon({ toggleCartHidden, itemCount }) {
1010
return (
1111
<div className="cart-icon" onClick={toggleCartHidden}>
1212
<ShoppingIcon className="shopping-icon" />
13-
<span className="item-count">0</span>
13+
<span className="item-count">{itemCount}</span>
1414
</div>
1515
)
1616
}
@@ -19,4 +19,9 @@ const mapDispatchToProps = dispatch => ({
1919
toggleCartHidden: () => dispatch(toggleCartHidden())
2020
})
2121

22-
export default connect(null, mapDispatchToProps)(CartIcon)
22+
23+
const mapStateToProps = ({ cart: { cartItems } }) => ({
24+
itemCount: cartItems.reduce((accumulatedQuantity, cartItem) => accumulatedQuantity + cartItem.quantity, 0)
25+
})
26+
27+
export default connect(mapStateToProps, mapDispatchToProps)(CartIcon)

0 commit comments

Comments
 (0)