From 4494a0bb399e5f33758d3d1f5bfafbeedd7083ed Mon Sep 17 00:00:00 2001 From: gent009 <167322651+gent009@users.noreply.github.com> Date: Thu, 27 Jun 2024 10:25:32 +0100 Subject: [PATCH] react-greengrocers --- componen-hierarchy.png | Bin 0 -> 143926 bytes index.html | 2 +- package-lock.json | 6 +- package.json | 1 + src/App.jsx | 44 ------------- src/components/App.jsx | 55 ++++++++++++++++ src/components/Cart.jsx | 23 +++++++ src/components/CartItem.jsx | 69 ++++++++++++++++++++ src/components/Filter.jsx | 26 ++++++++ src/components/Header.jsx | 9 +++ src/components/ItemDetail.jsx | 26 ++++++++ src/components/Sort.jsx | 25 +++++++ src/components/Store.jsx | 26 ++++++++ src/components/StoreItem.jsx | 45 +++++++++++++ src/components/TotalSection.jsx | 23 +++++++ src/main.jsx | 14 ++-- src/store-items.js | 111 +++++++++++--------------------- src/styles/index.css | 24 ++----- 18 files changed, 378 insertions(+), 151 deletions(-) create mode 100644 componen-hierarchy.png delete mode 100644 src/App.jsx create mode 100644 src/components/App.jsx create mode 100644 src/components/Cart.jsx create mode 100644 src/components/CartItem.jsx create mode 100644 src/components/Filter.jsx create mode 100644 src/components/Header.jsx create mode 100644 src/components/ItemDetail.jsx create mode 100644 src/components/Sort.jsx create mode 100644 src/components/Store.jsx create mode 100644 src/components/StoreItem.jsx create mode 100644 src/components/TotalSection.jsx diff --git a/componen-hierarchy.png b/componen-hierarchy.png new file mode 100644 index 0000000000000000000000000000000000000000..97fb5687bf69c5784803ae9694b69c31f37d25a0 GIT binary patch literal 143926 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html index c1c82ab..35ed4ff 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ - + diff --git a/package-lock.json b/package-lock.json index ea547b5..c946b54 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "react-greengrocers", "version": "0.0.0", "dependencies": { + "prop-types": "^15.8.1", "react": "^18.2.0", "react-dom": "^18.2.0" }, @@ -2809,7 +2810,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -3059,7 +3059,6 @@ "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -3121,8 +3120,7 @@ "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/react-refresh": { "version": "0.14.0", diff --git a/package.json b/package.json index 25ab709..2cc6983 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "preview": "vite preview" }, "dependencies": { + "prop-types": "^15.8.1", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/src/App.jsx b/src/App.jsx deleted file mode 100644 index 03e658b..0000000 --- a/src/App.jsx +++ /dev/null @@ -1,44 +0,0 @@ -import './styles/reset.css' -import './styles/index.css' - -import initialStoreItems from './store-items' - -export default function App() { - return ( - <> -
-

Greengrocers

-
    -
-
-
-

Your Cart

-
-
    -
-
-
-
-

Total

