From d19a649b2926437dedd8604b35e7909e3ac647a9 Mon Sep 17 00:00:00 2001 From: Sitambhra Salaria <110994217+Sitambhra02@users.noreply.github.com> Date: Thu, 2 Jan 2025 13:19:38 +0530 Subject: [PATCH 001/124] Replaced second 'Add to Cart' button with 'Buy Now' button --- package-lock.json | 190 ---------------------------------------------- src/Pages/Shop.js | 12 ++- 2 files changed, 9 insertions(+), 193 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6d8cef7..c69f3e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4216,112 +4216,6 @@ "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/@testing-library/dom": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", - "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.3.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/dom/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT", - "peer": true - }, - "node_modules/@testing-library/dom/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/dom/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@testing-library/jest-dom": { "version": "5.17.0", "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", @@ -6488,13 +6382,6 @@ "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "license": "MIT" }, - "node_modules/bezier-easing": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bezier-easing/-/bezier-easing-2.1.0.tgz", - "integrity": "sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==", - "license": "MIT", - "peer": true - }, "node_modules/bfj": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", @@ -6532,13 +6419,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/bindall-standalone": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bindall-standalone/-/bindall-standalone-1.0.5.tgz", - "integrity": "sha512-HDI7YBWXVJk/eoGz+e4lYQQJnYp1ZHcUvAY71lVptLMhQnDm86vD73AGPw2qIlgYR3P0bjmoAcXiA8qhFejBhA==", - "license": "MIT", - "peer": true - }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -7879,16 +7759,6 @@ "node": ">= 0.8" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -13766,13 +13636,6 @@ "shell-quote": "^1.8.1" } }, - "node_modules/lethargy": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/lethargy/-/lethargy-1.0.9.tgz", - "integrity": "sha512-nFM8blpCF9rqIL5mRAaTGc78W8oQixVtsD86jbEPvcI13+lDUYJf3R7DZQQL7tCiBpbGpGKMX2gwJFO9hiaOkg==", - "license": "MIT", - "peer": true - }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -13845,18 +13708,6 @@ "node": ">=8" } }, - "node_modules/locomotive-scroll": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/locomotive-scroll/-/locomotive-scroll-4.1.4.tgz", - "integrity": "sha512-6i98cFF2SKg6wIPpwVPuo2FG8qL3USsdDeew78TEYZyLoqleMWNfkSDpWA6mPym4dOfTIBXc678VmGlkgx3fTA==", - "license": "MIT", - "peer": true, - "dependencies": { - "bezier-easing": "^2.1.0", - "smoothscroll-polyfill": "^0.4.4", - "virtual-scroll": "^1.5.2" - } - }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -17815,13 +17666,6 @@ "node": ">=8" } }, - "node_modules/smoothscroll-polyfill": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz", - "integrity": "sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg==", - "license": "MIT", - "peer": true - }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -18917,13 +18761,6 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "license": "MIT" }, - "node_modules/tiny-emitter": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-1.2.0.tgz", - "integrity": "sha512-rWjF00inHeWtT5UbQYAXoMI4hL6TRMqohuKCsODyPYYmfAxqfMnXLsIeNrbdPEkNxlk++rojVilTnI9IVmEBtA==", - "license": "MIT", - "peer": true - }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -19196,20 +19033,6 @@ "is-typedarray": "^1.0.0" } }, - "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "license": "Apache-2.0", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -19480,19 +19303,6 @@ "node": ">= 0.8" } }, - "node_modules/virtual-scroll": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/virtual-scroll/-/virtual-scroll-1.5.2.tgz", - "integrity": "sha512-7jDHwlKbHUho7CYU/HojE/VKFH8GV9P5fVWP2HCa7dRUOpVvwl93OBOKIIcb2mKd+vqsbVR/0zl0X70+3sUZqA==", - "license": "MIT", - "peer": true, - "dependencies": { - "bindall-standalone": "^1.0.5", - "lethargy": "^1.0.2", - "object-assign": "^4.0.1", - "tiny-emitter": "^1.0.0" - } - }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", diff --git a/src/Pages/Shop.js b/src/Pages/Shop.js index 739b892..9cfb4b7 100644 --- a/src/Pages/Shop.js +++ b/src/Pages/Shop.js @@ -2,10 +2,11 @@ import { motion } from "framer-motion"; import React from "react"; import { useDispatch } from "react-redux"; +import { useNavigate } from "react-router-dom"; import styled from "styled-components"; import { addToCart } from "../Store/cartSlice"; import Button from "../componets/Button"; - + const ShopContainer = styled.div` padding: 6rem 2rem 4rem 2rem; // Added top padding for navbar max-width: 1200px; @@ -542,11 +543,16 @@ const products = [ function Shop() { const dispatch = useDispatch(); - + const navigate = useNavigate(); const handleAddToCart = (product) => { dispatch(addToCart(product)); }; + const handleBuyNow = (product) => { + dispatch(addToCart(product)); + navigate("/checkout"); + + }; return ( handleAddToCart(product)}> Add to Cart </Button> - <StyledButton onClick={() => handleAddToCart(product)}>Add to Cart</StyledButton> + <StyledButton onClick={() => handleBuyNow(product)}>Buy Now</StyledButton> </ProductInfo> </ProductCard> From 773cc4609f812c30c86bd2c4d8d9f28aaa2b89b0 Mon Sep 17 00:00:00 2001 From: Sitambhra Salaria <110994217+Sitambhra02@users.noreply.github.com> Date: Thu, 2 Jan 2025 14:48:29 +0530 Subject: [PATCH 002/124] Fix button layout and spacing, enhance responsiveness, and refactor button styling on Shop page --- src/Pages/Shop.js | 13 +++++++++++++ src/Pages/checkOut.js | 2 +- src/componets/Button.js | 16 +++++++++++++++- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/Pages/Shop.js b/src/Pages/Shop.js index 9cfb4b7..52fe563 100644 --- a/src/Pages/Shop.js +++ b/src/Pages/Shop.js @@ -116,6 +116,16 @@ const StyledButton = styled.button` box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3); } `; +const ButtonContainer = styled.div` + display: flex; + flex-direction: row; /* Default to horizontal layout */ + gap: 10px; /* Add space between the buttons */ + + @media (max-width: 768px) { + flex-direction: column; /* Stack buttons vertically on small screens */ + gap: 10px; /* Add space between stacked buttons */ + } +`; const products = [ { @@ -579,10 +589,13 @@ function Shop() { <ProductInfo> <ProductName>{product.name}</ProductName> <ProductPrice>${product.price.toFixed(2)}</ProductPrice> + <ButtonContainer> + <Button onClick={() => handleAddToCart(product)}> Add to Cart </Button> <StyledButton onClick={() => handleBuyNow(product)}>Buy Now</StyledButton> + </ButtonContainer> </ProductInfo> </ProductCard> diff --git a/src/Pages/checkOut.js b/src/Pages/checkOut.js index c02ffd2..69a64fc 100644 --- a/src/Pages/checkOut.js +++ b/src/Pages/checkOut.js @@ -8,7 +8,7 @@ import { clearCart } from '../Store/cartSlice'; const CheckoutContainer = styled.div` padding: 4rem 2rem; max-width: 800px; - margin: 0 auto; + margin: 3.75rem auto; `; const Title = styled(motion.h1)` diff --git a/src/componets/Button.js b/src/componets/Button.js index 3c6afe6..076e261 100644 --- a/src/componets/Button.js +++ b/src/componets/Button.js @@ -11,20 +11,34 @@ const StyledButton = styled(motion.button)` border-radius: 4px; cursor: pointer; transition: all 0.3s ease; + margin-right: ${props => props.noMargin ? '0' : '10px'}; /* Add margin for spacing */ + &:hover { background-color: ${props => props.primary ? '#7c2214' : 'white'}; color: ${props => props.primary ? 'white' : '#7c2214'} } `; +const ButtonContainer = styled.div` + display: flex; + flex-direction: row; /* Default to horizontal layout */ + gap: 10px; /* Add space between the buttons */ -const Button = ({ children, primary, onClick, ...props }) => { + @media (max-width: 768px) { + flex-direction: column; /* Stack buttons vertically on small screens */ + gap: 10px; /* Add space between stacked buttons */ + } +`; + +const Button = ({ children, primary, onClick, noMargin, ...props }) => { return ( <StyledButton primary={primary} onClick={onClick} whileHover={{ scale: 1.05 }} whileTap={{ scale: 0.95 }} + noMargin={noMargin} /* pass the noMargin prop */ + {...props} > {children} From 07aacfa6e959e6d0777530766ca4474401dbb770 Mon Sep 17 00:00:00 2001 From: arjunmishraaa <arjunmishraaa01@gmail.com> Date: Thu, 2 Jan 2025 15:52:47 +0530 Subject: [PATCH 003/124] upadting the changes --- src/Pages/Shop.js | 8 +++++--- src/Pages/login.js | 16 ++++++++++------ src/componets/Button.js | 1 + src/componets/Navbar.js | 9 +++++++++ 4 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/Pages/Shop.js b/src/Pages/Shop.js index 739b892..5129f86 100644 --- a/src/Pages/Shop.js +++ b/src/Pages/Shop.js @@ -94,19 +94,21 @@ const ProductPrice = styled.p` `; const StyledButton = styled.button` - background: linear-gradient(145deg, #6b4f4f, #7d5858); + background: linear-gradient(145deg, #7c2214, #7c2216); color: white; border: none; padding: 0.6rem 1.2rem; font-size: 1rem; - border-radius: 20px; + border-radius: 4px; cursor: pointer; letter-spacing: 0.6px; box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); transition: background 0.3s ease, transform 0.2s ease; &:hover { - background: linear-gradient(145deg, #7d5858, #8e6a6a); + background: linear-gradient(145deg,rgb(241, 231, 231),rgb(255, 250, 250)); + color : #7c2214; + border : 2px solid #651d14; transform: scale(1.05); } diff --git a/src/Pages/login.js b/src/Pages/login.js index 994c7e1..1c71262 100644 --- a/src/Pages/login.js +++ b/src/Pages/login.js @@ -1,4 +1,3 @@ - import React, { useState } from 'react'; import { useDispatch } from 'react-redux'; import { login } from '../Store/authSlice'; @@ -70,12 +69,17 @@ function Login() { const handleSubmit = (e) => { e.preventDefault(); - const storedUser = JSON.parse(localStorage.getItem('user')); - if (storedUser && storedUser.username === username && storedUser.email === email && storedUser.password === password) { - dispatch(login({ username, email })); - navigate('/profile'); // Redirect to home page + const storedUser = localStorage.getItem('user'); + if (storedUser) { + const parsedUser = JSON.parse(storedUser); + if (parsedUser.username === username && parsedUser.email === email && parsedUser.password === password) { + dispatch(login({ username, email })); + navigate('/profile'); // Redirect to profile page + } else { + setError('Invalid credentials'); + } } else { - setError('Invalid credentials'); + setError('No user data found'); } }; diff --git a/src/componets/Button.js b/src/componets/Button.js index 3c6afe6..9fcc711 100644 --- a/src/componets/Button.js +++ b/src/componets/Button.js @@ -4,6 +4,7 @@ import styled from 'styled-components'; const StyledButton = styled(motion.button)` padding: 0.5rem 1rem; + margin: 1rem 1rem; font-size: 1rem; background-color: ${props => props.primary ? '#7c2214' : '#7c2214'}; color: ${props => props.primary ? 'white' : 'white'}; diff --git a/src/componets/Navbar.js b/src/componets/Navbar.js index 6937088..85c63fe 100644 --- a/src/componets/Navbar.js +++ b/src/componets/Navbar.js @@ -203,22 +203,31 @@ function Navbar() { <Link to="/">MsCafe</Link> </Logo> <NavLinks> + + {/* <!-- ------NavLink:::::Home-------------------> */} <NavLink className={location.pathname === '/' ? 'active' : ''} whileHover={{ scale: 1.05 }}> <Link to="/">Home</Link> </NavLink> + {/* <!-- ------NavLink:::::Shop-------------------> */} <NavLink className={location.pathname === '/shop' ? 'active' : ''} whileHover={{ scale: 1.05 }}> <Link to="/shop">Shop</Link> </NavLink> + + {/* <!-- ------NavLink:::::About-------------------> */} <NavLink className={location.pathname === '/about' ? 'active' : ''} whileHover={{ scale: 1.05 }}> <Link to="/about">About</Link> </NavLink> + + {/* <!-- ------NavLink::::Testinomial-------------------> */} <NavLink className={location.pathname === '/testimonial' ? 'active' : ''} whileHover={{ scale: 1.05 }}> <Link to="/testimonial">Testimonial</Link> </NavLink> + + {/* <!-- ------NavLink:::::Contacts-------------------> */} <NavLink className={location.pathname === '/contact' ? 'active' : ''} whileHover={{ scale: 1.05 }}> <Link to="/contact">Contact</Link> From 42b08d4a95a635f3f9a3c47235b11c529be6db7d Mon Sep 17 00:00:00 2001 From: Kanishka Tyagi <krishrk108@gmail.com> Date: Thu, 2 Jan 2025 17:23:27 +0530 Subject: [PATCH 004/124] Updated Profile page UI --- src/Pages/profile.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Pages/profile.js b/src/Pages/profile.js index 2bdc0f5..40f54ab 100644 --- a/src/Pages/profile.js +++ b/src/Pages/profile.js @@ -14,6 +14,7 @@ const Title = styled(motion.h1)` font-size: 2.5rem; margin-bottom: 2rem; text-align: center; + margin-top: 4rem; `; const ProfileInfo = styled(motion.div)` From 24ee3988fbfb41f86246d60d585e0d19660bda88 Mon Sep 17 00:00:00 2001 From: abhaykumar-0285 <abhay.kr2803@gmail.com> Date: Thu, 2 Jan 2025 18:28:25 +0530 Subject: [PATCH 005/124] updated the shop page button --- src/Pages/Shop.js | 5 +++-- src/componets/Button.js | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Pages/Shop.js b/src/Pages/Shop.js index ff7493f..549e8d4 100644 --- a/src/Pages/Shop.js +++ b/src/Pages/Shop.js @@ -167,7 +167,7 @@ function Shop() { animate={{ opacity: 1, scale: 1 }} transition={{ duration: 0.5 }} > - <div style={{ position: 'relative' }}> + <div style={{ position: 'relative'}}> <ProductImage src={product.image} alt={product.name} /> <Overlay className="overlay"> <OverlayText>{product.description}</OverlayText> @@ -177,6 +177,7 @@ function Shop() { <ProductName>{product.name}</ProductName> <ProductPrice>${product.price.toFixed(2)}</ProductPrice> <Button onClick={() => handleAddToCart(product)}>Add to Cart</Button> + <Button onClick={() => handleAddToCart(product)}>Buy Now</Button> </ProductInfo> </ProductCard> ))} @@ -185,4 +186,4 @@ function Shop() { ); } -export default Shop; +export default Shop; \ No newline at end of file diff --git a/src/componets/Button.js b/src/componets/Button.js index 807d39f..2e298e6 100644 --- a/src/componets/Button.js +++ b/src/componets/Button.js @@ -11,6 +11,8 @@ const StyledButton = styled(motion.button)` border-radius: 4px; cursor: pointer; transition: all 0.3s ease; + margin-right: 30px; + border-radius: 10px; &:hover { background-color: ${props => props.primary ? '#5e1a0f' : 'rgba(124, 34, 20, 0.1)'}; From 9c8e4991000ce7f01cbef0cb8a1ed42946fe3340 Mon Sep 17 00:00:00 2001 From: karanharshey <karan.harshey22@vit.edu> Date: Thu, 2 Jan 2025 18:52:50 +0530 Subject: [PATCH 006/124] Conflicts resolved --- src/Pages/Shop.js | 130 ++++++++++++++++++++++++++-------------------- 1 file changed, 75 insertions(+), 55 deletions(-) diff --git a/src/Pages/Shop.js b/src/Pages/Shop.js index 13bf79c..f2ca834 100644 --- a/src/Pages/Shop.js +++ b/src/Pages/Shop.js @@ -3,6 +3,8 @@ import { useDispatch } from 'react-redux'; import styled from 'styled-components'; import { motion } from 'framer-motion'; import { addToCart } from '../Store/cartSlice'; +import { useState } from 'react'; +import Button from '../componets/Button'; const ShopContainer = styled.div` padding: 6rem 2rem 4rem 2rem; // Added top padding for navbar @@ -18,6 +20,19 @@ const Title = styled(motion.h1)` color: #78350f; // Warm brown color `; +const DropdownContainer = styled.div` + display: flex; + justify-content: center; + margin-bottom: 2rem; +`; + +const Dropdown = styled.select` + padding: 0.5rem 1rem; + font-size: 1rem; + border: 1px solid #ddd; + border-radius: 8px; +`; + const ProductGrid = styled.div` display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); @@ -116,62 +131,65 @@ const StyledButton = styled.button` `; const products = [ - { id: 1, name: 'Espresso', price: 2.5, image: 'https://img.freepik.com/free-photo/caramel-latte-with-chocolade-table_140725-4.jpg?t=st=1727759794~exp=1727763394~hmac=c764d48b2b28767da2c6b996ec20e0d6a5857c19724850db5e46498687e16225&w=740', description: 'A strong, rich coffee shot, perfect for a quick pick-me-up.' }, - { id: 2, name: 'Cappuccino', price: 3.5, image: 'https://img.freepik.com/free-photo/delicious-organic-latte-macchiato-with-milk_23-2148420329.jpg?t=st=1727761406~exp=1727765006~hmac=10f2d9d7a08693daef2ef87ff4edd99d5bc33e1813adb65c8628d088268239b5&w=1380 ', description: 'Creamy and frothy, a classic Italian coffee with steamed milk.' }, - { id: 3, name: 'Latte', price: 4, image: 'https://img.freepik.com/free-photo/cold-chocolate-cocktail-with-ice-cream_140725-940.jpg?t=st=1727759865~exp=1727763465~hmac=ad44e2430bff005bce4db484fbef6f2ec22f05b97b41c8c6c28ecb8508c2d909&w=740 ', description: 'Smooth and milky, a comforting coffee drink with a velvety texture.' }, - { id: 4, name: 'Mocha', price: 4.5, image: 'https://img.freepik.com/free-photo/delicious-quality-coffee-cup_23-2150691385.jpg?t=st=1727759888~exp=1727763488~hmac=ea5484acf51753db6069801c3df0caa601e5d09a2265109ba218d040acb3e53c&w=1380 ', description: 'A sweet blend of coffee and chocolate, perfect for chocolate lovers.' }, - { id: 5, name: 'Americano', price: 3, image: 'https://img.freepik.com/free-photo/delicious-quality-coffee-cup_23-2150691389.jpg?t=st=1727759909~exp=1727763509~hmac=615986b69635b1e5a35b3a09347203d49046878d7525a9588f94211a3947ff58&w=1380 ', description: 'A diluted espresso shot, similar to brewed coffee but stronger.' }, - { id: 6, name: 'Macchiato', price: 3.5, image: 'https://img.freepik.com/free-photo/assortment-with-frappe-dark-background_23-2148436976.jpg?t=st=1727761354~exp=1727764954~hmac=20b5ddf356f56d12e139084bc8e2c14ad3c71677269de9680db9dc4d09250774&w=740 ', description: 'An espresso with a dollop of foamed milk, rich and creamy.' }, - { id: 7, name: 'Turkish Coffee', price: 3, image: 'https://img.freepik.com/premium-photo/pouring-turkish-coffee_772702-2136.jpg?w=360', description: 'Thick, strong, and unfiltered coffee, traditionally served in small cups.' }, - { id: 8, name: 'Flat white', price: 5.5, image: 'https://static.toiimg.com/thumb/86699095.cms?imgsize=59654&width=509&height=340 ', description: 'Velvety microfoam poured over a double shot of espresso, smooth and creamy.' }, - { id: 9, name: 'Nitro Cold Brew', price: 4.5, image: 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcR_ZcJOr1zaqJ-TkW9Ie1PcNRRrgPDnNSgX9A&s ', description: 'Cold brew infused with nitrogen, creating a creamy, Guinness-like texture.' }, - { id: 10, name: 'Doppio', price: 3.4, image: 'https://lifeboostcoffee.com/cdn/shop/articles/Doppio_Espresso_Macchiato.jpg?v=1655197439 ', description: 'A double shot of espresso, strong and intense, perfect for espresso lovers.' }, - { id: 11, name: 'Viennese Coffee', price: 4, image: 'https://irepo.primecp.com/2015/10/241007/Vienna-Coffee-01-12-07-OR_Category-CategoryPageDefault_ID-1242862.jpg?v=1242862 ', description: 'Espresso topped with whipped cream, often served with chocolate shavings.' }, - { id: 12, name: 'Ristretto', price: 5.2, image: 'https://www.castironketo.net/wp-content/uploads/2023/10/is-ristretto-keto-friendly-header-image.jpg ', description: 'A short shot of espresso, sweeter and more concentrated than regular espresso.' }, - { id: 13, name: 'Red Eye', price: 6.2, image: 'https://www.sessioncoffeedenver.com/wp-content/uploads/2024/04/what-is-a-red-eye-coffee.jpg ', description: 'A cup of brewed coffee with a shot of espresso, extra strong and caffeinated.' }, - { id: 14, name: 'Frappé', price: 8.2, image: 'https://img.sndimg.com/food/image/upload/f_auto,c_thumb,q_55,w_860,ar_3:2/v1/img/recipes/23/29/18/x38TQCFcRRiV1FJYbTLP_coffeefrappe2.jpg', description: 'Iced coffee drink blended with milk and sugar, often topped with whipped cream.' }, - { id: 15, name: 'Affogato', price: 8.6, image: 'https://static.wixstatic.com/media/6a3e8d_23b343395c7c47feab983d124cc9b4ce~mv2.jpg/v1/fill/w_568,h_770,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/6a3e8d_23b343395c7c47feab983d124cc9b4ce~mv2.jpg', description: 'A scoop of vanilla gelato drowned in a shot of hot espresso, sweet and creamy.' }, - { id: 16, name: 'Cortado', price: 6, image: 'https://cdn.shopify.com/s/files/1/0677/6524/0096/files/coffee-in-a-glass-2022-11-02-18-50-07-utc_600x600.jpg?v=1683831169', description: 'Espresso cut with a small amount of warm milk to reduce acidity.' }, - { id: 17, name: 'Café au lait', price: 3.8, image: 'https://blackturtlecoffee.com/cdn/shop/articles/Cafe-Au-Lait-004.jpg?v=1672848240', description: 'Coffee with hot milk, similar to a latte but with a stronger coffee flavor.' }, - { id: 18, name: 'Café Bombón', price: 4.6, image: 'https://www.theworktop.com/wp-content/uploads/2021/11/cafe-bombon.jpg', description: 'Espresso served with sweetened condensed milk, creating a layered effect.' }, - { id: 19, name: 'Chai', price: 7.3, image: 'https://img.freepik.com/free-photo/frappe-glass-slices-bread-with-seeds_23-2148623233.jpg?ga=GA1.1.1542821208.1727756299&semt=ais_hybrid', description: 'Spiced black tea brewed with milk and sweetened, aromatic and comforting.' }, - { id: 20, name: 'Lemon Tea', price: 4.1, image: 'https://img.freepik.com/free-photo/cup-hot-mint-tea_144627-34462.jpg?ga=GA1.1.1542821208.1727756299&semt=ais_hybrid ', description: 'Refreshing black tea infused with lemon, perfect for a soothing experience.' }, - { id: 21, name: 'Green Tea', price: 3.4, image: 'https://img.freepik.com/free-photo/cup-green-tea_144627-34463.jpg?ga=GA1.1.1542821208.1727756299&semt=ais_hybrid ', description: 'Light and delicate, made from unfermented tea leaves, rich in antioxidants.' }, - { id: 22, name: 'Black Tea', price: 4.5, image: 'https://img.freepik.com/free-photo/cup-black-tea_144627-34464.jpg?ga=GA1.1.1542821208.1727756299&semt=ais_hybrid ', description: 'Strong and full-bodied, made from fully oxidized tea leaves, classic and robust.' }, - { id: 23, name: 'Herbal Tea', price: 5.5, image: 'https://img.freepik.com/premium-photo/black-tea-cup-glass-mint-tea-leaves-white-isolated_127657-17608.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid ', description: 'Caffeine-free tea made from herbs, fruits, or spices, naturally soothing.' }, - { id: 24, name: 'Iced Tea', price: 5.6, image: 'https://img.freepik.com/free-vector/long-island-ice-tea-cocktail-realistic_1284-3888.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid ', description: 'Refreshing chilled tea, often sweetened and served with lemon, perfect for hot days.' }, + { id: 1, name: 'Espresso', price: 2.5, image: 'https://img.freepik.com/free-photo/caramel-latte-with-chocolade-table_140725-4.jpg?t=st=1727759794~exp=1727763394~hmac=c764d48b2b28767da2c6b996ec20e0d6a5857c19724850db5e46498687e16225&w=740', description: 'A strong, rich coffee shot, perfect for a quick pick-me-up.', type: 'hot' }, + { id: 2, name: 'Cappuccino', price: 3.5, image: 'https://img.freepik.com/free-photo/delicious-organic-latte-macchiato-with-milk_23-2148420329.jpg?t=st=1727761406~exp=1727765006~hmac=10f2d9d7a08693daef2ef87ff4edd99d5bc33e1813adb65c8628d088268239b5&w=1380 ', description: 'Creamy and frothy, a classic Italian coffee with steamed milk.', type: 'hot' }, + { id: 3, name: 'Latte', price: 4, image: 'https://img.freepik.com/free-photo/cold-chocolate-cocktail-with-ice-cream_140725-940.jpg?t=st=1727759865~exp=1727763465~hmac=ad44e2430bff005bce4db484fbef6f2ec22f05b97b41c8c6c28ecb8508c2d909&w=740 ', description: 'Smooth and milky, a comforting coffee drink with a velvety texture.', type: 'hot' }, + { id: 4, name: 'Mocha', price: 4.5, image: 'https://img.freepik.com/free-photo/delicious-quality-coffee-cup_23-2150691385.jpg?t=st=1727759888~exp=1727763488~hmac=ea5484acf51753db6069801c3df0caa601e5d09a2265109ba218d040acb3e53c&w=1380 ', description: 'A sweet blend of coffee and chocolate, perfect for chocolate lovers.', type: 'hot' }, + { id: 5, name: 'Americano', price: 3, image: 'https://img.freepik.com/free-photo/delicious-quality-coffee-cup_23-2150691389.jpg?t=st=1727759909~exp=1727763509~hmac=615986b69635b1e5a35b3a09347203d49046878d7525a9588f94211a3947ff58&w=1380 ', description: 'A diluted espresso shot, similar to brewed coffee but stronger.', type: 'hot' }, + { id: 6, name: 'Macchiato', price: 3.5, image: 'https://img.freepik.com/free-photo/assortment-with-frappe-dark-background_23-2148436976.jpg?t=st=1727761354~exp=1727764954~hmac=20b5ddf356f56d12e139084bc8e2c14ad3c71677269de9680db9dc4d09250774&w=740 ', description: 'An espresso with a dollop of foamed milk, rich and creamy.', type: 'hot' }, + { id: 7, name: 'Turkish Coffee', price: 3, image: 'https://img.freepik.com/premium-photo/pouring-turkish-coffee_772702-2136.jpg?w=360', description: 'Thick, strong, and unfiltered coffee, traditionally served in small cups.', type: 'hot' }, + { id: 8, name: 'Flat white', price: 5.5, image: 'https://static.toiimg.com/thumb/86699095.cms?imgsize=59654&width=509&height=340 ', description: 'Velvety microfoam poured over a double shot of espresso, smooth and creamy.', type: 'hot' }, + { id: 9, name: 'Nitro Cold Brew', price: 4.5, image: 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcR_ZcJOr1zaqJ-TkW9Ie1PcNRRrgPDnNSgX9A&s ', description: 'Cold brew infused with nitrogen, creating a creamy, Guinness-like texture.', type: 'cold' }, + { id: 10, name: 'Doppio', price: 3.4, image: 'https://lifeboostcoffee.com/cdn/shop/articles/Doppio_Espresso_Macchiato.jpg?v=1655197439 ', description: 'A double shot of espresso, strong and intense, perfect for espresso lovers.', type: 'hot' }, + { id: 11, name: 'Viennese Coffee', price: 4, image: 'https://irepo.primecp.com/2015/10/241007/Vienna-Coffee-01-12-07-OR_Category-CategoryPageDefault_ID-1242862.jpg?v=1242862 ', description: 'Espresso topped with whipped cream, often served with chocolate shavings.', type: 'cold' }, + { id: 12, name: 'Ristretto', price: 5.2, image: 'https://www.castironketo.net/wp-content/uploads/2023/10/is-ristretto-keto-friendly-header-image.jpg ', description: 'A short shot of espresso, sweeter and more concentrated than regular espresso.', type: 'hot' }, + { id: 13, name: 'Red Eye', price: 6.2, image: 'https://www.sessioncoffeedenver.com/wp-content/uploads/2024/04/what-is-a-red-eye-coffee.jpg ', description: 'A cup of brewed coffee with a shot of espresso, extra strong and caffeinated.', type: 'cold' }, + { id: 14, name: 'Frappé', price: 8.2, image: 'https://img.sndimg.com/food/image/upload/f_auto,c_thumb,q_55,w_860,ar_3:2/v1/img/recipes/23/29/18/x38TQCFcRRiV1FJYbTLP_coffeefrappe2.jpg', description: 'Iced coffee drink blended with milk and sugar, often topped with whipped cream.', type: 'cold' }, + { id: 15, name: 'Affogato', price: 8.6, image: 'https://static.wixstatic.com/media/6a3e8d_23b343395c7c47feab983d124cc9b4ce~mv2.jpg/v1/fill/w_568,h_770,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/6a3e8d_23b343395c7c47feab983d124cc9b4ce~mv2.jpg', description: 'A scoop of vanilla gelato drowned in a shot of hot espresso, sweet and creamy.', type: 'hot' }, + { id: 16, name: 'Cortado', price: 6, image: 'https://cdn.shopify.com/s/files/1/0677/6524/0096/files/coffee-in-a-glass-2022-11-02-18-50-07-utc_600x600.jpg?v=1683831169', description: 'Espresso cut with a small amount of warm milk to reduce acidity.', type: 'hot' }, + { id: 17, name: 'Café au lait', price: 3.8, image: 'https://blackturtlecoffee.com/cdn/shop/articles/Cafe-Au-Lait-004.jpg?v=1672848240', description: 'Coffee with hot milk, similar to a latte but with a stronger coffee flavor.', type: 'hot' }, + { id: 18, name: 'Café Bombón', price: 4.6, image: 'https://www.theworktop.com/wp-content/uploads/2021/11/cafe-bombon.jpg', description: 'Espresso served with sweetened condensed milk, creating a layered effect.', type: 'hot' }, + { id: 19, name: 'Chai', price: 7.3, image: 'https://img.freepik.com/free-photo/frappe-glass-slices-bread-with-seeds_23-2148623233.jpg?ga=GA1.1.1542821208.1727756299&semt=ais_hybrid', description: 'Spiced black tea brewed with milk and sweetened, aromatic and comforting.', type: 'hot' }, + { id: 20, name: 'Lemon Tea', price: 4.1, image: 'https://img.freepik.com/free-photo/cup-hot-mint-tea_144627-34462.jpg?ga=GA1.1.1542821208.1727756299&semt=ais_hybrid ', description: 'Refreshing black tea infused with lemon, perfect for a soothing experience.', type: 'hot' }, + { id: 21, name: 'Green Tea', price: 3.4, image: 'https://img.freepik.com/free-photo/cup-green-tea_144627-34463.jpg?ga=GA1.1.1542821208.1727756299&semt=ais_hybrid ', description: 'Light and delicate, made from unfermented tea leaves, rich in antioxidants.', type: 'hot' }, + { id: 22, name: 'Black Tea', price: 4.5, image: 'https://img.freepik.com/free-photo/cup-black-tea_144627-34464.jpg?ga=GA1.1.1542821208.1727756299&semt=ais_hybrid ', description: 'Strong and full-bodied, made from fully oxidized tea leaves, classic and robust.', type: 'hot' }, + { id: 23, name: 'Herbal Tea', price: 5.5, image: 'https://img.freepik.com/premium-photo/black-tea-cup-glass-mint-tea-leaves-white-isolated_127657-17608.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid ', description: 'Caffeine-free tea made from herbs, fruits, or spices, naturally soothing.', type: 'hot' }, + { id: 24, name: 'Iced Tea', price: 5.6, image: 'https://img.freepik.com/free-vector/long-island-ice-tea-cocktail-realistic_1284-3888.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid ', description: 'Refreshing chilled tea, often sweetened and served with lemon, perfect for hot days.', type: 'cold' }, { id: 25, name: 'Irish Coffee', price: 7.2, image: 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRNlPYx_StS2Y7x9s4hukcCyJZaDm54mgbe8g&s', description: 'Coffee with Irish whiskey, sugar, and cream, a warm and boozy treat.' }, - { id: 26, name: 'Strawberry smoothie', price: 6.2, image: 'https://www.eatingwell.com/thmb/TBp6lbiwoYPhRP4N__4sROiUDhA=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/mixed-berry-breakfast-smoothie-7959466-1x1-e0ad2304222e49508cda7b73b21de921.jpg', description: 'Creamy and sweet, made with fresh strawberries, yogurt, and a touch of honey.' }, - { id: 27, name: 'Mango smoothie', price: 3.2, image: 'https://cdn.loveandlemons.com/wp-content/uploads/2023/05/mango-smoothie.jpg', description: 'Tropical and refreshing, blended with ripe mangoes, banana, and coconut milk.' }, - { id: 28, name: 'Strawberry banana smoothie', price: 6.45, image: 'https://www.purelykaylie.com/wp-content/uploads/2023/07/strawberry-banana-smoothie-bowl-5.jpg', description: 'A classic combination of strawberries and bananas, creamy and naturally sweet.' }, - { id: 29, name: 'Creamy, Nutty Coffee Smoothie', price: 7.2, image: 'https://www.seriouseats.com/thmb/dwKjOOPQu1ki3pSf1M4eB7FGVzI=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/20240206-SEA-Coffee-Smoothie-hero-27d1864a41cc411ea7ff0c64ada77a2e.jpg', description: 'A rich blend of coffee, nuts, and cream, perfect for a morning energy boost.' }, - { id: 30, name: 'Coffee Smoothie', price: 6.3, image: 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT-Y9in1wQf-XCl9sdyuw5pXWT_CrYn8P5j7A&s', description: 'Creamy and caffeinated, made with cold brew, banana, and almond milk.' }, - { id: 31, name: 'Chocolate Milkshake', price: 5.2, image: 'https://www.sharmispassions.com/wp-content/uploads/2012/07/chocolate-milkshake1.jpg', description: 'Rich and indulgent, made with chocolate ice cream, milk, and whipped cream.' }, - { id: 32, name: 'Oreo Milkshake', price: 5.2, image: 'https://www.solara.in/cdn/shop/articles/Oreo_Milkshake.jpg?v=1715757748&width=2048', description: 'Creamy and delicious, blended with Oreo cookies, ice cream, and milk.' }, - { id: 33, name: 'Strawberry Oreo Milkshake', price: 2.6, image: 'https://marleysmenu.com/wp-content/uploads/2021/08/Strawberry-Oreo-Milkshake-Featured-Image.jpg', description: 'A sweet blend of strawberries, Oreo cookies, and ice cream, perfect for dessert lovers.' }, - { id: 34, name: 'Mixed Nut and Fruit Milkshake', price: 8.2, image: 'https://images.mrcook.app/recipe-image/018d50f7-344f-7744-97e3-1f89e5a3cf29', description: 'A nutritious blend of mixed nuts, fruits, and milk, creamy and satisfying.' }, - { id: 35, name: 'Peanut Butter Milkshake', price: 5.8, image: 'https://www.julieseatsandtreats.com/wp-content/uploads/2021/08/Peanut-Butter-Milkshake-Square.jpg', description: "Rich and creamy, made with peanut butter, ice cream, and milk, a peanut butter lover's dream."}, - { id: 36, name: 'Oreo cheese cake', price: 9.2, image: 'https://handletheheat.com/wp-content/uploads/2015/11/oreo-cheesecake-recipe-SQUARE.jpg', description: 'Creamy cheesecake with an Oreo crust and topping, rich and indulgent.' }, - { id: 37, name: 'Chocolate cake', price: 7.2, image: 'https://img.freepik.com/free-photo/chocolate-cake_1203-8942.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Moist and decadent, a classic chocolate cake perfect for any celebration.' }, - { id: 38, name: 'Red velvet cake', price: 4.2, image: 'https://img.freepik.com/free-photo/top-view-red-strawberry-cake-delicious-with-tea-table-fruit-color-cake-biscuit-sweet_140725-28319.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Rich and velvety, a moist red cake with cream cheese frosting, elegant and delicious.' }, - { id: 39, name: 'Cheese cake', price: 8.2, image: 'https://img.freepik.com/premium-photo/citrus-cheesecake-cake-with-kumquats_82780-1574.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Creamy and smooth, a classic cheesecake with a graham cracker crust, perfect for dessert.' }, - { id: 40, name: 'Blueberry cake', price: 3.2, image: 'https://img.freepik.com/premium-photo/pieces-pie-from-cottage-cheese-blueberries_116441-1516.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Moist and bursting with blueberries, a sweet and tangy cake perfect for any occasion.' }, - { id: 41, name: 'Strawberry cake', price: 6, image: 'https://img.freepik.com/free-photo/delicious-cake-with-strawberries_23-2150797874.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Light and fluffy, a sweet strawberry cake with creamy frosting, perfect for summer.' }, - { id: 42, name: 'Salad', price: 7.3, image: 'https://img.freepik.com/free-photo/dietary-salad-with-tomatoes-feta-lettuce-spinach-pine-nuts_2829-20128.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Fresh and healthy, a mix of greens, vegetables, and a tangy dressing, perfect for a light meal.' }, - { id: 43, name: 'Tomato soup', price: 6.7, image: 'https://img.freepik.com/free-photo/portrait-shooting-tomato-soup-with-crackers-cheese-tomatoes-bread-table_141793-2858.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Warm and comforting, a classic tomato soup perfect for a cozy meal, often served with grilled cheese.' }, - { id: 44, name: 'Chicken Noodle soup', price: 8.2, image: 'https://img.freepik.com/free-photo/delicious-noodle-soup-with-chicken-uncooked-pasta-small-brown-bowl-spoon-garlic-dark-background_140725-140085.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Hearty and soothing, a classic soup with chicken, noodles, and vegetables, perfect for cold days.' }, - { id: 45, name: 'Miso soup', price: 7.5, image: 'https://img.freepik.com/free-photo/top-view-japanese-food-bowls-arrangement_23-2148809848.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Savory and umami-rich, a traditional Japanese soup made with miso paste and dashi broth.' }, - { id: 46, name: 'Cold cucumber soup', price: 7.34, image: 'https://img.freepik.com/free-photo/cold-cucumber-soup-with-dried-tomatoes-mozzarella_2829-14287.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Refreshing and cool, a chilled soup made with cucumbers, yogurt, and herbs, perfect for summer.' }, - { id: 47, name: 'Tom Yum Soup', price: 9.2, image: 'https://img.freepik.com/free-photo/tom-yum-kung-thai-hot-spicy-soup-shrimp-with-lemon-grass-lemon-galangal-chilli-wooden-table-thailand-food_1150-21078.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Spicy and aromatic, a Thai soup with lemongrass, kaffir lime leaves, and chilies, often with shrimp.' }, + { id: 26, name: 'Strawberry smoothie', price: 6.2, image: 'https://www.eatingwell.com/thmb/TBp6lbiwoYPhRP4N__4sROiUDhA=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/mixed-berry-breakfast-smoothie-7959466-1x1-e0ad2304222e49508cda7b73b21de921.jpg', description: 'Creamy and sweet, made with fresh strawberries, yogurt, and a touch of honey.', type: 'cold' }, + { id: 27, name: 'Mango smoothie', price: 3.2, image: 'https://cdn.loveandlemons.com/wp-content/uploads/2023/05/mango-smoothie.jpg', description: 'Tropical and refreshing, blended with ripe mangoes, banana, and coconut milk.', type: 'cold' }, + { id: 28, name: 'Strawberry banana smoothie', price: 6.45, image: 'https://www.purelykaylie.com/wp-content/uploads/2023/07/strawberry-banana-smoothie-bowl-5.jpg', description: 'A classic combination of strawberries and bananas, creamy and naturally sweet.', type: 'cold' }, + { id: 29, name: 'Creamy, Nutty Coffee Smoothie', price: 7.2, image: 'https://www.seriouseats.com/thmb/dwKjOOPQu1ki3pSf1M4eB7FGVzI=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/20240206-SEA-Coffee-Smoothie-hero-27d1864a41cc411ea7ff0c64ada77a2e.jpg', description: 'A rich blend of coffee, nuts, and cream, perfect for a morning energy boost.', type: 'cold' }, + { id: 30, name: 'Coffee Smoothie', price: 6.3, image: 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT-Y9in1wQf-XCl9sdyuw5pXWT_CrYn8P5j7A&s', description: 'Creamy and caffeinated, made with cold brew, banana, and almond milk.', type: 'cold' }, + { id: 31, name: 'Chocolate Milkshake', price: 5.2, image: 'https://www.sharmispassions.com/wp-content/uploads/2012/07/chocolate-milkshake1.jpg', description: 'Rich and indulgent, made with chocolate ice cream, milk, and whipped cream.', type: 'cold' }, + { id: 32, name: 'Oreo Milkshake', price: 5.2, image: 'https://www.solara.in/cdn/shop/articles/Oreo_Milkshake.jpg?v=1715757748&width=2048', description: 'Creamy and delicious, blended with Oreo cookies, ice cream, and milk.', type: 'cold' }, + { id: 33, name: 'Strawberry Oreo Milkshake', price: 2.6, image: 'https://marleysmenu.com/wp-content/uploads/2021/08/Strawberry-Oreo-Milkshake-Featured-Image.jpg', description: 'A sweet blend of strawberries, Oreo cookies, and ice cream, perfect for dessert lovers.', type: 'cold' }, + { id: 34, name: 'Mixed Nut and Fruit Milkshake', price: 8.2, image: 'https://images.mrcook.app/recipe-image/018d50f7-344f-7744-97e3-1f89e5a3cf29', description: 'A nutritious blend of mixed nuts, fruits, and milk, creamy and satisfying.', type: 'cold' }, + { id: 35, name: 'Peanut Butter Milkshake', price: 5.8, image: 'https://www.julieseatsandtreats.com/wp-content/uploads/2021/08/Peanut-Butter-Milkshake-Square.jpg', description: "Rich and creamy, made with peanut butter, ice cream, and milk, a peanut butter lover's dream.", type: 'cold'}, + { id: 36, name: 'Oreo cheese cake', price: 9.2, image: 'https://handletheheat.com/wp-content/uploads/2015/11/oreo-cheesecake-recipe-SQUARE.jpg', description: 'Creamy cheesecake with an Oreo crust and topping, rich and indulgent.', type: 'food' }, + { id: 37, name: 'Chocolate cake', price: 7.2, image: 'https://img.freepik.com/free-photo/chocolate-cake_1203-8942.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Moist and decadent, a classic chocolate cake perfect for any celebration.', type: 'food' }, + { id: 38, name: 'Red velvet cake', price: 4.2, image: 'https://img.freepik.com/free-photo/top-view-red-strawberry-cake-delicious-with-tea-table-fruit-color-cake-biscuit-sweet_140725-28319.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Rich and velvety, a moist red cake with cream cheese frosting, elegant and delicious.', type: 'food' }, + { id: 39, name: 'Cheese cake', price: 8.2, image: 'https://img.freepik.com/premium-photo/citrus-cheesecake-cake-with-kumquats_82780-1574.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Creamy and smooth, a classic cheesecake with a graham cracker crust, perfect for dessert.', type: 'food' }, + { id: 40, name: 'Blueberry cake', price: 3.2, image: 'https://img.freepik.com/premium-photo/pieces-pie-from-cottage-cheese-blueberries_116441-1516.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Moist and bursting with blueberries, a sweet and tangy cake perfect for any occasion.', type: 'food' }, + { id: 41, name: 'Strawberry cake', price: 6, image: 'https://img.freepik.com/free-photo/delicious-cake-with-strawberries_23-2150797874.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Light and fluffy, a sweet strawberry cake with creamy frosting, perfect for summer.', type: 'food' }, + { id: 42, name: 'Salad', price: 7.3, image: 'https://img.freepik.com/free-photo/dietary-salad-with-tomatoes-feta-lettuce-spinach-pine-nuts_2829-20128.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Fresh and healthy, a mix of greens, vegetables, and a tangy dressing, perfect for a light meal.', type: 'food' }, + { id: 43, name: 'Tomato soup', price: 6.7, image: 'https://img.freepik.com/free-photo/portrait-shooting-tomato-soup-with-crackers-cheese-tomatoes-bread-table_141793-2858.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Warm and comforting, a classic tomato soup perfect for a cozy meal, often served with grilled cheese.', type: 'food' }, + { id: 44, name: 'Chicken Noodle soup', price: 8.2, image: 'https://img.freepik.com/free-photo/delicious-noodle-soup-with-chicken-uncooked-pasta-small-brown-bowl-spoon-garlic-dark-background_140725-140085.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Hearty and soothing, a classic soup with chicken, noodles, and vegetables, perfect for cold days.', type: 'food' }, + { id: 45, name: 'Miso soup', price: 7.5, image: 'https://img.freepik.com/free-photo/top-view-japanese-food-bowls-arrangement_23-2148809848.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Savory and umami-rich, a traditional Japanese soup made with miso paste and dashi broth.', type: 'food' }, + { id: 46, name: 'Cold cucumber soup', price: 7.34, image: 'https://img.freepik.com/free-photo/cold-cucumber-soup-with-dried-tomatoes-mozzarella_2829-14287.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Refreshing and cool, a chilled soup made with cucumbers, yogurt, and herbs, perfect for summer.', type: 'food' }, + { id: 47, name: 'Tom Yum Soup', price: 9.2, image: 'https://img.freepik.com/free-photo/tom-yum-kung-thai-hot-spicy-soup-shrimp-with-lemon-grass-lemon-galangal-chilli-wooden-table-thailand-food_1150-21078.jpg?ga=GA1.1.900909129.1729318722&semt=ais_hybrid', description: 'Spicy and aromatic, a Thai soup with lemongrass, kaffir lime leaves, and chilies, often with shrimp.', type: 'food' }, ] function Shop() { const dispatch = useDispatch(); + const [category, setCategory] = useState('hot'); const handleAddToCart = (product) => { dispatch(addToCart(product)); }; + const filteredProducts = products.filter((product) => product.type === category); + return ( <ShopContainer> <Title @@ -179,26 +197,28 @@ function Shop() { animate={{ opacity: 1, y: 0 }} transition={{ duration: 0.5 }} > - Our Coffee Selection + Our Beverage Selection + + setCategory(e.target.value)}> + + + + + - {products.map((product) => ( + {filteredProducts.map((product) => ( -
- - - {product.description} - -
+ {product.name} ${product.price.toFixed(2)} - handleAddToCart(product)}>Add to Cart +
))} From eac0d548c641bebfacfb23eb93a87fe5f24ab1e7 Mon Sep 17 00:00:00 2001 From: Utkarsh973 Date: Thu, 2 Jan 2025 19:01:35 +0530 Subject: [PATCH 007/124] Enhanced Testimonial Pages --- src/Pages/Testimonial.css | 200 ++++++++++++++++++++----------------- src/Pages/Testimonial.js | 201 +++++++++++++++----------------------- 2 files changed, 194 insertions(+), 207 deletions(-) diff --git a/src/Pages/Testimonial.css b/src/Pages/Testimonial.css index faed088..2d914d8 100644 --- a/src/Pages/Testimonial.css +++ b/src/Pages/Testimonial.css @@ -1,108 +1,134 @@ -*{ - margin:0; +* { + margin: 0; padding: 0; - font-family: 'poppins', sans-serif ; -} - -.testimonial{ - background:#f8f8f8; - height:90vh; -} -h1{ + font-family: 'Poppins', sans-serif; + } + + body { + padding-top: 70px; + } + + .testimonial { + background: linear-gradient(to bottom, #f5e3dc, #e5d0c3); + padding: 5%; text-align: center; - color: #7c2214; -} - -.container{ - margin-top: 5%; -} - -.image-text{ - width:100% ; + background-image: url('https://www.transparenttextures.com/patterns/wood-pattern.png'); + background-blend-mode: overlay; + background-size: cover; + } + + h1 { + font-size: 2.5rem; + color: #6f4e37; + margin-bottom: 2rem; + animation: fadeIn 1s ease-in-out; + } + + .carousel-container { + position: relative; + } + + .testimonial-row { + display: flex; + justify-content: center; + gap: 2rem; + padding: 5rem 0; + } + + .single { + position: relative; + width: 300px; height: 300px; - display: block; text-align: center; - padding: 40% 5%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + padding-top: 70px; background: white; - color:black ; - border-radius: 15px; - box-shadow: 0px 2px 6px 3px rgba(0, 0, 0, 0.1); - animation: fadeInUp 1s ease-in-out; /* Added animation */ -} - -.image-text h2{ - font-size: 25px; - text-transform: uppercase; - letter-spacing: 2px; -} - -.image-text p{ - font-size: 14px; -} - -.single{ - position: relative; - margin-bottom: 50px; -} - -.image{ + border-radius: 10px; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); + animation: fadeInUp 1s ease-in-out; + } + + .image { position: absolute; - width:100px; - height: 100px; - border: 3px solid #7c2214; - overflow: hidden; - top:15px; - left:125px; + top: -60px; + left: 50%; + transform: translateX(-50%); + width: 120px; + height: 120px; + border: 5px solid #7c2214; border-radius: 50%; - animation: bounceIn 1s ease-in-out; /* Added animation */ -} - -.image img{ + overflow: hidden; + background: #fff; + } + + .image img { width: 100%; + height: 100%; object-fit: cover; -} - -.carousel-indicators{ - left: 0; - top: auto; - bottom: -70px; -} - -@keyframes fadeInUp { + object-position: center; + } + + .image-text { + padding: 20px; + flex: 1; + display: flex; + flex-direction: column; + justify-content: space-between; + } + + .image-text h2 { + font-size: 1.5rem; + margin-bottom: 1rem; + color: #7c2214; + } + + .image-text p { + font-size: 1rem; + color: #333; + } + + + .carousel-control-prev-icon, + .carousel-control-next-icon { + filter: invert(1); + } + + @keyframes fadeIn { 0% { - opacity: 0; - transform: translateY(20px); + opacity: 0; + transform: translateY(-20px); } 100% { - opacity: 1; - transform: translateY(0); - } -} - -@keyframes bounceIn { - 0%, 20%, 40%, 60%, 80%, 100% { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + opacity: 1; + transform: translateY(0); } + } + + @keyframes fadeInUp { 0% { - opacity: 0; - transform: scale3d(.3, .3, .3); + opacity: 0; + transform: translateY(20px); } - 20% { - transform: scale3d(1.1, 1.1, 1.1); + 100% { + opacity: 1; + transform: translateY(0); } - 40% { - transform: scale3d(.9, .9, .9); + } + + @keyframes bounceIn { + 0% { + transform: scale(0.5); + opacity: 0; } 60% { - opacity: 1; - transform: scale3d(1.03, 1.03, 1.03); - } - 80% { - transform: scale3d(.97, .97, .97); + transform: scale(1.2); + opacity: 1; } 100% { - opacity: 1; - transform: scale3d(1, 1, 1); + transform: scale(1); } -} + } + \ No newline at end of file diff --git a/src/Pages/Testimonial.js b/src/Pages/Testimonial.js index d6a7489..e10621b 100644 --- a/src/Pages/Testimonial.js +++ b/src/Pages/Testimonial.js @@ -1,132 +1,93 @@ -import React from 'react' -import './Testimonial.css' +import React from 'react'; +import './Testimonial.css'; - - function Testimonial() { +function Testimonial() { return ( <> -
- +
-

What Our Customer Says

-
-
-
-
- - -
-
-
-
-
-
-
- -
-
-

Devolina

-

⭐️⭐️⭐️⭐️

-

- -"Best coffee in town! The aroma of freshly brewed coffee hits you the moment you walk in. Their baristas are true artists, and every cup is a masterpiece.

-
-
- -
-
-
-
- -
-
-

Priya Jha

-

⭐️⭐️⭐️⭐️

-

A hidden gem! This coffee shop not only has a fantastic selection of drinks but also a mouth-watering array of pastries.

-
-
- -
-
-
-
- -
-
-

Hellan

-

⭐️⭐️⭐️⭐️

-

"Perfect spot to unwind. The music is just the right volume, the seating is comfortable, and there’s always a good mix of people.

-
-
- -
-
-
- -
-
-
-
-
- -
-
-

David

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. - Tenetur qui sapiente voluptatum consectetur hic id praesentium, harum dicta eligendi, iste cupiditate reprehenderit. - Porro veritatis obcaecati sequi necessitatibus quidem nemo ratione?

-
-
- -
-
-
-
- -
-
-

John

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. - Tenetur qui sapiente voluptatum consectetur hic id praesentium, harum dicta eligendi, iste cupiditate reprehenderit. - Porro veritatis obcaecati sequi necessitatibus quidem nemo ratione?

-
-
- -
-
-
-
- -
-
-

Sandy

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. - Tenetur qui sapiente voluptatum consectetur hic id praesentium, harum dicta eligendi, iste cupiditate reprehenderit. - Porro veritatis obcaecati sequi necessitatibus quidem nemo ratione?

-
-
-
-
- -
- - -
+

What Our Customers Say

+
+
+
+ + +
+
+
+
+ + + +
+
+
+
+ + +
-
+
+
+ +
+
-
+
); } -export default Testimonial; - +function TestimonialCard({ name, image, rating, text }) { + return ( +
+
+ {name} +
+
+

{name}

+

{rating}

+

{text}

+
+
+ ); +} +export default Testimonial; From c09cc2e7422e86b2bc86185e8e9990bb7511633d Mon Sep 17 00:00:00 2001 From: Neeru <161798182+neeru24@users.noreply.github.com> Date: Thu, 2 Jan 2025 14:16:47 +0000 Subject: [PATCH 008/124] Commit Changes --- package-lock.json | 190 +++++++++++++++++++++++++++++++++++++++++++ src/Pages/contact.js | 11 +++ 2 files changed, 201 insertions(+) diff --git a/package-lock.json b/package-lock.json index c69f3e6..6d8cef7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4216,6 +4216,112 @@ "url": "https://github.com/sponsors/tannerlinsley" } }, + "node_modules/@testing-library/dom": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", + "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", + "peer": true + }, + "node_modules/@testing-library/dom/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/dom/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@testing-library/jest-dom": { "version": "5.17.0", "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", @@ -6382,6 +6488,13 @@ "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "license": "MIT" }, + "node_modules/bezier-easing": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bezier-easing/-/bezier-easing-2.1.0.tgz", + "integrity": "sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==", + "license": "MIT", + "peer": true + }, "node_modules/bfj": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", @@ -6419,6 +6532,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/bindall-standalone": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bindall-standalone/-/bindall-standalone-1.0.5.tgz", + "integrity": "sha512-HDI7YBWXVJk/eoGz+e4lYQQJnYp1ZHcUvAY71lVptLMhQnDm86vD73AGPw2qIlgYR3P0bjmoAcXiA8qhFejBhA==", + "license": "MIT", + "peer": true + }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -7759,6 +7879,16 @@ "node": ">= 0.8" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -13636,6 +13766,13 @@ "shell-quote": "^1.8.1" } }, + "node_modules/lethargy": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/lethargy/-/lethargy-1.0.9.tgz", + "integrity": "sha512-nFM8blpCF9rqIL5mRAaTGc78W8oQixVtsD86jbEPvcI13+lDUYJf3R7DZQQL7tCiBpbGpGKMX2gwJFO9hiaOkg==", + "license": "MIT", + "peer": true + }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -13708,6 +13845,18 @@ "node": ">=8" } }, + "node_modules/locomotive-scroll": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/locomotive-scroll/-/locomotive-scroll-4.1.4.tgz", + "integrity": "sha512-6i98cFF2SKg6wIPpwVPuo2FG8qL3USsdDeew78TEYZyLoqleMWNfkSDpWA6mPym4dOfTIBXc678VmGlkgx3fTA==", + "license": "MIT", + "peer": true, + "dependencies": { + "bezier-easing": "^2.1.0", + "smoothscroll-polyfill": "^0.4.4", + "virtual-scroll": "^1.5.2" + } + }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -17666,6 +17815,13 @@ "node": ">=8" } }, + "node_modules/smoothscroll-polyfill": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz", + "integrity": "sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg==", + "license": "MIT", + "peer": true + }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -18761,6 +18917,13 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "license": "MIT" }, + "node_modules/tiny-emitter": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-1.2.0.tgz", + "integrity": "sha512-rWjF00inHeWtT5UbQYAXoMI4hL6TRMqohuKCsODyPYYmfAxqfMnXLsIeNrbdPEkNxlk++rojVilTnI9IVmEBtA==", + "license": "MIT", + "peer": true + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -19033,6 +19196,20 @@ "is-typedarray": "^1.0.0" } }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -19303,6 +19480,19 @@ "node": ">= 0.8" } }, + "node_modules/virtual-scroll": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/virtual-scroll/-/virtual-scroll-1.5.2.tgz", + "integrity": "sha512-7jDHwlKbHUho7CYU/HojE/VKFH8GV9P5fVWP2HCa7dRUOpVvwl93OBOKIIcb2mKd+vqsbVR/0zl0X70+3sUZqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "bindall-standalone": "^1.0.5", + "lethargy": "^1.0.2", + "object-assign": "^4.0.1", + "tiny-emitter": "^1.0.0" + } + }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", diff --git a/src/Pages/contact.js b/src/Pages/contact.js index 54bf9f7..8b8f4ee 100644 --- a/src/Pages/contact.js +++ b/src/Pages/contact.js @@ -26,6 +26,11 @@ const Input = styled.input` font-size: 1rem; border: 1px solid #ccc; border-radius: 4px; + transition: transform 0.3s ease-in-out; + + &:hover { + transform: scale(1.05); /* Slightly scales up the input */ + } `; const TextArea = styled.textarea` @@ -34,8 +39,14 @@ const TextArea = styled.textarea` border: 1px solid #ccc; border-radius: 4px; min-height: 150px; + transition: transform 0.3s ease-in-out; + + &:hover { + transform: scale(1.05); /* Slightly scales up the textarea */ + } `; + function Contact() { const [formData, setFormData] = useState({ name: '', From b60f1ddb809079d8caed2e009953e8ad5d5c2ade Mon Sep 17 00:00:00 2001 From: SUJAY Date: Thu, 2 Jan 2025 20:04:16 +0530 Subject: [PATCH 009/124] Forget Password feature added --- package-lock.json | 208 ++++++++++++++++++++++++++++++++++++ package.json | 2 + src/App.js | 3 +- src/Pages/ForgetPassword.js | 99 +++++++++++++++++ src/Pages/login.js | 51 ++++++--- 5 files changed, 345 insertions(+), 18 deletions(-) create mode 100644 src/Pages/ForgetPassword.js diff --git a/package-lock.json b/package-lock.json index c69f3e6..05518d6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "@babel/plugin-proposal-private-property-in-object": "^7.21.11", "@headlessui/react": "^2.1.8", "@heroicons/react": "^2.1.5", + "@lottiefiles/dotlottie-react": "^0.12.0", "@reduxjs/toolkit": "^2.2.7", "@tailwindcss/typography": "^0.5.15", "@testing-library/jest-dom": "^5.17.0", @@ -18,6 +19,7 @@ "@testing-library/user-event": "^13.5.0", "framer-motion": "^11.9.0", "gsap": "^3.12.5", + "lottie-react": "^2.4.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-locomotive-scroll": "^0.2.2", @@ -3554,6 +3556,22 @@ "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", "license": "MIT" }, + "node_modules/@lottiefiles/dotlottie-react": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@lottiefiles/dotlottie-react/-/dotlottie-react-0.12.0.tgz", + "integrity": "sha512-33Tsd67vlotrm43R8oko30Krwyuqb0YdOLra7L5m2mVfrTvDPEDBt8jfjgiveoLJ0jG/FlTLiCPXi/vCaBSXrg==", + "dependencies": { + "@lottiefiles/dotlottie-web": "0.38.2" + }, + "peerDependencies": { + "react": "^17 || ^18 || ^19" + } + }, + "node_modules/@lottiefiles/dotlottie-web": { + "version": "0.38.2", + "resolved": "https://registry.npmjs.org/@lottiefiles/dotlottie-web/-/dotlottie-web-0.38.2.tgz", + "integrity": "sha512-01d+UjJ8NG7ZStYQxtb8FPzknzGmauG7gEkcH+wHfSdiSQJY9PoBNVSTB9V6F5hAnmFqOxaocTtd7TIEEnzMnA==" + }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -4216,6 +4234,104 @@ "url": "https://github.com/sponsors/tannerlinsley" } }, + "node_modules/@testing-library/dom": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", + "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "peer": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "node_modules/@testing-library/dom/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/dom/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@testing-library/jest-dom": { "version": "5.17.0", "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", @@ -6382,6 +6498,12 @@ "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "license": "MIT" }, + "node_modules/bezier-easing": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bezier-easing/-/bezier-easing-2.1.0.tgz", + "integrity": "sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==", + "peer": true + }, "node_modules/bfj": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", @@ -6419,6 +6541,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/bindall-standalone": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bindall-standalone/-/bindall-standalone-1.0.5.tgz", + "integrity": "sha512-HDI7YBWXVJk/eoGz+e4lYQQJnYp1ZHcUvAY71lVptLMhQnDm86vD73AGPw2qIlgYR3P0bjmoAcXiA8qhFejBhA==", + "peer": true + }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -7759,6 +7887,15 @@ "node": ">= 0.8" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "peer": true, + "engines": { + "node": ">=6" + } + }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -13636,6 +13773,12 @@ "shell-quote": "^1.8.1" } }, + "node_modules/lethargy": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/lethargy/-/lethargy-1.0.9.tgz", + "integrity": "sha512-nFM8blpCF9rqIL5mRAaTGc78W8oQixVtsD86jbEPvcI13+lDUYJf3R7DZQQL7tCiBpbGpGKMX2gwJFO9hiaOkg==", + "peer": true + }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -13708,6 +13851,17 @@ "node": ">=8" } }, + "node_modules/locomotive-scroll": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/locomotive-scroll/-/locomotive-scroll-4.1.4.tgz", + "integrity": "sha512-6i98cFF2SKg6wIPpwVPuo2FG8qL3USsdDeew78TEYZyLoqleMWNfkSDpWA6mPym4dOfTIBXc678VmGlkgx3fTA==", + "peer": true, + "dependencies": { + "bezier-easing": "^2.1.0", + "smoothscroll-polyfill": "^0.4.4", + "virtual-scroll": "^1.5.2" + } + }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -13768,6 +13922,23 @@ "loose-envify": "cli.js" } }, + "node_modules/lottie-react": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/lottie-react/-/lottie-react-2.4.0.tgz", + "integrity": "sha512-pDJGj+AQlnlyHvOHFK7vLdsDcvbuqvwPZdMlJ360wrzGFurXeKPr8SiRCjLf3LrNYKANQtSsh5dz9UYQHuqx4w==", + "dependencies": { + "lottie-web": "^5.10.2" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/lottie-web": { + "version": "5.12.2", + "resolved": "https://registry.npmjs.org/lottie-web/-/lottie-web-5.12.2.tgz", + "integrity": "sha512-uvhvYPC8kGPjXT3MyKMrL3JitEAmDMp30lVkuq/590Mw9ok6pWcFCwXJveo0t5uqYw1UREQHofD+jVpdjBv8wg==" + }, "node_modules/lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -17666,6 +17837,12 @@ "node": ">=8" } }, + "node_modules/smoothscroll-polyfill": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz", + "integrity": "sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg==", + "peer": true + }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -18761,6 +18938,12 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "license": "MIT" }, + "node_modules/tiny-emitter": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-1.2.0.tgz", + "integrity": "sha512-rWjF00inHeWtT5UbQYAXoMI4hL6TRMqohuKCsODyPYYmfAxqfMnXLsIeNrbdPEkNxlk++rojVilTnI9IVmEBtA==", + "peer": true + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -19033,6 +19216,19 @@ "is-typedarray": "^1.0.0" } }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -19303,6 +19499,18 @@ "node": ">= 0.8" } }, + "node_modules/virtual-scroll": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/virtual-scroll/-/virtual-scroll-1.5.2.tgz", + "integrity": "sha512-7jDHwlKbHUho7CYU/HojE/VKFH8GV9P5fVWP2HCa7dRUOpVvwl93OBOKIIcb2mKd+vqsbVR/0zl0X70+3sUZqA==", + "peer": true, + "dependencies": { + "bindall-standalone": "^1.0.5", + "lethargy": "^1.0.2", + "object-assign": "^4.0.1", + "tiny-emitter": "^1.0.0" + } + }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", diff --git a/package.json b/package.json index 721e6c2..b422535 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "@babel/plugin-proposal-private-property-in-object": "^7.21.11", "@headlessui/react": "^2.1.8", "@heroicons/react": "^2.1.5", + "@lottiefiles/dotlottie-react": "^0.12.0", "@reduxjs/toolkit": "^2.2.7", "@tailwindcss/typography": "^0.5.15", "@testing-library/jest-dom": "^5.17.0", @@ -13,6 +14,7 @@ "@testing-library/user-event": "^13.5.0", "framer-motion": "^11.9.0", "gsap": "^3.12.5", + "lottie-react": "^2.4.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-locomotive-scroll": "^0.2.2", diff --git a/src/App.js b/src/App.js index 725c0c3..983d525 100644 --- a/src/App.js +++ b/src/App.js @@ -16,7 +16,7 @@ import Profile from './Pages/profile'; import Checkout from './Pages/checkOut'; import Testimonial from './Pages/Testimonial'; import PremiumBeans from './Pages/PremiumBeans'; - +import ForgetPassword from './Pages/ForgetPassword'; const AppContainer = styled.div` @@ -41,6 +41,7 @@ function App() { } /> } /> } /> + } /> } /> } /> } /> diff --git a/src/Pages/ForgetPassword.js b/src/Pages/ForgetPassword.js new file mode 100644 index 0000000..38c7503 --- /dev/null +++ b/src/Pages/ForgetPassword.js @@ -0,0 +1,99 @@ +import React, { useState } from "react"; +import styled from "styled-components"; +import { motion } from "framer-motion"; + +const ForgetPasswordContainer = styled.div` + display: flex; + justify-content: center; + align-items: center; + height: 100vh; + background-color: #f5f5f5; +`; + +const ForgetPasswordForm = styled(motion.form)` + background-color: white; + padding: 2rem; + border-radius: 8px; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + width: 300px; +`; + +const Input = styled.input` + width: 100%; + padding: 0.5rem; + margin-bottom: 1rem; + border: 1px solid #ddd; + border-radius: 4px; +`; + +const Button = styled(motion.button)` + width: 100%; + padding: 0.5rem; + background-color: #7c2214; + color: white; + border: none; + border-radius: 4px; + cursor: pointer; +`; + +const Message = styled.div` + margin-top: 1rem; + color: ${({ success }) => (success ? "green" : "red")}; + text-align: center; +`; + +function ForgetPassword() { + const [email, setEmail] = useState(""); + const [message, setMessage] = useState(""); + const [isValid, setIsValid] = useState(false); + + const validateEmail = (email) => { + // Regex for basic email validation + const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; + return emailRegex.test(email); + }; + + const handleSubmit = (e) => { + e.preventDefault(); + if (validateEmail(email)) { + setMessage("Credentials sent to your email successfully."); + setIsValid(true); + setTimeout(() => { + setEmail(""); + }, 2000); + } else { + setMessage("Please enter a valid email address."); + setIsValid(false); + } + }; + + return ( + + +

Forgot Password

+ setEmail(e.target.value)} + required + /> + + {message && {message}} +
+
+ ); +} + +export default ForgetPassword; diff --git a/src/Pages/login.js b/src/Pages/login.js index 994c7e1..0e2da95 100644 --- a/src/Pages/login.js +++ b/src/Pages/login.js @@ -1,13 +1,12 @@ - -import React, { useState } from 'react'; -import { useDispatch } from 'react-redux'; -import { login } from '../Store/authSlice'; -import styled from 'styled-components'; -import { motion } from 'framer-motion'; -import { Link, useNavigate } from 'react-router-dom'; +import React, { useState } from "react"; +import { useDispatch } from "react-redux"; +import { login } from "../Store/authSlice"; +import styled from "styled-components"; +import { motion } from "framer-motion"; +import { Link, useNavigate } from "react-router-dom"; const LoginBackGround = styled.section` - background-image: url('https://img.freepik.com/free-photo/hot-latte-art-coffee-cup-wood-table-coffee-shop_1150-8937.jpg?t=st=1727759954~exp=1727763554~hmac=2715c972f28c255c158e0d14f664f9443fdd95a0e4b21cf6d5b41bc690aaa2d3&w=1380'); + background-image: url("https://img.freepik.com/free-photo/hot-latte-art-coffee-cup-wood-table-coffee-shop_1150-8937.jpg?t=st=1727759954~exp=1727763554~hmac=2715c972f28c255c158e0d14f664f9443fdd95a0e4b21cf6d5b41bc690aaa2d3&w=1380"); background-size: cover; background-position: center; `; @@ -54,6 +53,14 @@ const RegisterLink = styled(Link)` text-decoration: none; `; +const ForgetPasswordLink = styled(Link)` + display: block; + margin-top: 0.5rem; + text-align: center; + color: #7c2214; + text-decoration: none; +`; + const ErrorMessage = styled.div` margin-top: 1rem; color: red; @@ -61,21 +68,26 @@ const ErrorMessage = styled.div` `; function Login() { - const [username, setUsername] = useState(''); - const [email, setEmail] = useState(''); - const [password, setPassword] = useState(''); - const [error, setError] = useState(''); + const [username, setUsername] = useState(""); + const [email, setEmail] = useState(""); + const [password, setPassword] = useState(""); + const [error, setError] = useState(""); const dispatch = useDispatch(); const navigate = useNavigate(); const handleSubmit = (e) => { e.preventDefault(); - const storedUser = JSON.parse(localStorage.getItem('user')); - if (storedUser && storedUser.username === username && storedUser.email === email && storedUser.password === password) { + const storedUser = JSON.parse(localStorage.getItem("user")); + if ( + storedUser && + storedUser.username === username && + storedUser.email === email && + storedUser.password === password + ) { dispatch(login({ username, email })); - navigate('/profile'); // Redirect to home page + navigate("/profile"); // Redirect to home page } else { - setError('Invalid credentials'); + setError("Invalid credentials"); } }; @@ -118,7 +130,12 @@ function Login() { Login {error && {error}} - Don't have an account? Register + + Don't have an account? Register + + + Forgot Password? + From 9048d4cc2d3c173267f46678bab228afda5052ff Mon Sep 17 00:00:00 2001 From: Sitambhra Salaria <110994217+Sitambhra02@users.noreply.github.com> Date: Thu, 2 Jan 2025 20:25:04 +0530 Subject: [PATCH 010/124] Fix button layout and spacing, enhanced responsiveness, and refactor button styling on Shop page --- src/Pages/checkOut.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Pages/checkOut.js b/src/Pages/checkOut.js index 69a64fc..c02ffd2 100644 --- a/src/Pages/checkOut.js +++ b/src/Pages/checkOut.js @@ -8,7 +8,7 @@ import { clearCart } from '../Store/cartSlice'; const CheckoutContainer = styled.div` padding: 4rem 2rem; max-width: 800px; - margin: 3.75rem auto; + margin: 0 auto; `; const Title = styled(motion.h1)` From f72f44a99ebe39e7ff2d80602458d3e97ccf0395 Mon Sep 17 00:00:00 2001 From: Sitambhra Salaria <110994217+Sitambhra02@users.noreply.github.com> Date: Thu, 2 Jan 2025 20:39:58 +0530 Subject: [PATCH 011/124] Fixed the overlapping of Checkout heading and Navbar --- src/Pages/checkOut.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Pages/checkOut.js b/src/Pages/checkOut.js index c02ffd2..69a64fc 100644 --- a/src/Pages/checkOut.js +++ b/src/Pages/checkOut.js @@ -8,7 +8,7 @@ import { clearCart } from '../Store/cartSlice'; const CheckoutContainer = styled.div` padding: 4rem 2rem; max-width: 800px; - margin: 0 auto; + margin: 3.75rem auto; `; const Title = styled(motion.h1)` From 8f086ee2ed2a8ddc02eb65d15891d920fe29c374 Mon Sep 17 00:00:00 2001 From: AVNI-THEEXPLORER Date: Thu, 2 Jan 2025 22:35:15 +0530 Subject: [PATCH 012/124] now the year is dynamic in footer --- package-lock.json | 190 ++++++++++++++++++++++++++++++++++++++++ src/componets/footer.js | 2 +- 2 files changed, 191 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index c69f3e6..6d8cef7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4216,6 +4216,112 @@ "url": "https://github.com/sponsors/tannerlinsley" } }, + "node_modules/@testing-library/dom": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", + "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", + "peer": true + }, + "node_modules/@testing-library/dom/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/dom/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@testing-library/jest-dom": { "version": "5.17.0", "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", @@ -6382,6 +6488,13 @@ "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "license": "MIT" }, + "node_modules/bezier-easing": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bezier-easing/-/bezier-easing-2.1.0.tgz", + "integrity": "sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==", + "license": "MIT", + "peer": true + }, "node_modules/bfj": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", @@ -6419,6 +6532,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/bindall-standalone": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bindall-standalone/-/bindall-standalone-1.0.5.tgz", + "integrity": "sha512-HDI7YBWXVJk/eoGz+e4lYQQJnYp1ZHcUvAY71lVptLMhQnDm86vD73AGPw2qIlgYR3P0bjmoAcXiA8qhFejBhA==", + "license": "MIT", + "peer": true + }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -7759,6 +7879,16 @@ "node": ">= 0.8" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -13636,6 +13766,13 @@ "shell-quote": "^1.8.1" } }, + "node_modules/lethargy": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/lethargy/-/lethargy-1.0.9.tgz", + "integrity": "sha512-nFM8blpCF9rqIL5mRAaTGc78W8oQixVtsD86jbEPvcI13+lDUYJf3R7DZQQL7tCiBpbGpGKMX2gwJFO9hiaOkg==", + "license": "MIT", + "peer": true + }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -13708,6 +13845,18 @@ "node": ">=8" } }, + "node_modules/locomotive-scroll": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/locomotive-scroll/-/locomotive-scroll-4.1.4.tgz", + "integrity": "sha512-6i98cFF2SKg6wIPpwVPuo2FG8qL3USsdDeew78TEYZyLoqleMWNfkSDpWA6mPym4dOfTIBXc678VmGlkgx3fTA==", + "license": "MIT", + "peer": true, + "dependencies": { + "bezier-easing": "^2.1.0", + "smoothscroll-polyfill": "^0.4.4", + "virtual-scroll": "^1.5.2" + } + }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -17666,6 +17815,13 @@ "node": ">=8" } }, + "node_modules/smoothscroll-polyfill": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz", + "integrity": "sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg==", + "license": "MIT", + "peer": true + }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -18761,6 +18917,13 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "license": "MIT" }, + "node_modules/tiny-emitter": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-1.2.0.tgz", + "integrity": "sha512-rWjF00inHeWtT5UbQYAXoMI4hL6TRMqohuKCsODyPYYmfAxqfMnXLsIeNrbdPEkNxlk++rojVilTnI9IVmEBtA==", + "license": "MIT", + "peer": true + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -19033,6 +19196,20 @@ "is-typedarray": "^1.0.0" } }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -19303,6 +19480,19 @@ "node": ">= 0.8" } }, + "node_modules/virtual-scroll": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/virtual-scroll/-/virtual-scroll-1.5.2.tgz", + "integrity": "sha512-7jDHwlKbHUho7CYU/HojE/VKFH8GV9P5fVWP2HCa7dRUOpVvwl93OBOKIIcb2mKd+vqsbVR/0zl0X70+3sUZqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "bindall-standalone": "^1.0.5", + "lethargy": "^1.0.2", + "object-assign": "^4.0.1", + "tiny-emitter": "^1.0.0" + } + }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", diff --git a/src/componets/footer.js b/src/componets/footer.js index 2e4b90b..3bd339a 100644 --- a/src/componets/footer.js +++ b/src/componets/footer.js @@ -52,7 +52,7 @@ function Footer() { return ( -

© 2023 MsCafe. All rights reserved.

+

© {new Date().getFullYear()} MsCafe. All rights reserved.

Made with ♥ by Mscoder

Date: Fri, 3 Jan 2025 00:22:15 +0530 Subject: [PATCH 013/124] added a 'Register' button to the navbar that directly navigates to the sign-up page --- package-lock.json | 190 ++++++++++++++++++++++++++++++++++++++++ src/componets/Navbar.js | 11 ++- 2 files changed, 197 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index c69f3e6..6d8cef7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4216,6 +4216,112 @@ "url": "https://github.com/sponsors/tannerlinsley" } }, + "node_modules/@testing-library/dom": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", + "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", + "peer": true + }, + "node_modules/@testing-library/dom/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/dom/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@testing-library/jest-dom": { "version": "5.17.0", "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", @@ -6382,6 +6488,13 @@ "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "license": "MIT" }, + "node_modules/bezier-easing": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bezier-easing/-/bezier-easing-2.1.0.tgz", + "integrity": "sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==", + "license": "MIT", + "peer": true + }, "node_modules/bfj": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", @@ -6419,6 +6532,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/bindall-standalone": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bindall-standalone/-/bindall-standalone-1.0.5.tgz", + "integrity": "sha512-HDI7YBWXVJk/eoGz+e4lYQQJnYp1ZHcUvAY71lVptLMhQnDm86vD73AGPw2qIlgYR3P0bjmoAcXiA8qhFejBhA==", + "license": "MIT", + "peer": true + }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -7759,6 +7879,16 @@ "node": ">= 0.8" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -13636,6 +13766,13 @@ "shell-quote": "^1.8.1" } }, + "node_modules/lethargy": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/lethargy/-/lethargy-1.0.9.tgz", + "integrity": "sha512-nFM8blpCF9rqIL5mRAaTGc78W8oQixVtsD86jbEPvcI13+lDUYJf3R7DZQQL7tCiBpbGpGKMX2gwJFO9hiaOkg==", + "license": "MIT", + "peer": true + }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -13708,6 +13845,18 @@ "node": ">=8" } }, + "node_modules/locomotive-scroll": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/locomotive-scroll/-/locomotive-scroll-4.1.4.tgz", + "integrity": "sha512-6i98cFF2SKg6wIPpwVPuo2FG8qL3USsdDeew78TEYZyLoqleMWNfkSDpWA6mPym4dOfTIBXc678VmGlkgx3fTA==", + "license": "MIT", + "peer": true, + "dependencies": { + "bezier-easing": "^2.1.0", + "smoothscroll-polyfill": "^0.4.4", + "virtual-scroll": "^1.5.2" + } + }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -17666,6 +17815,13 @@ "node": ">=8" } }, + "node_modules/smoothscroll-polyfill": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz", + "integrity": "sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg==", + "license": "MIT", + "peer": true + }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -18761,6 +18917,13 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "license": "MIT" }, + "node_modules/tiny-emitter": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-1.2.0.tgz", + "integrity": "sha512-rWjF00inHeWtT5UbQYAXoMI4hL6TRMqohuKCsODyPYYmfAxqfMnXLsIeNrbdPEkNxlk++rojVilTnI9IVmEBtA==", + "license": "MIT", + "peer": true + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -19033,6 +19196,20 @@ "is-typedarray": "^1.0.0" } }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -19303,6 +19480,19 @@ "node": ">= 0.8" } }, + "node_modules/virtual-scroll": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/virtual-scroll/-/virtual-scroll-1.5.2.tgz", + "integrity": "sha512-7jDHwlKbHUho7CYU/HojE/VKFH8GV9P5fVWP2HCa7dRUOpVvwl93OBOKIIcb2mKd+vqsbVR/0zl0X70+3sUZqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "bindall-standalone": "^1.0.5", + "lethargy": "^1.0.2", + "object-assign": "^4.0.1", + "tiny-emitter": "^1.0.0" + } + }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", diff --git a/src/componets/Navbar.js b/src/componets/Navbar.js index de0d61e..f30b790 100644 --- a/src/componets/Navbar.js +++ b/src/componets/Navbar.js @@ -252,10 +252,13 @@ function Navbar() { ) : ( - - Login - + <> + Login + + Register + )} Date: Fri, 3 Jan 2025 00:46:36 +0530 Subject: [PATCH 014/124] added a 'Register' button to the navbar that directly navigates to the sign-up page, added comments and updated README.md with new screenshots --- README.md | 8 ++++---- src/componets/Navbar.js | 37 +++++++++++++++++++------------------ 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index e35d4cb..07040cb 100644 --- a/README.md +++ b/README.md @@ -59,13 +59,13 @@ Once the server is running, you can view the app at (http://localhost:3000). ## ScreenShots: ## **Home Page:** -![homepage](https://github.com/user-attachments/assets/36a7852c-dd6d-40b2-9652-4c4a3f9d46fc) +![homepage](https://github.com/user-attachments/assets/2dc9b51d-ce06-4eb6-89fb-774867ede12c) ## **Coffee Menu:** -![coffeemenu](https://github.com/user-attachments/assets/0f9583d8-e2a8-4797-8e13-9d8325f58764) +![coffeemenu](https://github.com/user-attachments/assets/014c6a7a-03ab-4bdf-88e1-bb3c11d66447) ## **Login Page** -![coffeelogin](https://github.com/user-attachments/assets/e29ee634-69c4-45a3-978c-a797cf62487f) +![coffeelogin](https://github.com/user-attachments/assets/c6c7c645-475d-4658-a47c-f0ada0b177d1) ## **Testimonials** -![testimonials](https://github.com/user-attachments/assets/af0b4e1f-5363-4b71-8c5c-fe1ba244edb3) +![testimonials](https://github.com/user-attachments/assets/38d811e3-4acc-4901-9a3d-8e4185c96a2c) ## Contributing We welcome contributions! Follow the steps below to contribute to this project: ```bash diff --git a/src/componets/Navbar.js b/src/componets/Navbar.js index f30b790..fc69591 100644 --- a/src/componets/Navbar.js +++ b/src/componets/Navbar.js @@ -206,45 +206,45 @@ function Navbar() { {/* */} + whileHover={{ scale: 1.05 }}> Home {/* */} + whileHover={{ scale: 1.05 }}> Shop {/* */} - + About {/* */} + whileHover={{ scale: 1.05 }}> Testimonial - + {/* */} + whileHover={{ scale: 1.05 }}> Contact - + {isLoggedIn ? ( <> + whileHover={{ scale: 1.05 }}> Profile - + Cart @@ -252,13 +252,14 @@ function Navbar() { ) : ( + // navbar login and register buttons <> - Login - - Register - + whileHover={{ scale: 1.05 }}> + Login + + Register + )} Date: Fri, 3 Jan 2025 00:54:48 +0530 Subject: [PATCH 015/124] added a 'Register' button to the navbar and drop-down menu that directly navigates to the sign-up page, added comments and updated README.md with new screenshots --- src/componets/Navbar.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/componets/Navbar.js b/src/componets/Navbar.js index fc69591..024cac9 100644 --- a/src/componets/Navbar.js +++ b/src/componets/Navbar.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from 'react'; -import { Link, useLocation} from 'react-router-dom'; +import { Link, useLocation } from 'react-router-dom'; import { useSelector, useDispatch } from 'react-redux'; import { logout } from '../Store/authSlice'; import styled from 'styled-components'; @@ -256,8 +256,9 @@ function Navbar() { <> Login - + + Register )} @@ -304,8 +305,8 @@ function Navbar() { Cart - { handleLogout(); toggleMenu(); }} style={{ cursor: 'pointer' }} > @@ -313,9 +314,12 @@ function Navbar() { ) : ( - + <> Login + + Register + )} )} From 1568f7aab69bc95b0fcd3017d5d3e06b00a44b1d Mon Sep 17 00:00:00 2001 From: mansi066 Date: Fri, 3 Jan 2025 07:31:44 +0530 Subject: [PATCH 016/124] Resolve Conflict --- src/Pages/PremiumBeans.js | 2 ++ src/componets/Navbar.js | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/src/Pages/PremiumBeans.js b/src/Pages/PremiumBeans.js index 28d56da..d8444a3 100644 --- a/src/Pages/PremiumBeans.js +++ b/src/Pages/PremiumBeans.js @@ -7,6 +7,8 @@ const PremiumContainer = styled.div` max-width: 1200px; margin: 0 auto; background-color: #fffbeb; + box-shadow: 1px 1px 5px 6px #888888; + `; const FeatureTitle = styled(motion.h1)` diff --git a/src/componets/Navbar.js b/src/componets/Navbar.js index 024cac9..24256eb 100644 --- a/src/componets/Navbar.js +++ b/src/componets/Navbar.js @@ -226,6 +226,11 @@ function Navbar() { whileHover={{ scale: 1.05 }}> Testimonial + {/* */} + + Premium Beans + {/* */} Date: Fri, 3 Jan 2025 08:24:39 +0530 Subject: [PATCH 017/124] Add content in expert baristas --- package-lock.json | 190 ------------------------------------ src/App.js | 3 + src/Pages/ExpertBaristas.js | 102 +++++++++++++++++++ src/Pages/Home.js | 2 +- src/componets/Navbar.js | 9 +- 5 files changed, 112 insertions(+), 194 deletions(-) create mode 100644 src/Pages/ExpertBaristas.js diff --git a/package-lock.json b/package-lock.json index 6d8cef7..c69f3e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4216,112 +4216,6 @@ "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/@testing-library/dom": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", - "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.3.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/dom/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT", - "peer": true - }, - "node_modules/@testing-library/dom/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/dom/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@testing-library/jest-dom": { "version": "5.17.0", "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", @@ -6488,13 +6382,6 @@ "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "license": "MIT" }, - "node_modules/bezier-easing": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bezier-easing/-/bezier-easing-2.1.0.tgz", - "integrity": "sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==", - "license": "MIT", - "peer": true - }, "node_modules/bfj": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", @@ -6532,13 +6419,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/bindall-standalone": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bindall-standalone/-/bindall-standalone-1.0.5.tgz", - "integrity": "sha512-HDI7YBWXVJk/eoGz+e4lYQQJnYp1ZHcUvAY71lVptLMhQnDm86vD73AGPw2qIlgYR3P0bjmoAcXiA8qhFejBhA==", - "license": "MIT", - "peer": true - }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -7879,16 +7759,6 @@ "node": ">= 0.8" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -13766,13 +13636,6 @@ "shell-quote": "^1.8.1" } }, - "node_modules/lethargy": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/lethargy/-/lethargy-1.0.9.tgz", - "integrity": "sha512-nFM8blpCF9rqIL5mRAaTGc78W8oQixVtsD86jbEPvcI13+lDUYJf3R7DZQQL7tCiBpbGpGKMX2gwJFO9hiaOkg==", - "license": "MIT", - "peer": true - }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -13845,18 +13708,6 @@ "node": ">=8" } }, - "node_modules/locomotive-scroll": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/locomotive-scroll/-/locomotive-scroll-4.1.4.tgz", - "integrity": "sha512-6i98cFF2SKg6wIPpwVPuo2FG8qL3USsdDeew78TEYZyLoqleMWNfkSDpWA6mPym4dOfTIBXc678VmGlkgx3fTA==", - "license": "MIT", - "peer": true, - "dependencies": { - "bezier-easing": "^2.1.0", - "smoothscroll-polyfill": "^0.4.4", - "virtual-scroll": "^1.5.2" - } - }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -17815,13 +17666,6 @@ "node": ">=8" } }, - "node_modules/smoothscroll-polyfill": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz", - "integrity": "sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg==", - "license": "MIT", - "peer": true - }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -18917,13 +18761,6 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "license": "MIT" }, - "node_modules/tiny-emitter": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-1.2.0.tgz", - "integrity": "sha512-rWjF00inHeWtT5UbQYAXoMI4hL6TRMqohuKCsODyPYYmfAxqfMnXLsIeNrbdPEkNxlk++rojVilTnI9IVmEBtA==", - "license": "MIT", - "peer": true - }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -19196,20 +19033,6 @@ "is-typedarray": "^1.0.0" } }, - "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "license": "Apache-2.0", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -19480,19 +19303,6 @@ "node": ">= 0.8" } }, - "node_modules/virtual-scroll": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/virtual-scroll/-/virtual-scroll-1.5.2.tgz", - "integrity": "sha512-7jDHwlKbHUho7CYU/HojE/VKFH8GV9P5fVWP2HCa7dRUOpVvwl93OBOKIIcb2mKd+vqsbVR/0zl0X70+3sUZqA==", - "license": "MIT", - "peer": true, - "dependencies": { - "bindall-standalone": "^1.0.5", - "lethargy": "^1.0.2", - "object-assign": "^4.0.1", - "tiny-emitter": "^1.0.0" - } - }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", diff --git a/src/App.js b/src/App.js index 725c0c3..12e73b4 100644 --- a/src/App.js +++ b/src/App.js @@ -16,6 +16,7 @@ import Profile from './Pages/profile'; import Checkout from './Pages/checkOut'; import Testimonial from './Pages/Testimonial'; import PremiumBeans from './Pages/PremiumBeans'; +import ExpertBaristas from './Pages/ExpertBaristas'; @@ -50,6 +51,8 @@ function App() { } /> } /> } /> + } /> + diff --git a/src/Pages/ExpertBaristas.js b/src/Pages/ExpertBaristas.js new file mode 100644 index 0000000..113b2e5 --- /dev/null +++ b/src/Pages/ExpertBaristas.js @@ -0,0 +1,102 @@ +import React from 'react' +import styled from 'styled-components'; +import { motion } from 'framer-motion'; +const ExpertContainer = styled.div` + padding: 6rem 2rem 4rem 2rem; + max-width: 1200px; + margin: 0 auto; + background-color: #fffbeb; + box-shadow: 1px 1px 5px 6px #888888; + +`; + +const FeatureTitle = styled(motion.h1)` + font-size: 4rem; + margin-top: -4rem; + margin-bottom: 1rem; + color: ##78350f; + font-family: 'Playfair Display', serif; + display: flex; + flex-wrap: wrap; + flex-direction: column; + align-content: space-around; + font-weight:bold; + +`; +const ImageContent = styled(motion.div)` + display: flex +; + justify-content: flex-start; + align-items: center; + padding: 0rem; + flex-direction: column; + flex-wrap: wrap; + align-content: flex-start; +} +`; + +const Image = styled(motion.img)` + width: 500px; + height: 500px + object-fit: cover; + border-radius: 10px; + margin-bottom: 1.5rem; + margin-left: 20rem; + + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); +`; + +const FeatureDescription = styled(motion.p)` + font-size: 1.5rem; + color: #6B4423; + line-height: 1.6; + font-family: 'Poppins', sans-serif; + display: flex; + margin: 0px; + margin-left: 60px; + margin-right: 50px; +`; + +function ExpertBaristas() { + return ( + + <> +
+ + + Expert Baristas + + + Expert Baristas + + + + Expert baristas excel in making coffee due to their comprehensive knowledge of coffee, practical brewing skills, and passion for the craft.practical brewing skills, and passion for the craft. They ensure optimal flavor extraction by meticulously controlling variables like grind size, water temperature, and brewing time. Their expertise allows them to create a perfect cup of coffee tailored to individual preferences, showcasing their attention to detail and dedication.Their skillset is honed through extensive training and practice. Expert baristas demonstrate exceptional precision in every step of the coffee-making process.A true expert barista has a passion for coffee that drives them to constantly improve and innovate. They experiment with new coffee blends, brewing methods, and flavor combinations to create unique and memorable coffee experiences. + + + + + + + + +
+ + + + ) +} + +export default ExpertBaristas diff --git a/src/Pages/Home.js b/src/Pages/Home.js index 9a8119d..a2c5376 100644 --- a/src/Pages/Home.js +++ b/src/Pages/Home.js @@ -289,7 +289,7 @@ function Home() { - Expert Baristas + Expert Baristas Our skilled baristas craft each cup to perfection. diff --git a/src/componets/Navbar.js b/src/componets/Navbar.js index 24256eb..32f29f0 100644 --- a/src/componets/Navbar.js +++ b/src/componets/Navbar.js @@ -226,10 +226,10 @@ function Navbar() { whileHover={{ scale: 1.05 }}> Testimonial
- {/* */} - */} + - Premium Beans + Expert Baristas {/* */} @@ -299,6 +299,9 @@ function Navbar() { Premium Beans + + Expert Baristas + Contact From bde948a8e923e4d6825374ecf1434a0c7ad228e5 Mon Sep 17 00:00:00 2001 From: mansi066 Date: Fri, 3 Jan 2025 08:41:38 +0530 Subject: [PATCH 018/124] Resolved --- src/componets/Navbar.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/componets/Navbar.js b/src/componets/Navbar.js index 32f29f0..a5b7c9a 100644 --- a/src/componets/Navbar.js +++ b/src/componets/Navbar.js @@ -225,6 +225,11 @@ function Navbar() { Testimonial + + {/* */} + + Premium Beans {/* */} Date: Fri, 3 Jan 2025 09:59:28 +0530 Subject: [PATCH 019/124] # 18 reviews --- src/App.js | 4 +- src/componets/Reviews.js | 152 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 155 insertions(+), 1 deletion(-) create mode 100644 src/componets/Reviews.js diff --git a/src/App.js b/src/App.js index 725c0c3..d58516f 100644 --- a/src/App.js +++ b/src/App.js @@ -16,6 +16,8 @@ import Profile from './Pages/profile'; import Checkout from './Pages/checkOut'; import Testimonial from './Pages/Testimonial'; import PremiumBeans from './Pages/PremiumBeans'; +import Reviews from './componets/Reviews' + @@ -53,7 +55,7 @@ function App() { - +