From 0182dbdc12a40e414b1dfc878b2f3979565e4c84 Mon Sep 17 00:00:00 2001 From: Olaoluwa Oyebode Date: Thu, 27 Jun 2024 14:51:10 +0100 Subject: [PATCH 1/2] Olaoluwa Oyebode_Pull Request --- greenGrocers-component-hierarchy.png | Bin 0 -> 96320 bytes package-lock.json | 6 +- src/App.jsx | 114 +++++++++++++++++++------ src/Cart.jsx | 19 +++++ src/CartContainer.jsx | 5 ++ src/CartItem.jsx | 27 ++++++ src/CartItemList.jsx | 17 ++++ src/Detail.jsx | 13 +++ src/Filter.jsx | 11 +++ src/Header.jsx | 10 +++ src/Item.jsx | 19 +++++ src/ItemList.jsx | 17 ++++ src/Sort.jsx | 12 +++ src/Total.jsx | 14 ++++ src/store-items.js | 119 ++++++++++++++------------- src/styles/detailComponent.css | 15 ++++ src/styles/index.css | 1 + store-items.js | 84 +++++++++++++++++++ 18 files changed, 420 insertions(+), 83 deletions(-) create mode 100644 greenGrocers-component-hierarchy.png create mode 100644 src/Cart.jsx create mode 100644 src/CartContainer.jsx create mode 100644 src/CartItem.jsx create mode 100644 src/CartItemList.jsx create mode 100644 src/Detail.jsx create mode 100644 src/Filter.jsx create mode 100644 src/Header.jsx create mode 100644 src/Item.jsx create mode 100644 src/ItemList.jsx create mode 100644 src/Sort.jsx create mode 100644 src/Total.jsx create mode 100644 src/styles/detailComponent.css create mode 100644 store-items.js diff --git a/greenGrocers-component-hierarchy.png b/greenGrocers-component-hierarchy.png new file mode 100644 index 0000000000000000000000000000000000000000..6c53fb414677e68a2c9d609375c94fe2d30210c5 GIT binary patch literal 96320 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 HGUUGiQq`74 literal 0 HcmV?d00001 diff --git a/package-lock.json b/package-lock.json index ea547b5..0460136 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3654,9 +3654,9 @@ } }, "node_modules/vite": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", - "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz", + "integrity": "sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==", "dev": true, "dependencies": { "esbuild": "^0.18.10", diff --git a/src/App.jsx b/src/App.jsx index 03e658b..c62b2ce 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,31 +1,95 @@ -import './styles/reset.css' -import './styles/index.css' - -import initialStoreItems from './store-items' +import React, { useState } from "react"; +import "./styles/reset.css"; +import "./styles/index.css"; +import initialStoreItems from "./store-items"; +import Header from "./Header.jsx"; +import CartContainer from "./CartContainer.jsx"; +import Cart from "./Cart.jsx"; +import Filter from "./Filter.jsx"; +import Sort from "./Sort.jsx"; +import Detail from "./Detail.jsx"; +import ItemList from "./ItemList.jsx"; export default function App() { + const [storeItems, setStoreItems] = useState(initialStoreItems); + const [cartItems, setCartItems] = useState([]); + const [totalPrice, setTotalPrice] = useState(0); + const [filter, setFilter] = useState(""); + const [sort, setSort] = useState(""); + const [selectedItem, setSelectedItem] = useState(null); + + const addToCart = (item) => { + const existingItem = cartItems.find((cartItem) => cartItem.id === item.id); + if (existingItem) { + setCartItems( + cartItems.map((cartItem) => + cartItem.id === item.id + ? { ...cartItem, quantity: cartItem.quantity + 1 } + : cartItem + ) + ); + } else { + setCartItems([...cartItems, { ...item, quantity: 1 }]); + } + setTotalPrice(totalPrice + item.price); + }; + + const removeFromCart = (item) => { + const existingItem = cartItems.find((cartItem) => cartItem.id === item.id); + if (existingItem.quantity === 1) { + setCartItems(cartItems.filter((cartItem) => cartItem.id !== item.id)); + } else { + setCartItems( + cartItems.map((cartItem) => + cartItem.id === item.id + ? { ...cartItem, quantity: cartItem.quantity - 1 } + : cartItem + ) + ); + } + setTotalPrice(totalPrice - item.price); + }; + + const filterItems = (items) => { + if (filter === "") return items; + return items.filter((item) => item.type === filter); + }; + + const sortItems = (items) => { + if (sort === "price") { + return items.sort((a, b) => a.price - b.price); + } + if (sort === "alphabetical") { + return items.sort((a, b) => a.name.localeCompare(b.name)); + } + return items; + }; + + const handleItemClick = (item) => { + setSelectedItem(item.id === selectedItem?.id ? null : item); + }; + + const filteredAndSortedItems = sortItems(filterItems([...storeItems])); + return ( <> -

-

Greengrocers

-
    -
-
-
-

Your Cart

-
-
    -
-
-
-
-

Total

-
-
- £0.00 -
-
-
+
+ + + + {selectedItem && } + + + - ) + ); } diff --git a/src/Cart.jsx b/src/Cart.jsx new file mode 100644 index 0000000..655068f --- /dev/null +++ b/src/Cart.jsx @@ -0,0 +1,19 @@ +import React from "react"; +import CartItemList from "./CartItemList"; +import Total from "./Total"; + +export default function Cart({ items, removeFromCart, addToCart, totalPrice }) { + return ( +
+

Your Cart

+
+ +
+ +
+ ); +} diff --git a/src/CartContainer.jsx b/src/CartContainer.jsx new file mode 100644 index 0000000..a10ae4d --- /dev/null +++ b/src/CartContainer.jsx @@ -0,0 +1,5 @@ +import React from "react"; + +export default function CartContainer({ children }) { + return
{children}
; +} diff --git a/src/CartItem.jsx b/src/CartItem.jsx new file mode 100644 index 0000000..3e95b41 --- /dev/null +++ b/src/CartItem.jsx @@ -0,0 +1,27 @@ +import React from "react"; + +export default function CartItem(props) { + return ( +
  • + {props.item.name} +

    {props.item.name}

    + + {props.item.quantity} + +
  • + ); +} diff --git a/src/CartItemList.jsx b/src/CartItemList.jsx new file mode 100644 index 0000000..a6dd026 --- /dev/null +++ b/src/CartItemList.jsx @@ -0,0 +1,17 @@ +import React from "react"; +import CartItem from "./CartItem"; + +export default function CartItemList({ items, removeFromCart, addToCart }) { + return ( +
      + {items.map((item) => ( + + ))} +
    + ); +} diff --git a/src/Detail.jsx b/src/Detail.jsx new file mode 100644 index 0000000..5c19b3c --- /dev/null +++ b/src/Detail.jsx @@ -0,0 +1,13 @@ +import React from "react"; + +export default function Detail(props) { + return ( +
    +

    {props.item.name}

    + {props.item.name} +

    Type: {props.item.type}

    +

    Price: £{props.item.price.toFixed(2)}

    +

    Description: {props.item.description}

    +
    + ); +} diff --git a/src/Filter.jsx b/src/Filter.jsx new file mode 100644 index 0000000..0751b17 --- /dev/null +++ b/src/Filter.jsx @@ -0,0 +1,11 @@ +import React from "react"; + +export default function Filter(props) { + return ( +
    + + + +
    + ); +} diff --git a/src/Header.jsx b/src/Header.jsx new file mode 100644 index 0000000..894a3b0 --- /dev/null +++ b/src/Header.jsx @@ -0,0 +1,10 @@ +import React from "react"; + +export default function Header() { + return ( +
    +

    Greengrocers

    +
      +
      + ); +} diff --git a/src/Item.jsx b/src/Item.jsx new file mode 100644 index 0000000..ebd300e --- /dev/null +++ b/src/Item.jsx @@ -0,0 +1,19 @@ +import React from "react"; + +export default function Item(props) { + return ( +
    • props.onItemClick(props.item)}> +
      + {props.item.name} +
      + +
    • + ); +} diff --git a/src/ItemList.jsx b/src/ItemList.jsx new file mode 100644 index 0000000..6a6fdaf --- /dev/null +++ b/src/ItemList.jsx @@ -0,0 +1,17 @@ +import React from "react"; +import Item from "./Item"; + +export default function ItemList(props) { + return ( +
        + {props.items.map((item) => ( + + ))} +
      + ); +} diff --git a/src/Sort.jsx b/src/Sort.jsx new file mode 100644 index 0000000..7a47f89 --- /dev/null +++ b/src/Sort.jsx @@ -0,0 +1,12 @@ +import React from "react"; + +export default function Sort(props) { + return ( +
      + + +
      + ); +} diff --git a/src/Total.jsx b/src/Total.jsx new file mode 100644 index 0000000..d401ebe --- /dev/null +++ b/src/Total.jsx @@ -0,0 +1,14 @@ +import React from "react"; + +export default function Total({ totalPrice }) { + return ( +
      +
      +

      Total

      +
      +
      + £{totalPrice.toFixed(2)} +
      +
      + ); +} diff --git a/src/store-items.js b/src/store-items.js index 96dd2ea..c606881 100644 --- a/src/store-items.js +++ b/src/store-items.js @@ -1,75 +1,84 @@ - -const storeItems = [ +const initialStoreItems = [ { - id: "001-beetroot", - name: "beetroot", - price: 0.35, - description: "The beetroot is the taproot portion of a beet plant, usually known in North America as beets while the vegetable is referred to as beetroot in British English, and also known as the table beet, garden beet, red beet, dinner beet or golden beet.", - type: "vegetable" + id: 1, + name: "Beetroot", + type: "vegetable", + price: 0.5, + image: "/assets/icons/001-beetroot.svg", + description: "Fresh beetroot, perfect for salads and juices.", }, { - id: "002-carrot", - name: "carrot", - price: 0.35, - description: "The carrot is a root vegetable, typically orange in color, though heirloom variants including purple, black, red, white, and yellow cultivars exist, all of which are domesticated forms of the wild carrot, Daucus carota, native to Europe and Southwestern Asia.", - type: "vegetable" + id: 2, + name: "Carrot", + type: "vegetable", + price: 0.3, + image: "/assets/icons/002-carrot.svg", + description: "Crunchy and sweet carrots, great for snacking.", }, { - id: "003-apple", - name: "apple", - price: 0.35, - description: "An apple is a round, edible fruit produced by an apple tree (Malus spp., among them the domestic or orchard apple; Malus domestica).", - type: "fruit" + id: 3, + name: "Apple", + type: "fruit", + price: 0.6, + image: "/assets/icons/003-apple.svg", + description: "Juicy and crisp apples, ideal for a healthy snack.", }, { - id: "004-apricot", - name: "apricot", - price: 0.35, - description: "An apricot is a fruit, or the tree that bears the fruit, of several species in the genus Prunus.", - type: "fruit" + id: 4, + name: "Apricot", + type: "fruit", + price: 0.7, + image: "/assets/icons/004-apricot.svg", + description: "Sweet and tangy apricots, great for desserts.", }, { - id: "005-avocado", - name: "avocado", - price: 0.35, - description: "The avocado, alligator pear or avocado pear (Persea americana) is a medium-sized, evergreen tree in the laurel family (Lauraceae).", - type: "fruit" + id: 5, + name: "Avocado", + type: "fruit", + price: 1.5, + image: "/assets/icons/005-avocado.svg", + description: "Creamy avocados, perfect for guacamole.", }, { - id: "006-bananas", - name: "bananas", - price: 0.35, - description: "A banana is an elongated, edible fruit – botanically a berry – produced by several kinds of large herbaceous flowering plants in the genus Musa.", - type: "fruit" + id: 6, + name: "Bananas", + type: "fruit", + price: 0.4, + image: "/assets/icons/006-bananas.svg", + description: "Ripe and sweet bananas, ideal for a quick snack.", }, { - id: "007-bell-pepper", - name: "bell pepper", - price: 0.35, - description: "The bell pepper (also known as sweet pepper, pepper, capsicum /ˈkæpsɪkəm/ or in some places, mangoes) is the fruit of plants in the Grossum Group of the species Capsicum annuum.", - type: "fruit" + id: 7, + name: "Bell Pepper", + type: "vegetable", + price: 0.8, + image: "/assets/icons/007-bell-pepper.svg", + description: "Colorful bell peppers, great for salads and stir-fries.", }, { - id: "008-berry", - name: "berry", - price: 0.35, - description: "A berry is a small, pulpy, and often edible fruit. Typically, berries are juicy, rounded, brightly colored, sweet, sour or tart, and do not have a stone or pit, although many pips or seeds may be present.", - type: "fruit" + id: 8, + name: "Berry", + type: "fruit", + price: 2.0, + image: "/assets/icons/008-berry.svg", + description: "Mixed berries, perfect for smoothies and desserts.", }, { - id: "009-blueberry", - name: "blueberry", - price: 0.35, - description: "Blueberry is a widely distributed and widespread group of perennial flowering plant with blue or purple berries.", - type: "fruit" + id: 9, + name: "Blueberry", + type: "fruit", + price: 1.8, + image: "/assets/icons/009-blueberry.svg", + description: "Sweet and tangy blueberries, ideal for snacking.", }, { - id: "010-eggplant", - name: "eggplant", - price: 0.35, - description: "Eggplant, aubergine, brinjal, or baigan is a plant species in the nightshade family Solanaceae. Solanum melongena is grown worldwide for its edible fruit.", - type: "vegetable" - } -] + id: 10, + name: "Eggplant", + type: "vegetable", + price: 1.0, + image: "/assets/icons/010-eggplant.svg", + description: "Versatile eggplants, perfect for grilling and baking.", + }, +]; -export default storeItems +export default initialStoreItems; diff --git a/src/styles/detailComponent.css b/src/styles/detailComponent.css new file mode 100644 index 0000000..8a94945 --- /dev/null +++ b/src/styles/detailComponent.css @@ -0,0 +1,15 @@ +.item-detail { + border: 1px solid #ddd; + padding: 20px; + margin: 20px 0; + background-color: #f9f9f9; +} + +.item-detail img { + max-width: 100%; + height: auto; +} + +.item-detail h2 { + margin-top: 0; +} diff --git a/src/styles/index.css b/src/styles/index.css index 0a04c2b..324406a 100644 --- a/src/styles/index.css +++ b/src/styles/index.css @@ -1,4 +1,5 @@ @import "./reset.css"; +@import "detailComponent.css"; /* Typography */ diff --git a/store-items.js b/store-items.js new file mode 100644 index 0000000..c606881 --- /dev/null +++ b/store-items.js @@ -0,0 +1,84 @@ +const initialStoreItems = [ + { + id: 1, + name: "Beetroot", + type: "vegetable", + price: 0.5, + image: "/assets/icons/001-beetroot.svg", + description: "Fresh beetroot, perfect for salads and juices.", + }, + { + id: 2, + name: "Carrot", + type: "vegetable", + price: 0.3, + image: "/assets/icons/002-carrot.svg", + description: "Crunchy and sweet carrots, great for snacking.", + }, + { + id: 3, + name: "Apple", + type: "fruit", + price: 0.6, + image: "/assets/icons/003-apple.svg", + description: "Juicy and crisp apples, ideal for a healthy snack.", + }, + { + id: 4, + name: "Apricot", + type: "fruit", + price: 0.7, + image: "/assets/icons/004-apricot.svg", + description: "Sweet and tangy apricots, great for desserts.", + }, + { + id: 5, + name: "Avocado", + type: "fruit", + price: 1.5, + image: "/assets/icons/005-avocado.svg", + description: "Creamy avocados, perfect for guacamole.", + }, + { + id: 6, + name: "Bananas", + type: "fruit", + price: 0.4, + image: "/assets/icons/006-bananas.svg", + description: "Ripe and sweet bananas, ideal for a quick snack.", + }, + { + id: 7, + name: "Bell Pepper", + type: "vegetable", + price: 0.8, + image: "/assets/icons/007-bell-pepper.svg", + description: "Colorful bell peppers, great for salads and stir-fries.", + }, + { + id: 8, + name: "Berry", + type: "fruit", + price: 2.0, + image: "/assets/icons/008-berry.svg", + description: "Mixed berries, perfect for smoothies and desserts.", + }, + { + id: 9, + name: "Blueberry", + type: "fruit", + price: 1.8, + image: "/assets/icons/009-blueberry.svg", + description: "Sweet and tangy blueberries, ideal for snacking.", + }, + { + id: 10, + name: "Eggplant", + type: "vegetable", + price: 1.0, + image: "/assets/icons/010-eggplant.svg", + description: "Versatile eggplants, perfect for grilling and baking.", + }, +]; + +export default initialStoreItems; From c4455caeea77995356578c34be7048986cff97c3 Mon Sep 17 00:00:00 2001 From: Olaoluwa Oyebode Date: Thu, 27 Jun 2024 14:53:16 +0100 Subject: [PATCH 2/2] Olaoluwa Oyebode_Pull Request --- store-items.js | 84 -------------------------------------------------- 1 file changed, 84 deletions(-) delete mode 100644 store-items.js diff --git a/store-items.js b/store-items.js deleted file mode 100644 index c606881..0000000 --- a/store-items.js +++ /dev/null @@ -1,84 +0,0 @@ -const initialStoreItems = [ - { - id: 1, - name: "Beetroot", - type: "vegetable", - price: 0.5, - image: "/assets/icons/001-beetroot.svg", - description: "Fresh beetroot, perfect for salads and juices.", - }, - { - id: 2, - name: "Carrot", - type: "vegetable", - price: 0.3, - image: "/assets/icons/002-carrot.svg", - description: "Crunchy and sweet carrots, great for snacking.", - }, - { - id: 3, - name: "Apple", - type: "fruit", - price: 0.6, - image: "/assets/icons/003-apple.svg", - description: "Juicy and crisp apples, ideal for a healthy snack.", - }, - { - id: 4, - name: "Apricot", - type: "fruit", - price: 0.7, - image: "/assets/icons/004-apricot.svg", - description: "Sweet and tangy apricots, great for desserts.", - }, - { - id: 5, - name: "Avocado", - type: "fruit", - price: 1.5, - image: "/assets/icons/005-avocado.svg", - description: "Creamy avocados, perfect for guacamole.", - }, - { - id: 6, - name: "Bananas", - type: "fruit", - price: 0.4, - image: "/assets/icons/006-bananas.svg", - description: "Ripe and sweet bananas, ideal for a quick snack.", - }, - { - id: 7, - name: "Bell Pepper", - type: "vegetable", - price: 0.8, - image: "/assets/icons/007-bell-pepper.svg", - description: "Colorful bell peppers, great for salads and stir-fries.", - }, - { - id: 8, - name: "Berry", - type: "fruit", - price: 2.0, - image: "/assets/icons/008-berry.svg", - description: "Mixed berries, perfect for smoothies and desserts.", - }, - { - id: 9, - name: "Blueberry", - type: "fruit", - price: 1.8, - image: "/assets/icons/009-blueberry.svg", - description: "Sweet and tangy blueberries, ideal for snacking.", - }, - { - id: 10, - name: "Eggplant", - type: "vegetable", - price: 1.0, - image: "/assets/icons/010-eggplant.svg", - description: "Versatile eggplants, perfect for grilling and baking.", - }, -]; - -export default initialStoreItems;