From 658e0bce94909f16317b00bc34bf75f622f35945 Mon Sep 17 00:00:00 2001 From: Ojas Arora <127867874+Ojas-Arora@users.noreply.github.com> Date: Wed, 24 Jul 2024 23:40:14 +0530 Subject: [PATCH 1/3] Enchancing the Design and Styling of the Cart Page --- src/Components/Login.css | 3 +- src/Components/cart/12.png | Bin 0 -> 17998 bytes src/Components/cart/cart.css | 167 ++++----- src/Components/cart/cart.js | 348 ++++++++++++------ src/Components/cart/index.html | 114 ++---- src/Components/cart/style.js | 201 ---------- .../footer_section/Pricing/pricing.js | 1 - 7 files changed, 358 insertions(+), 476 deletions(-) create mode 100644 src/Components/cart/12.png delete mode 100644 src/Components/cart/style.js diff --git a/src/Components/Login.css b/src/Components/Login.css index d213dfe4..d060f040 100644 --- a/src/Components/Login.css +++ b/src/Components/Login.css @@ -232,7 +232,6 @@ form.sign-in-form { grid-template-columns: repeat(2, 1fr); } - .container1:before { content: ""; position: absolute; @@ -248,7 +247,7 @@ form.sign-in-form { darkturquoise 100% ); transition: 1.8s ease-in-out; - border-radius: 80%; + border-radius: 50% 50% 0 0; /* Changed to a semi-circle */ z-index: 6; } diff --git a/src/Components/cart/12.png b/src/Components/cart/12.png new file mode 100644 index 0000000000000000000000000000000000000000..f1c07cec4e34453c5247fc4ba80edf58089fad93 GIT binary patch literal 17998 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 literal 0 HcmV?d00001 diff --git a/src/Components/cart/cart.css b/src/Components/cart/cart.css index 86ca0510..60d62968 100644 --- a/src/Components/cart/cart.css +++ b/src/Components/cart/cart.css @@ -1,84 +1,85 @@ body { - font-family: Arial, sans-serif; - margin: 0; - padding: 0; - background-color: #1f1c35; - color: white; - } - - .cart-container { - text-align: center; - margin-top: 50px; - } - - .cart-top { - position: fixed; - top: 10px; - right: 10px; - background-color: #ff21bc; - padding: 10px; - border-radius: 50%; - color: white; - cursor: pointer; - display: flex; - align-items: center; - } - - .cart-icon { - width: 24px; - height: 24px; - vertical-align: middle; - margin-right: 10px; - } - - .cart-count { - margin-left: 5px; - font-size: 16px; - } - - .cart-item { - border: 1px solid #ddd; - padding: 10px; - margin: 10px; - display: inline-block; - width: calc(33% - 40px); - box-sizing: border-box; - text-align: left; - box-shadow: 7px 7px 32px 0 #6052ff; - position: relative; - } - - .add-to-cart, - .remove-from-cart { - background-color: #ff21bc; - color: #fff; - border: none; - padding: 10px; - position: absolute; - bottom: 10px; - left: 30%; - transform: translateX(-50%); - border-radius: 3px; - cursor: pointer; - } - - .remove-from-cart { - left: 70%; - } - - .shop-today a { - color: #007185; - text-decoration: none; - font-weight: bold; - } - - .cart-signin button { - background-color: #ff21bc; - border: 1px solid #a88734 #9c7e31 #846a29; - color: #fff; - padding: 10px 20px; - margin: 10px; - cursor: pointer; - border-radius: 3px; - } - \ No newline at end of file + font-family: Arial, sans-serif; + margin: 0; + padding: 0; + background-color: #1f1c35; + color: white; +} + +.cart-container { + text-align: center; + margin-top: 50px; +} + +.cart-top { + position: fixed; + top: 10px; + right: 10px; + background-color: #ff21bc; + padding: 10px; + border-radius: 50%; + color: white; + cursor: pointer; + display: flex; + align-items: center; +} + +.cart-icon { + width: 24px; + height: 24px; + vertical-align: middle; + margin-right: 10px; +} + +.cart-count { + margin-left: 5px; + font-size: 16px; +} + +.cart-item { + border: 1px solid #ddd; + padding: 10px; + margin: 10px; + display: inline-block; + width: calc(33% - 40px); + box-sizing: border-box; + text-align: left; + box-shadow: 7px 7px 32px 0 #6052ff; + position: relative; +} + +.add-to-cart, +.remove-from-cart { + background-color: #ff21bc; + color: #fff; + border: none; + padding: 10px; + position: absolute; + bottom: 10px; + left: 30%; + transform: translateX(-50%); + border-radius: 3px; + cursor: pointer; +} + +.remove-from-cart { + left: 70%; +} + +.shop-today a { + color: #007185; + text-decoration: none; + font-weight: bold; +} + +.cart-signin button { + background-color: #ff21bc; + border: 1px solid #a88734 #9c7e31 #846a29; + color: #fff; + padding: 10px 20px; + margin: 10px; + cursor: pointer; + border-radius: 3px; + justify-content: flex-end; /* Aligns content (button) to the right */ + padding: 10px; /* Optional padding for the container */ +} diff --git a/src/Components/cart/cart.js b/src/Components/cart/cart.js index f46d9c05..f86d724b 100644 --- a/src/Components/cart/cart.js +++ b/src/Components/cart/cart.js @@ -1,128 +1,252 @@ -// src/components/ShoppingCart.js -import React, { useState, useEffect } from 'react'; +import React, { useState } from 'react'; +import { Link } from "react-router-dom"; +import homeIcon from '../../img/homeicon.png'; +import carticon from './12.png'; +import Card1 from "../../img/card1.jpg"; +import Card2 from "../../img/card2.jpg"; +import Card3 from "../../img/card3.jpg"; +import Card4 from "../../img/card4.jpg"; +import Card5 from "../../img/card5.jpg"; +import Card6 from "../../img/card6.jpg"; +import { useNavigate } from 'react-router-dom'; -const ShoppingCart = () => { - const [cartItems, setCartItems] = useState([]); - const [totalItems, setTotalItems] = useState(0); - const [totalPrice, setTotalPrice] = useState(0); +const Cart = () => { + const initialItems = [ + { id: 1, name: 'StockIT', price: 10, quantity: 0, image: Card1 }, + { id: 2, name: 'TakeNote', price: 12, quantity: 0, image: Card2 }, + { id: 3, name: 'TaRct', price: 21, quantity: 0, image: Card3 }, + { id: 4, name: 'To Do', price: 13, quantity: 0, image: Card4 }, + { id: 5, name: 'ArchiTect', price: 15, quantity: 0, image: Card5 }, + { id: 6, name: 'WeatherLy', price: 17, quantity: 0, image: Card6 }, + { id: 7, name: 'TypingTest', price: 11, quantity: 0, image: '/static/media/card7.b25b2be8caee889d6ad4.png' }, + { id: 8, name: 'Artisan', price: 18, quantity: 0, image: '/static/media/card8.5c7a98cedad9864c46b7.png' }, + { id: 9, name: 'BBlocks', price: 25, quantity: 0, image: '/static/media/card9.6d96022c8f0793e6dd91.png' }, + { id: 10, name: 'ZzShoes', price: 19, quantity: 0, image: '/static/media/card10.a53e1291e52ef0a4c11c.png' }, + { id: 11, name: 'SearchImage', price: 13, quantity: 0, image: '/static/media/card11.e2371ccc231824202cda.png' }, + { id: 12, name: 'Alimage', price: 20, quantity: 0, image: '/static/media/card12.093d95181352dfd0126b.png' }, + ]; - useEffect(() => { - const items = JSON.parse(localStorage.getItem('cartItems')) || []; - setCartItems(items); + const [cartItems, setCartItems] = useState(initialItems); + const [cartCount, setCartCount] = useState( + initialItems.reduce((total, item) => total + item.quantity, 0) + ); + + const addToCart = (itemId) => { + setCartItems((prevItems) => + prevItems.map((item) => + item.id === itemId + ? { ...item, quantity: item.quantity + 1 } + : item + ) + ); + setCartCount(cartCount + 1); + }; - let itemsCount = 0; - let priceTotal = 0; + const removeFromCart = (itemId) => { + const item = cartItems.find((item) => item.id === itemId); + if (item && item.quantity > 0) { + setCartItems((prevItems) => + prevItems.map((item) => + item.id === itemId + ? { ...item, quantity: item.quantity - 1 } + : item + ) + ); + setCartCount(cartCount - 1); + } + }; - items.forEach(item => { - itemsCount += item.quantity; - priceTotal += item.price * item.quantity; - }); + const navigate = useNavigate(); - setTotalItems(itemsCount); - setTotalPrice(priceTotal); - }, []); + const signIn = () => { + navigate('/login'); // Navigate to the login page + window.scrollTo(0, 0); + }; - const checkout = () => { - alert('Proceeding to checkout...'); + const signUp = () => { + navigate('/login'); // Navigate to the login page + window.scrollTo(0, 0); }; return ( -
-
-

Your Cart

-
- {cartItems.map((item, index) => ( -
-
-

{item.name}

-

Quantity: {item.quantity}

-

Price: ${item.price * item.quantity}

+
+ + +
+ + Cart Icon + + {cartCount} +
+ +
+ + Home + + {cartItems.map((item) => ( +
+ {item.name} +

{item.name}

+
+
+ Price +

{item.price}

+
+
+ Quantity +

{item.quantity}

- ))} -
-
-

Total Items: {totalItems}

-

Total Price: ${totalPrice.toFixed(2)}

- -
+
+ + +
+
+ ))} +
+ +
+ +
-
); }; -export default ShoppingCart; +export default Cart; diff --git a/src/Components/cart/index.html b/src/Components/cart/index.html index 1035da39..ec23ee29 100644 --- a/src/Components/cart/index.html +++ b/src/Components/cart/index.html @@ -20,110 +20,70 @@ .shopping-cart { background: white; padding: 20px; - border-radius: 8px; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); - } - .shopping-cart h1 { - font-size: 24px; - margin-bottom: 20px; + border-radius: 5px; + box-shadow: 0 0 10px rgba(0,0,0,0.1); } .cart-item { - display: flex; - justify-content: space-between; - margin-bottom: 20px; - padding-bottom: 10px; - border-bottom: 1px solid #ddd; + border-bottom: 1px solid #eee; + padding: 10px 0; } .cart-item:last-child { border-bottom: none; - margin-bottom: 0; - } - .cart-item img { - width: 50px; - height: 50px; - object-fit: cover; - border-radius: 4px; } - .cart-item-info { - flex: 1; - margin-left: 20px; - } - .cart-item-name { - font-size: 18px; - margin: 0 0 5px 0; + .item-details { + display: flex; + justify-content: space-between; } - .cart-item-quantity, - .cart-item-price { - font-size: 14px; - color: #777; + .item-price { + color: #333; } - .cart-summary { + .total { + font-weight: bold; margin-top: 20px; - text-align: right; - } - .cart-summary p { - font-size: 18px; - margin: 5px 0; - } - .checkout-button { - background-color: #ff21bc; - color: white; - border: none; - padding: 10px 20px; - font-size: 18px; - border-radius: 4px; - cursor: pointer; }
-

Your Cart

+

Your Shopping Cart

-
-

Total Items:

-

Total Price: $

- +
+ Total Items: 0 | + Total Price: $0.00
diff --git a/src/Components/cart/style.js b/src/Components/cart/style.js deleted file mode 100644 index 1bbd816e..00000000 --- a/src/Components/cart/style.js +++ /dev/null @@ -1,201 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import "./cart.css"; - -export const Cart = () => { - const initialItems = [ - { id: 1, name: 'StockIT', price: 10, quantity: 2 }, - { id: 2, name: 'TakeNote', price: 12, quantity: 1 }, - { id: 3, name: 'TaRct', price: 21, quantity: 3 }, - { id: 4, name: 'To Do', price: 13, quantity: 4 }, - { id: 5, name: 'ArchiTect', price: 15, quantity: 6 }, - { id: 6, name: 'WeatherLy', price: 17, quantity: 2 }, - { id: 7, name: 'TypingTest', price: 11, quantity: 5 }, - { id: 8, name: 'Artisan', price: 18, quantity: 8 }, - { id: 9, name: 'BBlocks', price: 25, quantity: 3 }, - { id: 10, name: 'ZzShoes', price: 19, quantity: 5 }, - { id: 11, name: 'SerachImage', price: 13, quantity: 7 }, - { id: 12, name: 'Alimage', price: 20, quantity: 3 }, - ]; - - const [cartItems, setCartItems] = useState(initialItems); - const [cartCount, setCartCount] = useState( - initialItems.reduce((total, item) => total + item.quantity, 0) - ); - - useEffect(() => { - // Save cart items to local storage - localStorage.setItem('cartItems', JSON.stringify(cartItems)); - }, [cartItems]); - - const addToCart = (itemId) => { - setCartItems((prevItems) => - prevItems.map((item) => - item.id === itemId - ? { ...item, quantity: item.quantity + 1 } - : item - ) - ); - setCartCount(cartCount + 1); - }; - - const removeFromCart = (itemId) => { - const item = cartItems.find((item) => item.id === itemId); - if (item && item.quantity > 0) { - setCartItems((prevItems) => - prevItems.map((item) => - item.id === itemId - ? { ...item, quantity: item.quantity - 1 } - : item - ) - ); - setCartCount(cartCount - 1); - } - }; - - const signIn = () => { - alert('Sign in functionality'); - }; - - const signUp = () => { - alert('Sign up functionality'); - }; - - return ( -
- - -
window.location.href = 'index2.html'}> - Cart Icon - {cartCount} -
-
-

- Cart Icon - Your UniCollab Cart -

-
- {cartItems.length === 0 ? ( -

Your Cart is empty

- ) : ( - cartItems.map((item) => ( -
-

{item.name}

-

- {item.quantity} x ${item.price} -

-

Total: ${(item.price * item.quantity).toFixed(2)}

- - -
- )) - )} -
-

- Shop today's deals -

-
- - -
-
-
- ); -}; - -export default Cart; diff --git a/src/Components/footer_section/Pricing/pricing.js b/src/Components/footer_section/Pricing/pricing.js index ba074a2c..9d24436e 100644 --- a/src/Components/footer_section/Pricing/pricing.js +++ b/src/Components/footer_section/Pricing/pricing.js @@ -1,7 +1,6 @@ // pricing.js import React from "react"; import './pricing.css'; -import Arrow from '../../projects/arrow.png' import { Link } from "react-router-dom"; import homeIcon from '../../../img/homeicon.png'; From 18ab41b5195810de5ba75d24058b889057b4870b Mon Sep 17 00:00:00 2001 From: Ojas Arora <127867874+Ojas-Arora@users.noreply.github.com> Date: Wed, 24 Jul 2024 23:42:21 +0530 Subject: [PATCH 2/3] Enchancing the Design and Styling of the Cart Page --- src/Components/Login.css | 3 +- src/Components/cart/12.png | Bin 0 -> 17998 bytes src/Components/cart/cart.css | 167 ++++----- src/Components/cart/cart.js | 348 ++++++++++++------ src/Components/cart/index.html | 114 ++---- src/Components/cart/style.js | 201 ---------- .../footer_section/Pricing/pricing.js | 1 - 7 files changed, 358 insertions(+), 476 deletions(-) create mode 100644 src/Components/cart/12.png delete mode 100644 src/Components/cart/style.js diff --git a/src/Components/Login.css b/src/Components/Login.css index d213dfe4..d060f040 100644 --- a/src/Components/Login.css +++ b/src/Components/Login.css @@ -232,7 +232,6 @@ form.sign-in-form { grid-template-columns: repeat(2, 1fr); } - .container1:before { content: ""; position: absolute; @@ -248,7 +247,7 @@ form.sign-in-form { darkturquoise 100% ); transition: 1.8s ease-in-out; - border-radius: 80%; + border-radius: 50% 50% 0 0; /* Changed to a semi-circle */ z-index: 6; } diff --git a/src/Components/cart/12.png b/src/Components/cart/12.png new file mode 100644 index 0000000000000000000000000000000000000000..f1c07cec4e34453c5247fc4ba80edf58089fad93 GIT binary patch literal 17998 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 literal 0 HcmV?d00001 diff --git a/src/Components/cart/cart.css b/src/Components/cart/cart.css index 86ca0510..60d62968 100644 --- a/src/Components/cart/cart.css +++ b/src/Components/cart/cart.css @@ -1,84 +1,85 @@ body { - font-family: Arial, sans-serif; - margin: 0; - padding: 0; - background-color: #1f1c35; - color: white; - } - - .cart-container { - text-align: center; - margin-top: 50px; - } - - .cart-top { - position: fixed; - top: 10px; - right: 10px; - background-color: #ff21bc; - padding: 10px; - border-radius: 50%; - color: white; - cursor: pointer; - display: flex; - align-items: center; - } - - .cart-icon { - width: 24px; - height: 24px; - vertical-align: middle; - margin-right: 10px; - } - - .cart-count { - margin-left: 5px; - font-size: 16px; - } - - .cart-item { - border: 1px solid #ddd; - padding: 10px; - margin: 10px; - display: inline-block; - width: calc(33% - 40px); - box-sizing: border-box; - text-align: left; - box-shadow: 7px 7px 32px 0 #6052ff; - position: relative; - } - - .add-to-cart, - .remove-from-cart { - background-color: #ff21bc; - color: #fff; - border: none; - padding: 10px; - position: absolute; - bottom: 10px; - left: 30%; - transform: translateX(-50%); - border-radius: 3px; - cursor: pointer; - } - - .remove-from-cart { - left: 70%; - } - - .shop-today a { - color: #007185; - text-decoration: none; - font-weight: bold; - } - - .cart-signin button { - background-color: #ff21bc; - border: 1px solid #a88734 #9c7e31 #846a29; - color: #fff; - padding: 10px 20px; - margin: 10px; - cursor: pointer; - border-radius: 3px; - } - \ No newline at end of file + font-family: Arial, sans-serif; + margin: 0; + padding: 0; + background-color: #1f1c35; + color: white; +} + +.cart-container { + text-align: center; + margin-top: 50px; +} + +.cart-top { + position: fixed; + top: 10px; + right: 10px; + background-color: #ff21bc; + padding: 10px; + border-radius: 50%; + color: white; + cursor: pointer; + display: flex; + align-items: center; +} + +.cart-icon { + width: 24px; + height: 24px; + vertical-align: middle; + margin-right: 10px; +} + +.cart-count { + margin-left: 5px; + font-size: 16px; +} + +.cart-item { + border: 1px solid #ddd; + padding: 10px; + margin: 10px; + display: inline-block; + width: calc(33% - 40px); + box-sizing: border-box; + text-align: left; + box-shadow: 7px 7px 32px 0 #6052ff; + position: relative; +} + +.add-to-cart, +.remove-from-cart { + background-color: #ff21bc; + color: #fff; + border: none; + padding: 10px; + position: absolute; + bottom: 10px; + left: 30%; + transform: translateX(-50%); + border-radius: 3px; + cursor: pointer; +} + +.remove-from-cart { + left: 70%; +} + +.shop-today a { + color: #007185; + text-decoration: none; + font-weight: bold; +} + +.cart-signin button { + background-color: #ff21bc; + border: 1px solid #a88734 #9c7e31 #846a29; + color: #fff; + padding: 10px 20px; + margin: 10px; + cursor: pointer; + border-radius: 3px; + justify-content: flex-end; /* Aligns content (button) to the right */ + padding: 10px; /* Optional padding for the container */ +} diff --git a/src/Components/cart/cart.js b/src/Components/cart/cart.js index f46d9c05..f86d724b 100644 --- a/src/Components/cart/cart.js +++ b/src/Components/cart/cart.js @@ -1,128 +1,252 @@ -// src/components/ShoppingCart.js -import React, { useState, useEffect } from 'react'; +import React, { useState } from 'react'; +import { Link } from "react-router-dom"; +import homeIcon from '../../img/homeicon.png'; +import carticon from './12.png'; +import Card1 from "../../img/card1.jpg"; +import Card2 from "../../img/card2.jpg"; +import Card3 from "../../img/card3.jpg"; +import Card4 from "../../img/card4.jpg"; +import Card5 from "../../img/card5.jpg"; +import Card6 from "../../img/card6.jpg"; +import { useNavigate } from 'react-router-dom'; -const ShoppingCart = () => { - const [cartItems, setCartItems] = useState([]); - const [totalItems, setTotalItems] = useState(0); - const [totalPrice, setTotalPrice] = useState(0); +const Cart = () => { + const initialItems = [ + { id: 1, name: 'StockIT', price: 10, quantity: 0, image: Card1 }, + { id: 2, name: 'TakeNote', price: 12, quantity: 0, image: Card2 }, + { id: 3, name: 'TaRct', price: 21, quantity: 0, image: Card3 }, + { id: 4, name: 'To Do', price: 13, quantity: 0, image: Card4 }, + { id: 5, name: 'ArchiTect', price: 15, quantity: 0, image: Card5 }, + { id: 6, name: 'WeatherLy', price: 17, quantity: 0, image: Card6 }, + { id: 7, name: 'TypingTest', price: 11, quantity: 0, image: '/static/media/card7.b25b2be8caee889d6ad4.png' }, + { id: 8, name: 'Artisan', price: 18, quantity: 0, image: '/static/media/card8.5c7a98cedad9864c46b7.png' }, + { id: 9, name: 'BBlocks', price: 25, quantity: 0, image: '/static/media/card9.6d96022c8f0793e6dd91.png' }, + { id: 10, name: 'ZzShoes', price: 19, quantity: 0, image: '/static/media/card10.a53e1291e52ef0a4c11c.png' }, + { id: 11, name: 'SearchImage', price: 13, quantity: 0, image: '/static/media/card11.e2371ccc231824202cda.png' }, + { id: 12, name: 'Alimage', price: 20, quantity: 0, image: '/static/media/card12.093d95181352dfd0126b.png' }, + ]; - useEffect(() => { - const items = JSON.parse(localStorage.getItem('cartItems')) || []; - setCartItems(items); + const [cartItems, setCartItems] = useState(initialItems); + const [cartCount, setCartCount] = useState( + initialItems.reduce((total, item) => total + item.quantity, 0) + ); + + const addToCart = (itemId) => { + setCartItems((prevItems) => + prevItems.map((item) => + item.id === itemId + ? { ...item, quantity: item.quantity + 1 } + : item + ) + ); + setCartCount(cartCount + 1); + }; - let itemsCount = 0; - let priceTotal = 0; + const removeFromCart = (itemId) => { + const item = cartItems.find((item) => item.id === itemId); + if (item && item.quantity > 0) { + setCartItems((prevItems) => + prevItems.map((item) => + item.id === itemId + ? { ...item, quantity: item.quantity - 1 } + : item + ) + ); + setCartCount(cartCount - 1); + } + }; - items.forEach(item => { - itemsCount += item.quantity; - priceTotal += item.price * item.quantity; - }); + const navigate = useNavigate(); - setTotalItems(itemsCount); - setTotalPrice(priceTotal); - }, []); + const signIn = () => { + navigate('/login'); // Navigate to the login page + window.scrollTo(0, 0); + }; - const checkout = () => { - alert('Proceeding to checkout...'); + const signUp = () => { + navigate('/login'); // Navigate to the login page + window.scrollTo(0, 0); }; return ( -
-
-

Your Cart

-
- {cartItems.map((item, index) => ( -
-
-

{item.name}

-

Quantity: {item.quantity}

-

Price: ${item.price * item.quantity}

+
+ + +
+ + Cart Icon + + {cartCount} +
+ +
+ + Home + + {cartItems.map((item) => ( +
+ {item.name} +

{item.name}

+
+
+ Price +

{item.price}

+
+
+ Quantity +

{item.quantity}

- ))} -
-
-

Total Items: {totalItems}

-

Total Price: ${totalPrice.toFixed(2)}

- -
+
+ + +
+
+ ))} +
+ +
+ +
-
); }; -export default ShoppingCart; +export default Cart; diff --git a/src/Components/cart/index.html b/src/Components/cart/index.html index 1035da39..ec23ee29 100644 --- a/src/Components/cart/index.html +++ b/src/Components/cart/index.html @@ -20,110 +20,70 @@ .shopping-cart { background: white; padding: 20px; - border-radius: 8px; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); - } - .shopping-cart h1 { - font-size: 24px; - margin-bottom: 20px; + border-radius: 5px; + box-shadow: 0 0 10px rgba(0,0,0,0.1); } .cart-item { - display: flex; - justify-content: space-between; - margin-bottom: 20px; - padding-bottom: 10px; - border-bottom: 1px solid #ddd; + border-bottom: 1px solid #eee; + padding: 10px 0; } .cart-item:last-child { border-bottom: none; - margin-bottom: 0; - } - .cart-item img { - width: 50px; - height: 50px; - object-fit: cover; - border-radius: 4px; } - .cart-item-info { - flex: 1; - margin-left: 20px; - } - .cart-item-name { - font-size: 18px; - margin: 0 0 5px 0; + .item-details { + display: flex; + justify-content: space-between; } - .cart-item-quantity, - .cart-item-price { - font-size: 14px; - color: #777; + .item-price { + color: #333; } - .cart-summary { + .total { + font-weight: bold; margin-top: 20px; - text-align: right; - } - .cart-summary p { - font-size: 18px; - margin: 5px 0; - } - .checkout-button { - background-color: #ff21bc; - color: white; - border: none; - padding: 10px 20px; - font-size: 18px; - border-radius: 4px; - cursor: pointer; }
-

Your Cart

+

Your Shopping Cart

-
-

Total Items:

-

Total Price: $

- +
+ Total Items: 0 | + Total Price: $0.00
diff --git a/src/Components/cart/style.js b/src/Components/cart/style.js deleted file mode 100644 index 1bbd816e..00000000 --- a/src/Components/cart/style.js +++ /dev/null @@ -1,201 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import "./cart.css"; - -export const Cart = () => { - const initialItems = [ - { id: 1, name: 'StockIT', price: 10, quantity: 2 }, - { id: 2, name: 'TakeNote', price: 12, quantity: 1 }, - { id: 3, name: 'TaRct', price: 21, quantity: 3 }, - { id: 4, name: 'To Do', price: 13, quantity: 4 }, - { id: 5, name: 'ArchiTect', price: 15, quantity: 6 }, - { id: 6, name: 'WeatherLy', price: 17, quantity: 2 }, - { id: 7, name: 'TypingTest', price: 11, quantity: 5 }, - { id: 8, name: 'Artisan', price: 18, quantity: 8 }, - { id: 9, name: 'BBlocks', price: 25, quantity: 3 }, - { id: 10, name: 'ZzShoes', price: 19, quantity: 5 }, - { id: 11, name: 'SerachImage', price: 13, quantity: 7 }, - { id: 12, name: 'Alimage', price: 20, quantity: 3 }, - ]; - - const [cartItems, setCartItems] = useState(initialItems); - const [cartCount, setCartCount] = useState( - initialItems.reduce((total, item) => total + item.quantity, 0) - ); - - useEffect(() => { - // Save cart items to local storage - localStorage.setItem('cartItems', JSON.stringify(cartItems)); - }, [cartItems]); - - const addToCart = (itemId) => { - setCartItems((prevItems) => - prevItems.map((item) => - item.id === itemId - ? { ...item, quantity: item.quantity + 1 } - : item - ) - ); - setCartCount(cartCount + 1); - }; - - const removeFromCart = (itemId) => { - const item = cartItems.find((item) => item.id === itemId); - if (item && item.quantity > 0) { - setCartItems((prevItems) => - prevItems.map((item) => - item.id === itemId - ? { ...item, quantity: item.quantity - 1 } - : item - ) - ); - setCartCount(cartCount - 1); - } - }; - - const signIn = () => { - alert('Sign in functionality'); - }; - - const signUp = () => { - alert('Sign up functionality'); - }; - - return ( -
- - -
window.location.href = 'index2.html'}> - Cart Icon - {cartCount} -
-
-

- Cart Icon - Your UniCollab Cart -

-
- {cartItems.length === 0 ? ( -

Your Cart is empty

- ) : ( - cartItems.map((item) => ( -
-

{item.name}

-

- {item.quantity} x ${item.price} -

-

Total: ${(item.price * item.quantity).toFixed(2)}

- - -
- )) - )} -
-

- Shop today's deals -

-
- - -
-
-
- ); -}; - -export default Cart; diff --git a/src/Components/footer_section/Pricing/pricing.js b/src/Components/footer_section/Pricing/pricing.js index ba074a2c..9d24436e 100644 --- a/src/Components/footer_section/Pricing/pricing.js +++ b/src/Components/footer_section/Pricing/pricing.js @@ -1,7 +1,6 @@ // pricing.js import React from "react"; import './pricing.css'; -import Arrow from '../../projects/arrow.png' import { Link } from "react-router-dom"; import homeIcon from '../../../img/homeicon.png'; From 3b2fd1607029d00e2d9a2324ba52e58d46fd3c3f Mon Sep 17 00:00:00 2001 From: Ojas Arora <127867874+Ojas-Arora@users.noreply.github.com> Date: Thu, 25 Jul 2024 00:28:41 +0530 Subject: [PATCH 3/3] Enchancing the Design and Styling of the Cart Page --- src/Components/cart/cart.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Components/cart/cart.js b/src/Components/cart/cart.js index f86d724b..588ed8a4 100644 --- a/src/Components/cart/cart.js +++ b/src/Components/cart/cart.js @@ -214,7 +214,6 @@ const Cart = () => { {cartCount}
-
Home @@ -243,7 +242,7 @@ const Cart = () => {
- +
);