react-icons/md#MdShoppingCart JavaScript Examples
The following examples show how to use
react-icons/md#MdShoppingCart.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: Item.js From react-sample-projects with MIT License | 5 votes |
Item = ({ item }) => {
const dispatch = useDispatch();
const addItemToCartHandler = e => {
e.stopPropagation();
e.preventDefault();
dispatch(addItemToCart(item));
};
return (
<Link to={{ pathname: `/product/${item.id}`, state: { item } }}>
<Box
boxShadow="base"
maxW="sm"
borderWidth="1px"
borderRadius="lg"
overflow="hidden"
>
<Box p="6">
<Center>
<Image
_hover={{ transform: `scale(1.1)` }}
src={item.image}
alt={item.title}
maxH="400"
height="400"
/>
</Center>
</Box>
<Box p="6">
<Box d="flex" alignItems="baseline">
<Box
color="gray.500"
fontWeight="semibold"
letterSpacing="wide"
fontSize="xs"
textTransform="uppercase"
>
{item.category}
</Box>
</Box>
<Box
mt="1"
fontWeight="semibold"
as="h4"
lineHeight="tight"
isTruncated
whiteSpace="wrap"
textAlign="left"
>
{item.title}
</Box>
<Flex justifyContent="space-between">
<Box textAlign="left">${item.price}</Box>
<Tooltip label="Add to Cart" fontSize="md">
<Button variant="ghost" p={2} onClick={addItemToCartHandler}>
<Icon as={MdShoppingCart} w={6} h={6} />
</Button>
</Tooltip>
</Flex>
</Box>
</Box>
</Link>
);
}
Example #2
Source File: CartMenu.js From react-sample-projects with MIT License | 5 votes |
CartMenu = () => {
const cartItems = useSelector(state => state.cart.cartItems) || [];
const totalItems = cartItems.reduce((sum, item) => sum + item.quantity, 0);
return (
<Menu>
<VStack position="relative">
{cartItems.length > 0 && (
<Box
position="absolute"
borderRadius="50%"
right={-1}
top={-1}
p={1}
zIndex={1}
bg="red"
color="white"
fontSize="10"
>
{totalItems}
</Box>
)}
<MenuButton
as={IconButton}
variant="ghost"
size="md"
fontSize="lg"
icon={<MdShoppingCart />}
></MenuButton>
</VStack>
<MenuList p={2}>
{cartItems.map(item => (
<Link key={item.id} to={`/product/${item.id}`}>
<MenuItem>
<HStack>
<Image
boxSize="2rem"
borderRadius="full"
src={item.image}
alt={item.title}
mr="12px"
/>
<span>{item.title}</span>
</HStack>
</MenuItem>
</Link>
))}
{cartItems.length > 0 && (
<MenuItem>
<Box my={2} width="100%">
<Link to="/cart">
<Button isFullWidth colorScheme="teal">
Go To Cart
</Button>
</Link>
</Box>
</MenuItem>
)}
{cartItems.length === 0 && (
<Box my={2} width="100%">
<Text fontSize="xl">Your cart is empty :(</Text>
</Box>
)}
</MenuList>
</Menu>
);
}