index.js 760 B

123456789101112131415161718192021222324
  1. import { Badge, Box, IconButton } from '@mui/material';
  2. import { useEffect, useState } from 'react';
  3. import { connect } from 'react-redux';
  4. import { MdOutlineShoppingCart } from 'react-icons/md';
  5. export const CartIcon = ({ cart }) => {
  6. const [count, setCount] = useState(0);
  7. useEffect(() => {
  8. let count = 0;
  9. for (let order of Object.values(cart)) {
  10. count += +order.count;
  11. }
  12. setCount(count);
  13. }, [cart]);
  14. return (
  15. <Box className="CartIcon">
  16. <Badge badgeContent={count} color="primary">
  17. <MdOutlineShoppingCart className="CartLogo" />
  18. </Badge>
  19. </Box>
  20. );
  21. };
  22. export const CCartIcon = connect((state) => ({ cart: state.cart || {} }))(CartIcon);