-
-
- £0.00 -
-
-
-
- - ) -} diff --git a/src/components/App.jsx b/src/components/App.jsx new file mode 100644 index 0000000..275f8ff --- /dev/null +++ b/src/components/App.jsx @@ -0,0 +1,55 @@ +import { useState } from "react"; +import Header from "./Header"; +import Store from "./Store"; +import Cart from "./Cart"; +import TotalSection from "./TotalSection"; +import Filter from "./Filter"; +import Sort from "./Sort"; +import storeItems from "../store-items"; +import "../styles/index.css"; + +const App = () => { + const [items, setItems] = useState(storeItems); + const [cart, setCart] = useState([]); + const [filter, setFilter] = useState("all"); + const [sort, setSort] = useState("alphabetical"); + const [selectedItem, setSelectedItem] = useState(null); + + const filteredItems = items.filter( + (item) => filter === "all" || item.type === filter + ); + + const sortedItems = filteredItems.sort((a, b) => { + if (sort === "alphabetical") { + return a.name.localeCompare(b.name); + } else if (sort === "price") { + return a.price - b.price; + } + return 0; + }); + + return ( +
+
+
+ + +
+
+ + + +
+ {selectedItem && ( + setSelectedItem(null)} /> + )} +
+ ); +}; + +export default App; diff --git a/src/components/Cart.jsx b/src/components/Cart.jsx new file mode 100644 index 0000000..a78bd03 --- /dev/null +++ b/src/components/Cart.jsx @@ -0,0 +1,23 @@ +import React from "react"; +import PropTypes from "prop-types"; +import CartItem from "./CartItem"; + +const Cart = ({ cart, setCart }) => ( +
+

Your Cart

+
+
    + {cart.map((item) => ( + + ))} +
+
+
+); + +Cart.propTypes = { + cart: PropTypes.arrayOf(PropTypes.object).isRequired, + setCart: PropTypes.func.isRequired, +}; + +export default Cart; diff --git a/src/components/CartItem.jsx b/src/components/CartItem.jsx new file mode 100644 index 0000000..0ce5c80 --- /dev/null +++ b/src/components/CartItem.jsx @@ -0,0 +1,69 @@ +import React from "react"; +import PropTypes from "prop-types"; + +const CartItem = ({ item, cart, setCart }) => { + const removeFromCart = () => { + const updatedCart = [...cart]; + const itemIndex = updatedCart.findIndex( + (cartItem) => cartItem.id === item.id + ); + + if (itemIndex > -1) { + updatedCart[itemIndex].quantity -= 1; + + if (updatedCart[itemIndex].quantity === 0) { + updatedCart.splice(itemIndex, 1); + } + } + + setCart(updatedCart); + }; + + const addToCart = () => { + const updatedCart = [...cart]; + const itemIndex = updatedCart.findIndex( + (cartItem) => cartItem.id === item.id + ); + + if (itemIndex > -1) { + updatedCart[itemIndex].quantity += 1; + } + + setCart(updatedCart); + }; + + return ( +
  • + {item.name} +

    {item.name}

    + + {item.quantity} + +
  • + ); +}; + +CartItem.propTypes = { + item: PropTypes.shape({ + id: PropTypes.number.isRequired, + name: PropTypes.string.isRequired, + icon: PropTypes.string.isRequired, + price: PropTypes.number.isRequired, + quantity: PropTypes.number.isRequired, + }).isRequired, + cart: PropTypes.arrayOf(PropTypes.object).isRequired, + setCart: PropTypes.func.isRequired, +}; + +export default CartItem; diff --git a/src/components/Filter.jsx b/src/components/Filter.jsx new file mode 100644 index 0000000..92ced3d --- /dev/null +++ b/src/components/Filter.jsx @@ -0,0 +1,26 @@ +import React from "react"; +import PropTypes from "prop-types"; + +const Filter = ({ filter, setFilter }) => { + const handleFilterChange = (event) => { + setFilter(event.target.value); + }; + + return ( +
    + + +
    + ); +}; + +Filter.propTypes = { + filter: PropTypes.string.isRequired, + setFilter: PropTypes.func.isRequired, +}; + +export default Filter; diff --git a/src/components/Header.jsx b/src/components/Header.jsx new file mode 100644 index 0000000..6220dc5 --- /dev/null +++ b/src/components/Header.jsx @@ -0,0 +1,9 @@ +import React from "react"; + +const Header = () => ( +
    +

    Greengrocers

    +
    +); + +export default Header; diff --git a/src/components/ItemDetail.jsx b/src/components/ItemDetail.jsx new file mode 100644 index 0000000..738b53f --- /dev/null +++ b/src/components/ItemDetail.jsx @@ -0,0 +1,26 @@ +import React from "react"; +import PropTypes from "prop-types"; + +const ItemDetail = ({ item, onClose }) => { + return ( +
    +

    {item.name}

    +

    Type: {item.type}

    +

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

    + +
    + ); +}; + +ItemDetail.propTypes = { + item: PropTypes.shape({ + id: PropTypes.number.isRequired, + name: PropTypes.string.isRequired, + icon: PropTypes.string.isRequired, + price: PropTypes.number.isRequired, + type: PropTypes.string.isRequired, + }).isRequired, + onClose: PropTypes.func.isRequired, +}; + +export default ItemDetail; diff --git a/src/components/Sort.jsx b/src/components/Sort.jsx new file mode 100644 index 0000000..a027bc7 --- /dev/null +++ b/src/components/Sort.jsx @@ -0,0 +1,25 @@ +import React from "react"; +import PropTypes from "prop-types"; + +const Sort = ({ sort, setSort }) => { + const handleSortChange = (event) => { + setSort(event.target.value); + }; + + return ( +
    + + +
    + ); +}; + +Sort.propTypes = { + sort: PropTypes.string.isRequired, + setSort: PropTypes.func.isRequired, +}; + +export default Sort; diff --git a/src/components/Store.jsx b/src/components/Store.jsx new file mode 100644 index 0000000..be3cfdc --- /dev/null +++ b/src/components/Store.jsx @@ -0,0 +1,26 @@ +import React from "react"; +import PropTypes from "prop-types"; +import StoreItem from "./StoreItem"; + +const Store = ({ items, cart, setCart, setSelectedItem }) => ( +
      + {items.map((item) => ( + + ))} +
    +); + +Store.propTypes = { + items: PropTypes.arrayOf(PropTypes.object).isRequired, + cart: PropTypes.arrayOf(PropTypes.object).isRequired, + setCart: PropTypes.func.isRequired, + setSelectedItem: PropTypes.func.isRequired, +}; + +export default Store; diff --git a/src/components/StoreItem.jsx b/src/components/StoreItem.jsx new file mode 100644 index 0000000..bfe5b90 --- /dev/null +++ b/src/components/StoreItem.jsx @@ -0,0 +1,45 @@ +import React from "react"; +import PropTypes from "prop-types"; + +const StoreItem = ({ item, cart, setCart, setSelectedItem }) => { + const addToCart = () => { + const updatedCart = [...cart]; + const itemIndex = updatedCart.findIndex( + (cartItem) => cartItem.id === item.id + ); + + if (itemIndex > -1) { + updatedCart[itemIndex].quantity += 1; + } else { + updatedCart.push({ ...item, quantity: 1 }); + } + + setCart(updatedCart); + }; + + return ( +
  • +
    setSelectedItem(item)}> + {item.name} +
    + +
  • + ); +}; + +StoreItem.propTypes = { + item: PropTypes.shape({ + id: PropTypes.number.isRequired, + name: PropTypes.string.isRequired, + icon: PropTypes.string.isRequired, + price: PropTypes.number.isRequired, + type: PropTypes.string.isRequired, + }).isRequired, + cart: PropTypes.arrayOf(PropTypes.object).isRequired, + setCart: PropTypes.func.isRequired, + setSelectedItem: PropTypes.func.isRequired, +}; + +export default StoreItem; diff --git a/src/components/TotalSection.jsx b/src/components/TotalSection.jsx new file mode 100644 index 0000000..c9236eb --- /dev/null +++ b/src/components/TotalSection.jsx @@ -0,0 +1,23 @@ +import React from "react"; +import PropTypes from "prop-types"; + +const TotalSection = ({ cart }) => { + const total = cart.reduce((sum, item) => sum + item.price * item.quantity, 0); + + return ( +
    +
    +

    Total

    +
    +
    + £{total.toFixed(2)} +
    +
    + ); +}; + +TotalSection.propTypes = { + cart: PropTypes.arrayOf(PropTypes.object).isRequired, +}; + +export default TotalSection; diff --git a/src/main.jsx b/src/main.jsx index 51a8c58..7333669 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -1,9 +1,7 @@ -import React from 'react' -import ReactDOM from 'react-dom/client' -import App from './App.jsx' +import React from "react"; +import ReactDOM from "react-dom"; +import App from "./components/App"; +import "./styles/reset.css"; +import "./styles/index.css"; -ReactDOM.createRoot(document.getElementById('root')).render( - - - , -) +ReactDOM.render(, document.getElementById("root")); diff --git a/src/store-items.js b/src/store-items.js index 96dd2ea..21cc0e6 100644 --- a/src/store-items.js +++ b/src/store-items.js @@ -1,75 +1,38 @@ +const storeItems = [ + { + id: 1, + name: "Beetroot", + icon: "001-beetroot", + price: 0.5, + type: "vegetable", + }, + { id: 2, name: "Carrot", icon: "002-carrot", price: 0.3, type: "vegetable" }, + { id: 3, name: "Apple", icon: "003-apple", price: 0.4, type: "fruit" }, + { id: 4, name: "Banana", icon: "006-bananas", price: 0.2, type: "fruit" }, + { + id: 5, + name: "Bell Pepper", + icon: "007-bell-pepper", + price: 0.6, + type: "vegetable", + }, + { id: 6, name: "Berry", icon: "008-berry", price: 0.5, type: "fruit" }, + { + id: 7, + name: "Blueberry", + icon: "009-blueberry", + price: 0.7, + type: "fruit", + }, + { + id: 8, + name: "Eggplant", + icon: "010-eggplant", + price: 0.9, + type: "vegetable", + }, + { id: 9, name: "Avocado", icon: "005-avocado", price: 1.2, type: "fruit" }, + { id: 10, name: "Apricot", icon: "004-apricot", price: 1.0, type: "fruit" }, +]; -const storeItems = [ - { - 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: "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: "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: "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: "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: "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: "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: "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: "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: "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" - } -] - -export default storeItems +export default storeItems; diff --git a/src/styles/index.css b/src/styles/index.css index 0a04c2b..914a72f 100644 --- a/src/styles/index.css +++ b/src/styles/index.css @@ -1,7 +1,6 @@ @import "./reset.css"; /* Typography */ - body { font-family: "Trebuchet MS", "Lucida Sans", Arial, sans-serif; } @@ -12,22 +11,21 @@ h2 { } /* Buttons */ - button { padding: 0.25rem 0.5rem; - text-transform: uppercase; font-size: 0.725rem; } -/* Store */ +.add-to-cart { + white-space: nowrap; +} +/* Store */ #store { height: 40vh; padding: 1rem; - overflow-y: scroll; - background-color: #e7f4ea; } @@ -66,16 +64,13 @@ button { } /* Cart */ - #cart { height: 60vh; padding: 1rem; - display: grid; grid-template-rows: auto 1fr auto; grid-gap: 1rem; justify-content: center; - border-top: 2px solid #00675b; } @@ -88,9 +83,7 @@ button { min-width: 320px; height: 100%; padding: 0 1rem; - overflow-y: scroll; - border-radius: 0.5rem; border: 2px solid #757575; } @@ -103,14 +96,11 @@ button { .cart--item-list li { padding: 1rem 0; - display: grid; grid-template-columns: 24px minmax(150px, 1fr) repeat(3, auto); grid-gap: 0.5rem; align-items: center; - border-bottom: 1px dotted #000000; - font-size: 1.25rem; } @@ -131,9 +121,7 @@ button { width: 20px; height: 20px; padding: 0; - border-radius: 0.25rem; - font-weight: bold; } @@ -152,21 +140,17 @@ button { .quantity-text { width: 24px; height: 24px; - border-radius: 0.25rem; border: 2px solid #757575; color: #757575; - text-align: center; font-size: 0.75rem; font-weight: bold; } /* Total */ - .total-section { padding: 0.5rem 1rem; - display: grid; grid-template-columns: 1fr auto; align-items: center;