diff --git a/package-lock.json b/package-lock.json index d01ddfa..bbd664e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,6 +5,7 @@ "requires": true, "packages": { "": { + "name": "react-ecommerce", "version": "0.0.1", "dependencies": { "@headlessui/react": "^1.6.0", diff --git a/src/Components/Cart.jsx b/src/Components/Cart.jsx index 917b7a1..bfe3809 100644 --- a/src/Components/Cart.jsx +++ b/src/Components/Cart.jsx @@ -1,8 +1,16 @@ import { Dialog, Transition } from "@headlessui/react"; -import { XIcon } from "@heroicons/react/outline"; +import { XIcon, ShoppingCartIcon } from "@heroicons/react/outline"; import React, { Fragment } from "react"; export default function Cart({ open, setOpen, cart, updateCart }) { + var subtotal = 0; + cart.forEach(product => { + subtotal += product.price + }) + + + + return (
- { + setOpen(false) + }} as={Fragment} enter="ease-in-out duration-500" enterFrom="opacity-0" @@ -55,7 +65,14 @@ export default function Cart({ open, setOpen, cart, updateCart }) {
    - {cart.map((product) => ( + { cart.length == 0 ? + +
    +
    + : + (cart.map((product) => (
  • - ))} + )))}
@@ -105,7 +122,7 @@ export default function Cart({ open, setOpen, cart, updateCart }) {

Subtotal

-

$262.00

+

{subtotal}

Shipping and taxes calculated at checkout.

diff --git a/src/Components/NavBar.jsx b/src/Components/NavBar.jsx index b1d0db9..b23a38a 100644 --- a/src/Components/NavBar.jsx +++ b/src/Components/NavBar.jsx @@ -1,7 +1,17 @@ import { ShoppingBagIcon } from "@heroicons/react/outline"; import React from "react"; -export default function NavBar({ setOpen }) { +export default function NavBar({ setOpen, cart }) { + let total = 0; + + function gettotal(){ + cart.forEach(element => { + total += element.quantity + }) + return total + } + + return (
@@ -41,7 +51,10 @@ export default function NavBar({ setOpen }) { className="flex-shrink-0 h-6 w-6 text-gray-400 group-hover:text-gray-500" aria-hidden="true" /> - 0 + { + gettotal() + } + items in cart, view bag
diff --git a/src/Components/ProductFilters.jsx b/src/Components/ProductFilters.jsx index 0f3262a..0efe601 100644 --- a/src/Components/ProductFilters.jsx +++ b/src/Components/ProductFilters.jsx @@ -6,7 +6,7 @@ function classNames(...classes) { return classes.filter(Boolean).join(" "); } -export default function ProductFilters({ filterOptions, setFilterOptions, sortOptions, setSortOptions }) { +export default function ProductFilters({ filterOptions, setFilterOptions, sortOptions, setSortOptions, setProducts, products }) { return ( (