From 699353081a8697f233fb811405c92e99bf2fd6a9 Mon Sep 17 00:00:00 2001 From: yashpandav Date: Wed, 25 Dec 2024 19:08:26 +0530 Subject: [PATCH 01/50] Fixed CSS of Card component for issue #12 --- package-lock.json | 4 ++-- src/Pages/Shop.js | 52 ++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 44 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index c345c6a..5ee8a02 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "Mohame Mujtaba coffee-shop", + "name": "mohamed-mujtaba-coffee-shop", "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "coffee-shop", + "name": "mohamed-mujtaba-coffee-shop", "version": "0.1.0", "dependencies": { "@babel/plugin-proposal-private-property-in-object": "^7.21.11", diff --git a/src/Pages/Shop.js b/src/Pages/Shop.js index db6e168..3e3d164 100644 --- a/src/Pages/Shop.js +++ b/src/Pages/Shop.js @@ -3,7 +3,6 @@ import { useDispatch } from 'react-redux'; import styled from 'styled-components'; import { motion } from 'framer-motion'; import { addToCart } from '../Store/cartSlice'; -import Button from '../componets/Button'; const ShopContainer = styled.div` padding: 4rem 2rem; @@ -24,10 +23,17 @@ const ProductGrid = styled.div` `; const ProductCard = styled(motion.div)` - background-color: white; - border-radius: 8px; + background: linear-gradient(145deg, #ffffff, #e6e6e6); + border-radius: 10px; overflow: hidden; - box-shadow: 0 4px 6px rgba(0,0,0,0.1); + box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.1), -2px -2px 8px rgba(255, 255, 255, 0.8); + transition: transform 0.3s ease, box-shadow 0.3s ease; + cursor: pointer; + + &:hover { + transform: translateY(-5px); + box-shadow: 6px 6px 15px rgba(0, 0, 0, 0.15), -4px -4px 12px rgba(255, 255, 255, 0.9); + } `; const ProductImage = styled.img` @@ -38,17 +44,43 @@ const ProductImage = styled.img` const ProductInfo = styled.div` padding: 1rem; + text-align: center; `; const ProductName = styled.h3` - font-size: 1.2rem; + font-size: 1.4rem; margin-bottom: 0.5rem; + font-weight: 600; `; const ProductPrice = styled.p` - font-size: 1rem; - color: #666; + font-size: 1.1rem; + color: #4a2c2a; margin-bottom: 1rem; + font-weight: 600; +`; + +const StyledButton = styled.button` + background: linear-gradient(145deg, #6b4f4f, #7d5858); + color: white; + border: none; + padding: 0.6rem 1.2rem; + font-size: 1rem; + border-radius: 20px; + 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); + transform: scale(1.05); + } + + &:active { + transform: scale(0.98); + box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3); + } `; const products = [ @@ -58,8 +90,8 @@ const products = [ { 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 ' }, { 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 ' }, { 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 ' }, - { id: 2, name: 'Chai', price: 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' }, - { id: 2, name: 'Lemon Tea', price: 3.5, image: 'https://img.freepik.com/free-photo/cup-hot-mint-tea_144627-34462.jpg?ga=GA1.1.1542821208.1727756299&semt=ais_hybrid ' }, + { id: 7, name: 'Chai', price: 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' }, + { id: 8, name: 'Lemon Tea', price: 3.5, image: 'https://img.freepik.com/free-photo/cup-hot-mint-tea_144627-34462.jpg?ga=GA1.1.1542821208.1727756299&semt=ais_hybrid ' }, ]; function Shop() { @@ -90,7 +122,7 @@ function Shop() { {product.name} ${product.price.toFixed(2)} - + handleAddToCart(product)}>Add to Cart ))} From 190ea0a5dcfff3e9a89de177b7bcd1919d570598 Mon Sep 17 00:00:00 2001 From: akash70629 Date: Wed, 1 Jan 2025 15:16:25 +0530 Subject: [PATCH 02/50] name validation added --- src/Pages/contact.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Pages/contact.js b/src/Pages/contact.js index 08d9819..9965b61 100644 --- a/src/Pages/contact.js +++ b/src/Pages/contact.js @@ -80,6 +80,7 @@ function Contact() { value={formData.name} onChange={handleChange} required + pattern="[a-zA-Z\s]+" title="Name must only contain letters" /> Date: Wed, 1 Jan 2025 18:50:37 +0530 Subject: [PATCH 03/50] fix/incorrect-heading-alignment --- src/Pages/Testimonial.js | 2 +- src/Pages/contact.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Pages/Testimonial.js b/src/Pages/Testimonial.js index d6a7489..f5ba5a0 100644 --- a/src/Pages/Testimonial.js +++ b/src/Pages/Testimonial.js @@ -8,7 +8,7 @@ import './Testimonial.css'
-

What Our Customer Says

+

What Our Customer Says

diff --git a/src/Pages/contact.js b/src/Pages/contact.js index 08d9819..c83416e 100644 --- a/src/Pages/contact.js +++ b/src/Pages/contact.js @@ -61,6 +61,7 @@ function Contact() { return ( Date: Wed, 1 Jan 2025 19:11:10 +0530 Subject: [PATCH 04/50] fix/misalignment-of-headings --- src/Pages/Testimonial.css | 2 +- src/Pages/Testimonial.js | 3 ++- src/Pages/contact.js | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Pages/Testimonial.css b/src/Pages/Testimonial.css index faed088..ac89ae0 100644 --- a/src/Pages/Testimonial.css +++ b/src/Pages/Testimonial.css @@ -6,7 +6,7 @@ .testimonial{ background:#f8f8f8; - height:90vh; + padding: 2rem 0; } h1{ text-align: center; diff --git a/src/Pages/Testimonial.js b/src/Pages/Testimonial.js index f5ba5a0..ecadcbe 100644 --- a/src/Pages/Testimonial.js +++ b/src/Pages/Testimonial.js @@ -8,7 +8,8 @@ import './Testimonial.css' <div className="testimonial"> <div className="container"> - <h1 class = "mt-3">What Our Customer Says</h1> + <h1 className = "mt-5">What Our Customers Say:</h1> + <br></br> <div className="row"> <div className="col-md-12"> <div id="carouselExampleSlidesOnly" className="carousel slide" data-bs-ride="carousel"> diff --git a/src/Pages/contact.js b/src/Pages/contact.js index c83416e..1f43e0e 100644 --- a/src/Pages/contact.js +++ b/src/Pages/contact.js @@ -61,7 +61,7 @@ function Contact() { return ( <ContactContainer> <Title - class = "mt-3" + className = "mt-7" initial={{ opacity: 0, y: -50 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 0.5 }} From 54229d29b430c8579241fe9acb9b99542772fa87 Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba <mohamedmujtaba07@gmail.com> Date: Wed, 1 Jan 2025 19:31:58 +0530 Subject: [PATCH 05/50] github-flow --- .github/ISSUE_TEMPLATE/bug.yml | 32 +++++++++++++++++ .github/ISSUE_TEMPLATE/document.yml | 41 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.yml | 32 +++++++++++++++++ .github/ISSUE_TEMPLATE/other.yml | 25 +++++++++++++ .github/ISSUE_TEMPLATE/refactor_code.yml | 35 ++++++++++++++++++ .github/pull_request_template.md | 39 ++++++++++++++++++++ .github/workflows/autocomment-pr-merge.yml | 36 +++++++++++++++++++ .github/workflows/greetings.yml | 24 +++++++++++++ .github/workflows/preview.yaml | 29 +++++++++++++++ .github/workflows/production.yaml | 29 +++++++++++++++ 10 files changed, 322 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug.yml create mode 100644 .github/ISSUE_TEMPLATE/document.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/ISSUE_TEMPLATE/other.yml create mode 100644 .github/ISSUE_TEMPLATE/refactor_code.yml create mode 100644 .github/pull_request_template.md create mode 100644 .github/workflows/autocomment-pr-merge.yml create mode 100644 .github/workflows/greetings.yml create mode 100644 .github/workflows/preview.yaml create mode 100644 .github/workflows/production.yaml diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml new file mode 100644 index 0000000..3331c02 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -0,0 +1,32 @@ +name: ​🐞 Bug +description: Report an issue to help us improve the project. +title: "[BUG] <write a small description here>" +labels: ["bug", "goal: fix", "priority: medium"] +body: + - type: textarea + attributes: + label: Description + description: A brief description of the issue or bug you are facing, also include what you tried and what didn't work. + validations: + required: false + - type: textarea + attributes: + label: Screenshots + description: Please add screenshots if applicable + validations: + required: false + - type: textarea + attributes: + label: Any additional information? + description: Any additional information or Is there anything we should know about this bug? + validations: + required: false + - type: dropdown + attributes: + label: What browser are you seeing the problem on? + multiple: true + options: + - Firefox + - Chrome + - Safari + - Microsoft Edge diff --git a/.github/ISSUE_TEMPLATE/document.yml b/.github/ISSUE_TEMPLATE/document.yml new file mode 100644 index 0000000..40c639d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/document.yml @@ -0,0 +1,41 @@ +name: "Documentation 📋" +description: "Use this form to present your suggestions on how to improve our docs" +title: "[DOCS] <write your suggestion here>" +labels: ["documenation", "goal: enhancement"] + +body: + - type: textarea + id: docs_description + attributes: + label: "Issue Description" + description: "Please provide a brief summary of the documentation issue you are experiencing or would like to address." + validations: + required: true + + - type: textarea + id: screenshots_examples_docs + attributes: + label: "Screenshots or Examples (if applicable)" + description: "Please include relevant screenshots or examples to help illustrate the problem." + + - type: textarea + id: proposed_solution_docs + attributes: + label: "Proposed Solution (optional)" + description: "If you have a proposed solution for the documentation issue, please provide it here. This can be helpful for speeding up the resolution process." + + - type: checkboxes + id: terms_checklist_docs + attributes: + label: "Checklist" + description: "By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/Mujtabaa07/coffeeShop/blob/main/CODE_OF_CONDUCT.md)" + options: + - label: "I have checked the existing [issues](https://github.com/Mujtabaa07/coffeeShop/issues)" + required: true + - label: "I have read the [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md)" + required: true + - label: "I am willing to work on this issue (optional)" + required: false + - type: markdown + attributes: + value: "Thank you for taking the time to raise this issue! Your input is greatly appreciated." diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..b536fbe --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,32 @@ +name: Feature Request 💡 +description: Have any new idea or new feature for popShop? Please suggest! +title: "[Feature] <write a small description here>" +labels: ["enhancement", "goal: addition", "priority: high"] +body: + - type: textarea + id: description + attributes: + label: Description + description: A clear and concise description of any alternative solution or features you've considered. + validations: + required: true + - type: textarea + id: screenshots + attributes: + label: Screenshots + description: Please add screenshots if applicable + validations: + required: false + - type: checkboxes + id: no-duplicate-issues + attributes: + label: "Checklist" + options: + - label: "I have checked the existing [issues](https://github.com/Mujtabaa07/coffeeShop/issues)" + required: true + + - label: "I have read the [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md)" + required: true + + - label: "I am willing to work on this issue (optional)" + required: false diff --git a/.github/ISSUE_TEMPLATE/other.yml b/.github/ISSUE_TEMPLATE/other.yml new file mode 100644 index 0000000..ef17e97 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/other.yml @@ -0,0 +1,25 @@ +name: Other +description: Use this for any other question or issue. Please do not create blank issues +title: "[OTHER]" +labels: ["status: awaiting triage"] +body: + - type: textarea + id: issuedescription + attributes: + label: What would you like to share or ask? + description: Provide a clear and concise explanation of your issue. + validations: + required: true + - type: checkboxes + id: no-duplicate-issues + attributes: + label: "Checklist" + options: + - label: "I have checked the existing [issues](https://github.com/Mujtabaa07/coffeeShop/issues)" + required: true + + - label: "I have read the [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md)" + required: true + + - label: "I am willing to work on this issue (optional)" + required: false diff --git a/.github/ISSUE_TEMPLATE/refactor_code.yml b/.github/ISSUE_TEMPLATE/refactor_code.yml new file mode 100644 index 0000000..148f0a7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/refactor_code.yml @@ -0,0 +1,35 @@ +name: Refactor Code 🔧 +description: Use this label for code refactoring tasks. +title: "[Refactor] <write what you want to add>" +labels: ["goal: refactor", "priority: medium"] +body: + - type: input + attributes: + label: File Name + description: "Enter the file that you want to refactor in the codebase." + placeholder: "For example - component/Cards/Card.tsx" + validations: + required: true + - type: textarea + id: refactor_description + attributes: + label: "Reason for Refactoring the Code" + description: "Describe what improvements can be made in the codebase without introducing breaking changes." + validations: + required: true + - type: checkboxes + id: no-duplicate-issues + attributes: + label: "Checklist" + options: + - label: "I have checked the existing [issues](https://github.com/Mujtabaa07/coffeeShop/issues)." + required: true + + - label: "I have read the [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md)." + required: true + + - label: "The changes don't break the code and don't introduce new functionality." + required: true + + - label: "I am willing to work on this issue (optional)." + required: false diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..546968b --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,39 @@ +Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change. + + +Fixes # (issue) + + +## Type of change + +Please give a X on it which is applicable + +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Refactor Code +- [ ] A documentation update +- [ ] Others(mentioned in the issue number) + +# How Has This Been Tested? + +Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration + +**_Test A Describe here_** + +**_Test B Describe here (if Requred)_** + +# Screenshots and Videos: + +Give screenshots and video of the changes you made + +# Checklist: +Give a X on, which is applicable + +- [ ] My code follows the style guidelines of this project +- [ ] I have performed a self-review of my code +- [ ] I have commented my code, particularly in hard-to-understand areas +- [ ] I have made corresponding changes to the documentation +- [ ] My changes generate no new warnings +- [ ] I have added tests that prove my fix is effective or that my feature works +- [ ] New and existing unit tests pass locally with my changes +- [ ] Any dependent changes have been merged and published in downstream modules diff --git a/.github/workflows/autocomment-pr-merge.yml b/.github/workflows/autocomment-pr-merge.yml new file mode 100644 index 0000000..54c97b5 --- /dev/null +++ b/.github/workflows/autocomment-pr-merge.yml @@ -0,0 +1,36 @@ +name: Auto Comment on PR Merge + +on: + pull_request: + types: [closed] + +permissions: + issues: write + pull-requests: write + +jobs: + comment: + runs-on: ubuntu-latest + permissions: + pull-requests: write + if: github.event.pull_request.merged == true + + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + + - name: Add Comment to Issue + env: + GITHUB_TOKEN: ${{ secrets.USER_TOKEN }} + run: | + COMMENT=$(cat <<EOF + { + "body": "🎉 Your pull request has been successfully merged! 🎉 Thank you for your valuable contribution to our project. Your efforts are greatly appreciated. Feel free to reach out if you have any more contributions or if there's anything else we can assist you with. Keep up the fantastic work! 🚀" + } + EOF + ) + curl -X POST \ + -H "Authorization: Bearer $GITHUB_TOKEN" \ + -H "Accept: application/vnd.github.v3+json" \ + https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/comments \ + -d "$COMMENT" diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml new file mode 100644 index 0000000..7d1f177 --- /dev/null +++ b/.github/workflows/greetings.yml @@ -0,0 +1,24 @@ +name: 'Greetings' + +on: + fork: + push: + branches: [dev] + issues: + types: [opened] + pull_request_target: + types: [opened] + +jobs: + welcome: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: EddieHubCommunity/gh-action-community/src/welcome@main + with: + github-token: ${{ secrets.USER_TOKEN }} + issue-message: | + Congratulations, @${{ github.actor }}! 🎉 Thank you for creating your issue. Your contribution is greatly appreciated and we look forward to working with you to resolve the issue. Keep up the great work! + pr-message: | + Great job, @${{ github.actor }}! 🎉 Thank you for submitting your pull request. Your contribution is valuable and we appreciate your efforts to improve our project. + footer: 'We will promptly review your changes and offer feedback. Keep up the excellent work! Kindly remember to check our [contributing guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md)' \ No newline at end of file diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml new file mode 100644 index 0000000..1f4cacd --- /dev/null +++ b/.github/workflows/preview.yaml @@ -0,0 +1,29 @@ +name: Vercel Preview Deployment + +env: + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} + +on: + push: + branches-ignore: + - master + +jobs: + Deploy-Production: + runs-on: ubuntu-latest + steps: + + - uses: actions/checkout@v3 + + - name: Install Vercel CLI + run: npm install --global vercel + + - name: Pull Vercel Environment Information + run: vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }} + + - name: Build Project Artifacts + run: vercel build --token=${{ secrets.VERCEL_TOKEN }} + + - name: Deploy Project Artifacts + run: vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }} diff --git a/.github/workflows/production.yaml b/.github/workflows/production.yaml new file mode 100644 index 0000000..fd7fade --- /dev/null +++ b/.github/workflows/production.yaml @@ -0,0 +1,29 @@ +name: Vercel Production Deployment + +env: + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} + +on: + push: + branches: + - master + +jobs: + Deploy-Production: + runs-on: ubuntu-latest + steps: + + - uses: actions/checkout@v3 + + - name: Install Vercel CLI + run: npm install --global vercel + + - name: Pull Vercel Environment Information + run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} + + - name: Build Project Artifacts + run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} + + - name: Deploy Project Artifacts + run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} From b8ec0b0348b68b18122824d1dab592df52c02d0e Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba <mohamedmujtaba07@gmail.com> Date: Wed, 1 Jan 2025 19:34:50 +0530 Subject: [PATCH 06/50] changes_github --- .github/workflows/production.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/production.yaml b/.github/workflows/production.yaml index fd7fade..0f62645 100644 --- a/.github/workflows/production.yaml +++ b/.github/workflows/production.yaml @@ -13,7 +13,6 @@ jobs: Deploy-Production: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - name: Install Vercel CLI @@ -26,4 +25,4 @@ jobs: run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} - name: Deploy Project Artifacts - run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} + run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} \ No newline at end of file From 32dfe6de66087da1011a3f668a30a440c2d99ed2 Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba <mohamedmujtaba07@gmail.com> Date: Wed, 1 Jan 2025 19:38:22 +0530 Subject: [PATCH 07/50] github changes --- .github/workflows/production.yaml | 28 ---------------------------- 1 file changed, 28 deletions(-) delete mode 100644 .github/workflows/production.yaml diff --git a/.github/workflows/production.yaml b/.github/workflows/production.yaml deleted file mode 100644 index 0f62645..0000000 --- a/.github/workflows/production.yaml +++ /dev/null @@ -1,28 +0,0 @@ -name: Vercel Production Deployment - -env: - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - -on: - push: - branches: - - master - -jobs: - Deploy-Production: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Install Vercel CLI - run: npm install --global vercel - - - name: Pull Vercel Environment Information - run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} - - - name: Build Project Artifacts - run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} - - - name: Deploy Project Artifacts - run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} \ No newline at end of file From 54417b316f96775d43c938b0337ad9e582885395 Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba <mohamedmujtaba07@gmail.com> Date: Wed, 1 Jan 2025 19:49:25 +0530 Subject: [PATCH 08/50] changes --- .github/workflows/production.yaml | 28 ++++++++++++++++++++++++++++ .gitignore | 2 ++ 2 files changed, 30 insertions(+) create mode 100644 .github/workflows/production.yaml diff --git a/.github/workflows/production.yaml b/.github/workflows/production.yaml new file mode 100644 index 0000000..0f62645 --- /dev/null +++ b/.github/workflows/production.yaml @@ -0,0 +1,28 @@ +name: Vercel Production Deployment + +env: + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} + +on: + push: + branches: + - master + +jobs: + Deploy-Production: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install Vercel CLI + run: npm install --global vercel + + - name: Pull Vercel Environment Information + run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} + + - name: Build Project Artifacts + run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} + + - name: Deploy Project Artifacts + run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 4d29575..81b368c 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,5 @@ npm-debug.log* yarn-debug.log* yarn-error.log* + +.vercel From 9fc0e14103c152bb362e154b06143090688bf97a Mon Sep 17 00:00:00 2001 From: yashpandav <pandavyash076@gmail.com> Date: Wed, 1 Jan 2025 20:38:09 +0530 Subject: [PATCH 09/50] Merged Request --- src/Pages/Shop.js | 42 ++---------------------------------------- 1 file changed, 2 insertions(+), 40 deletions(-) diff --git a/src/Pages/Shop.js b/src/Pages/Shop.js index 6cacb46..13bf79c 100644 --- a/src/Pages/Shop.js +++ b/src/Pages/Shop.js @@ -25,12 +25,11 @@ const ProductGrid = styled.div` max-width: 1100px; // Slightly reduced to center content more margin: 0 auto; `; - const ProductCard = styled(motion.div)` background: linear-gradient(145deg, #ffffff, #e6e6e6); border-radius: 10px; overflow: hidden; -<<<<<<< HEAD + position: relative; box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.1), -2px -2px 8px rgba(255, 255, 255, 0.8); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer; @@ -38,20 +37,10 @@ const ProductCard = styled(motion.div)` &:hover { transform: translateY(-5px); box-shadow: 6px 6px 15px rgba(0, 0, 0, 0.15), -4px -4px 12px rgba(255, 255, 255, 0.9); -======= - box-shadow: 0 4px 6px rgba(0,0,0,0.1); - - position: relative; + } &:hover .overlay { opacity: 1; - - transition: box-shadow 0.3s ease; - - &:hover { - box-shadow: 0 8px 12px rgba(0,0,0,0.15); - ->>>>>>> origin/main } `; @@ -74,7 +63,6 @@ const Overlay = styled.div` opacity: 0; transition: opacity 0.3s ease; padding: 1rem; -<<<<<<< HEAD text-align: center; `; @@ -82,7 +70,6 @@ const ProductName = styled.h3` font-size: 1.4rem; margin-bottom: 0.5rem; font-weight: 600; -======= box-sizing: border-box; `; @@ -98,16 +85,8 @@ const ProductInfo = styled.div` background-color: white; `; -const ProductName = styled.h3` - font-size: 1.2rem; - margin-bottom: 0.75rem; - color: #78350f; // Warm brown color ->>>>>>> origin/main -`; - const ProductPrice = styled.p` font-size: 1.1rem; -<<<<<<< HEAD color: #4a2c2a; margin-bottom: 1rem; font-weight: 600; @@ -136,22 +115,6 @@ 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' }, - { 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 ' }, - { 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 ' }, - { 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 ' }, - { 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 ' }, - { 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 ' }, - { id: 7, name: 'Chai', price: 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' }, - { id: 8, name: 'Lemon Tea', price: 3.5, image: 'https://img.freepik.com/free-photo/cup-hot-mint-tea_144627-34462.jpg?ga=GA1.1.1542821208.1727756299&semt=ais_hybrid ' }, -]; -======= - color: #92400e; // Slightly lighter brown - margin-bottom: 1rem; - font-weight: 500; -`; - 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.' }, @@ -201,7 +164,6 @@ const products = [ { 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.' }, ] ->>>>>>> origin/main function Shop() { const dispatch = useDispatch(); From 3a7c7a82bccc233073e93dd1487864a5ae33e89b Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba <mohamedmujtaba07@gmail.com> Date: Wed, 1 Jan 2025 20:40:34 +0530 Subject: [PATCH 10/50] changes --- .github/workflows/preview.yaml | 22 +++++++++++++++++++--- .github/workflows/production.yaml | 21 +++++++++++++++++++-- 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml index 1f4cacd..98459ee 100644 --- a/.github/workflows/preview.yaml +++ b/.github/workflows/preview.yaml @@ -10,20 +10,36 @@ on: - master jobs: - Deploy-Production: + Deploy-Preview: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + + - name: Install Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' - name: Install Vercel CLI - run: npm install --global vercel + run: npm install --global vercel@latest - name: Pull Vercel Environment Information run: vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }} + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - name: Build Project Artifacts run: vercel build --token=${{ secrets.VERCEL_TOKEN }} + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - name: Deploy Project Artifacts run: vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }} + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} \ No newline at end of file diff --git a/.github/workflows/production.yaml b/.github/workflows/production.yaml index 0f62645..a2e140b 100644 --- a/.github/workflows/production.yaml +++ b/.github/workflows/production.yaml @@ -14,15 +14,32 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 + + - name: Install Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' - name: Install Vercel CLI - run: npm install --global vercel + run: npm install --global vercel@latest - name: Pull Vercel Environment Information run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - name: Build Project Artifacts run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - name: Deploy Project Artifacts - run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} \ No newline at end of file + run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} \ No newline at end of file From 2b01a8c41878624bfbb770a015fecfeac84f132e Mon Sep 17 00:00:00 2001 From: Rupesh Varshney <146447594+rupeshv2121@users.noreply.github.com> Date: Wed, 1 Jan 2025 20:53:35 +0530 Subject: [PATCH 11/50] Fix CSS of Buttons --- src/Pages/Shop.js | 489 +++++++++++++++++++++++++++++++++++----- src/componets/Button.js | 9 +- 2 files changed, 437 insertions(+), 61 deletions(-) diff --git a/src/Pages/Shop.js b/src/Pages/Shop.js index ff7493f..881d9dd 100644 --- a/src/Pages/Shop.js +++ b/src/Pages/Shop.js @@ -1,9 +1,9 @@ -import React from 'react'; -import { useDispatch } from 'react-redux'; -import styled from 'styled-components'; -import { motion } from 'framer-motion'; -import { addToCart } from '../Store/cartSlice'; -import Button from '../componets/Button'; +import { motion } from "framer-motion"; +import React from "react"; +import { useDispatch } from "react-redux"; +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 @@ -74,7 +74,6 @@ const OverlayText = styled.p` text-align: center; `; - const ProductInfo = styled.div` padding: 1.25rem; background-color: white; @@ -94,54 +93,428 @@ const ProductPrice = styled.p` `; 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: 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: 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: 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.", + }, +]; function Shop() { const dispatch = useDispatch(); @@ -167,7 +540,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> @@ -176,7 +549,9 @@ function Shop() { <ProductInfo> <ProductName>{product.name}</ProductName> <ProductPrice>${product.price.toFixed(2)}</ProductPrice> - <Button onClick={() => handleAddToCart(product)}>Add to Cart</Button> + <Button onClick={() => handleAddToCart(product)}> + Add to Cart + </Button> </ProductInfo> </ProductCard> ))} diff --git a/src/componets/Button.js b/src/componets/Button.js index 807d39f..062cf7c 100644 --- a/src/componets/Button.js +++ b/src/componets/Button.js @@ -1,19 +1,20 @@ +import { motion } from 'framer-motion'; import React from 'react'; import styled from 'styled-components'; -import { motion } from 'framer-motion'; const StyledButton = styled(motion.button)` padding: 0.5rem 1rem; font-size: 1rem; - background-color: ${props => props.primary ? '#7c2214' : 'transparent'}; - color: ${props => props.primary ? 'white' : '#7c2214'}; + background-color: ${props => props.primary ? '#7c2214' : '#7c2214'}; + color: ${props => props.primary ? 'white' : 'white'}; border: 2px solid #7c2214; border-radius: 4px; cursor: pointer; transition: all 0.3s ease; &:hover { - background-color: ${props => props.primary ? '#5e1a0f' : 'rgba(124, 34, 20, 0.1)'}; + background-color: ${props => props.primary ? '#7c2214' : 'white'}; + color: ${props => props.primary ? '#7c2214' : '#7c2214'} } `; From 6c092ab982e67a30b34044ad437ccffdaf5bb806 Mon Sep 17 00:00:00 2001 From: Isha Bamel <isha.bamel22@gmail.com> Date: Wed, 1 Jan 2025 20:55:18 +0530 Subject: [PATCH 12/50] Added hover effect on testimonials cards --- src/Pages/Testimonial.css | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/Pages/Testimonial.css b/src/Pages/Testimonial.css index ac89ae0..c556b31 100644 --- a/src/Pages/Testimonial.css +++ b/src/Pages/Testimonial.css @@ -15,6 +15,7 @@ h1{ .container{ margin-top: 5%; + margin-bottom: 20px; } .image-text{ @@ -28,8 +29,10 @@ h1{ border-radius: 15px; box-shadow: 0px 2px 6px 3px rgba(0, 0, 0, 0.1); animation: fadeInUp 1s ease-in-out; /* Added animation */ + transition: transform 0.3s ease, box-shadow 0.3s ease; } + .image-text h2{ font-size: 25px; text-transform: uppercase; @@ -43,6 +46,13 @@ h1{ .single{ position: relative; margin-bottom: 50px; + +} + +.single:hover { + transform: scale(1.05); + box-shadow: 0px 4px 12px 6px rgba(0, 0, 0, 0.2); + transition: all 0.3s ease-in-out; } .image{ @@ -61,6 +71,9 @@ h1{ width: 100%; object-fit: cover; } +.row{ + margin-bottom: 20px; +} .carousel-indicators{ left: 0; From 3c57dc4cc57631650094e8a5aae6091cb73b211c Mon Sep 17 00:00:00 2001 From: Isha Bamel <isha.bamel22@gmail.com> Date: Wed, 1 Jan 2025 21:07:12 +0530 Subject: [PATCH 13/50] Added hover effect on testimonials cards --- src/Pages/Testimonial.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Pages/Testimonial.css b/src/Pages/Testimonial.css index c556b31..5fa8213 100644 --- a/src/Pages/Testimonial.css +++ b/src/Pages/Testimonial.css @@ -64,7 +64,7 @@ h1{ top:15px; left:125px; border-radius: 50%; - animation: bounceIn 1s ease-in-out; /* Added animation */ + animation: bounceIn 1s ease-in-out; } .image img{ From bd11802fc4a629be937324471a8639754e839c82 Mon Sep 17 00:00:00 2001 From: Isha Bamel <isha.bamel22@gmail.com> Date: Wed, 1 Jan 2025 21:07:53 +0530 Subject: [PATCH 14/50] Added hover effect on testimonials cards --- src/Pages/Testimonial.css | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Pages/Testimonial.css b/src/Pages/Testimonial.css index 5fa8213..516c6dc 100644 --- a/src/Pages/Testimonial.css +++ b/src/Pages/Testimonial.css @@ -29,6 +29,7 @@ h1{ border-radius: 15px; box-shadow: 0px 2px 6px 3px rgba(0, 0, 0, 0.1); animation: fadeInUp 1s ease-in-out; /* Added animation */ + transition: transform 0.3s ease, box-shadow 0.3s ease; } From 858c456061907e02db74c20434dc87c6ef8752b2 Mon Sep 17 00:00:00 2001 From: Isha Bamel <isha.bamel22@gmail.com> Date: Wed, 1 Jan 2025 22:06:13 +0530 Subject: [PATCH 15/50] Added hover effect on testimonials cards --- src/Pages/Testimonial.css | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Pages/Testimonial.css b/src/Pages/Testimonial.css index 516c6dc..a1abf4f 100644 --- a/src/Pages/Testimonial.css +++ b/src/Pages/Testimonial.css @@ -32,7 +32,9 @@ h1{ transition: transform 0.3s ease, box-shadow 0.3s ease; } - +.image:hover { + transform: none; + } .image-text h2{ font-size: 25px; From 67a130bfc467521ccec98ca782eede11755465eb Mon Sep 17 00:00:00 2001 From: abhaykumar-0285 <abhay.kr2803@gmail.com> Date: Wed, 1 Jan 2025 22:10:38 +0530 Subject: [PATCH 16/50] updated scroll button to the home page --- package-lock.json | 2 +- package.json | 2 +- public/index.html | 7 +++++++ src/index.css | 26 ++++++++++++++++++++++++++ src/index.js | 20 ++++++++++++++++++++ 5 files changed, 55 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5ee8a02..6d8cef7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,7 @@ "react-locomotive-scroll": "^0.2.2", "react-redux": "^9.1.2", "react-router-dom": "^6.26.2", - "react-scripts": "5.0.1", + "react-scripts": "^5.0.1", "scrolltrigger": "^1.0.1", "styled-components": "^6.1.13", "web-vitals": "^2.1.4" diff --git a/package.json b/package.json index a7a1bcf..721e6c2 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "react-locomotive-scroll": "^0.2.2", "react-redux": "^9.1.2", "react-router-dom": "^6.26.2", - "react-scripts": "5.0.1", + "react-scripts": "^5.0.1", "scrolltrigger": "^1.0.1", "styled-components": "^6.1.13", "web-vitals": "^2.1.4" diff --git a/public/index.html b/public/index.html index b9178d0..5e24454 100644 --- a/public/index.html +++ b/public/index.html @@ -28,6 +28,7 @@ <link href="./App.css" rel="stylesheet"> <link href="./index.css" rel="stylesheet"> <title>MsCafe + @@ -44,6 +45,12 @@ To begin the development, run `npm start` or `yarn start`. To create a production bundle, use `npm run build` or `yarn build`. --> + + + + diff --git a/src/index.css b/src/index.css index 651ed53..ded5762 100644 --- a/src/index.css +++ b/src/index.css @@ -14,3 +14,29 @@ code { font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace; } + +/* Styling for the scroll-to-top button */ +#scrollToTop { + display: none; /* Initially hidden */ + position: fixed; + bottom: 20px; + right: 20px; + z-index: 99; + background-color: #6F4E37; /* Coffee Brown */ + color: #FAF9F6; /* Off-White */ + border: none; + outline: none; + cursor: pointer; + padding: 10px 15px; + border-radius: 50%; + font-size: 20px; + box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2); + transition: all 0.3s ease-in-out; +} + +/* Hover effect */ +#scrollToTop:hover { + background-color: #D4A373; /* Golden Yellow */ + color: #4B4B4B; /* Charcoal Gray */ + transform: scale(1.1); /* Slightly enlarge the button */ +} \ No newline at end of file diff --git a/src/index.js b/src/index.js index d563c0f..04149c9 100644 --- a/src/index.js +++ b/src/index.js @@ -11,6 +11,26 @@ root.render( ); +// Get the button element +const scrollToTopButton = document.getElementById("scrollToTop"); + +// Show the button when the user scrolls down 100px +window.onscroll = function () { + if (document.body.scrollTop > 100 || document.documentElement.scrollTop > 100) { + scrollToTopButton.style.display = "block"; + } else { + scrollToTopButton.style.display = "none"; + } +}; + +// Scroll to the top when the button is clicked +scrollToTopButton.addEventListener("click", function () { + window.scrollTo({ + top: 0, + behavior: "smooth", // Smooth scrolling + }); +}); + // If you want to start measuring performance in your app, pass a function // to log results (for example: reportWebVitals(console.log)) // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals From e4617a94386502c30445a1dab9b128dd4bf946d8 Mon Sep 17 00:00:00 2001 From: Rishi Mondal Date: Wed, 1 Jan 2025 17:48:10 +0000 Subject: [PATCH 17/50] Dockerize Container --- Dockerfile | 32 ++++++++++++++++++++++++++++++++ nginx.conf | 15 +++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 Dockerfile create mode 100644 nginx.conf diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2219e6b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,32 @@ +# Stage 1: Build the React application +FROM node:18 AS builder + +# Set working directory inside the container +WORKDIR /app + +# Copy package.json and package-lock.json +COPY package.json ./ + +# Install dependencies +RUN npm install + +# Copy all source code +COPY . . + +# Build the React app +RUN npm run build + +# Stage 2: Serve the application with Nginx +FROM nginx:stable-alpine + +# Copy the built files from the previous stage +COPY --from=builder /app/build /usr/share/nginx/html + +# Copy the Nginx configuration +COPY nginx.conf /etc/nginx/conf.d/default.conf + +# Expose the port +EXPOSE 80 + +# Start the Nginx server +CMD ["nginx", "-g", "daemon off;"] diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..185d0f2 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,15 @@ +server { + listen 80; + + server_name localhost; + + root /usr/share/nginx/html; + + index index.html; + + location / { + try_files $uri /index.html; + } + + error_page 404 /index.html; +} From 64e1387fa9d1fbac4e64b815bbae8aded09d60ad Mon Sep 17 00:00:00 2001 From: Rupesh Varshney <146447594+rupeshv2121@users.noreply.github.com> Date: Wed, 1 Jan 2025 23:58:58 +0530 Subject: [PATCH 18/50] Issue Resolved --- src/Pages/Home.css | 18 +++++++++--------- src/Pages/Home.js | 12 ++++++------ src/componets/Button.js | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/Pages/Home.css b/src/Pages/Home.css index 1b4f556..03b81f2 100644 --- a/src/Pages/Home.css +++ b/src/Pages/Home.css @@ -1,12 +1,12 @@ /* CafeHome.css */ -@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Poppins:wght@300;400;500;600&display=swap'); +@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Poppins:wght@300;400;500;600&display=swap"); :root { - --primary-coffee: #8B4513; - --secondary-coffee: #D2691E; - --cream: #FFE4B5; - --light-cream: #FDF5E6; - --dark-coffee: #2C130B; + --primary-coffee: #8b4513; + --secondary-coffee: #d2691e; + --cream: #ffe4b5; + --light-cream: #fdf5e6; + --dark-coffee: #2c130b; } /* Custom Scrollbar */ @@ -79,11 +79,11 @@ html { .hero-section { background-attachment: scroll; } - + .feature-card { margin: 1rem; } - + .specialty-image { width: 250px; height: 250px; @@ -95,4 +95,4 @@ html { ::selection { background: var(--secondary-coffee); color: var(--cream); -} \ No newline at end of file +} diff --git a/src/Pages/Home.js b/src/Pages/Home.js index 5064dd9..565c09f 100644 --- a/src/Pages/Home.js +++ b/src/Pages/Home.js @@ -1,9 +1,9 @@ -import React, { useEffect, useRef } from 'react'; -import { Link } from 'react-router-dom'; +import { motion } from 'framer-motion'; import { gsap } from 'gsap'; import { ScrollTrigger } from 'gsap/ScrollTrigger'; +import React, { useEffect, useRef } from 'react'; +import { Link } from 'react-router-dom'; import styled from 'styled-components'; -import { motion } from 'framer-motion'; import Button from '../componets/Button'; import './Home.css'; @@ -222,7 +222,7 @@ function Home() { useEffect(() => { const features = featuresRef.current.children; const specialties = specialtyRef.current.children; - + gsap.fromTo( features, { y: 50, opacity: 0 }, @@ -280,8 +280,8 @@ function Home() { - - + + Premium Beans We source the finest coffee beans from around the world. diff --git a/src/componets/Button.js b/src/componets/Button.js index 062cf7c..3c6afe6 100644 --- a/src/componets/Button.js +++ b/src/componets/Button.js @@ -14,7 +14,7 @@ const StyledButton = styled(motion.button)` &:hover { background-color: ${props => props.primary ? '#7c2214' : 'white'}; - color: ${props => props.primary ? '#7c2214' : '#7c2214'} + color: ${props => props.primary ? 'white' : '#7c2214'} } `; From 263a31ff7a80370724e4ea4abd13b2e6068a4759 Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba Date: Thu, 2 Jan 2025 07:18:40 +0530 Subject: [PATCH 19/50] changes_githubworkFlow --- .github/workflows/greetings.yml | 19 +++++++++++++------ .github/workflows/preview.yaml | 14 -------------- .github/workflows/production.yaml | 14 -------------- 3 files changed, 13 insertions(+), 34 deletions(-) diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml index 7d1f177..7cc90ea 100644 --- a/.github/workflows/greetings.yml +++ b/.github/workflows/greetings.yml @@ -13,12 +13,19 @@ jobs: welcome: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 - - uses: EddieHubCommunity/gh-action-community/src/welcome@main + - uses: actions/checkout@v3 + - name: Welcome Community + uses: EddieHubCommunity/gh-action-community/src/welcome@main with: - github-token: ${{ secrets.USER_TOKEN }} + github-token: ${{ secrets.GITHUB_TOKEN }} issue-message: | - Congratulations, @${{ github.actor }}! 🎉 Thank you for creating your issue. Your contribution is greatly appreciated and we look forward to working with you to resolve the issue. Keep up the great work! + Congratulations, @${{ github.actor }}! 🎉 Thank you for creating your issue. + Your contribution is greatly appreciated and we look forward to working with you to resolve the issue. + Keep up the great work! pr-message: | - Great job, @${{ github.actor }}! 🎉 Thank you for submitting your pull request. Your contribution is valuable and we appreciate your efforts to improve our project. - footer: 'We will promptly review your changes and offer feedback. Keep up the excellent work! Kindly remember to check our [contributing guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md)' \ No newline at end of file + Great job, @${{ github.actor }}! 🎉 Thank you for submitting your pull request. + Your contribution is valuable and we appreciate your efforts to improve our project. + footer: | + We will promptly review your changes and offer feedback. + Keep up the excellent work! + Please check our [contributing guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md) \ No newline at end of file diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml index 98459ee..1295ed1 100644 --- a/.github/workflows/preview.yaml +++ b/.github/workflows/preview.yaml @@ -25,20 +25,6 @@ jobs: - name: Pull Vercel Environment Information run: vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }} - env: - VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - - - name: Build Project Artifacts - run: vercel build --token=${{ secrets.VERCEL_TOKEN }} - env: - VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - - - name: Deploy Project Artifacts - run: vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }} env: VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} diff --git a/.github/workflows/production.yaml b/.github/workflows/production.yaml index a2e140b..7769f64 100644 --- a/.github/workflows/production.yaml +++ b/.github/workflows/production.yaml @@ -25,20 +25,6 @@ jobs: - name: Pull Vercel Environment Information run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} - env: - VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - - - name: Build Project Artifacts - run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} - env: - VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - - - name: Deploy Project Artifacts - run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} env: VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} From bcfe2ceafd35d011791ecb29dd928596b43f2273 Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba Date: Thu, 2 Jan 2025 07:27:00 +0530 Subject: [PATCH 20/50] chnages --- .github/ISSUE_TEMPLATE/bug.yml | 32 ----------------- .github/ISSUE_TEMPLATE/document.yml | 41 ---------------------- .github/ISSUE_TEMPLATE/feature_request.yml | 32 ----------------- .github/ISSUE_TEMPLATE/other.yml | 25 ------------- .github/ISSUE_TEMPLATE/refactor_code.yml | 35 ------------------ .github/pull_request_template.md | 39 -------------------- .github/workflows/autocomment-pr-merge.yml | 36 ------------------- .github/workflows/greetings.yml | 31 ---------------- .github/workflows/preview.yaml | 31 ---------------- .github/workflows/production.yaml | 31 ---------------- 10 files changed, 333 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug.yml delete mode 100644 .github/ISSUE_TEMPLATE/document.yml delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml delete mode 100644 .github/ISSUE_TEMPLATE/other.yml delete mode 100644 .github/ISSUE_TEMPLATE/refactor_code.yml delete mode 100644 .github/pull_request_template.md delete mode 100644 .github/workflows/autocomment-pr-merge.yml delete mode 100644 .github/workflows/greetings.yml delete mode 100644 .github/workflows/preview.yaml delete mode 100644 .github/workflows/production.yaml diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml deleted file mode 100644 index 3331c02..0000000 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: ​🐞 Bug -description: Report an issue to help us improve the project. -title: "[BUG] " -labels: ["bug", "goal: fix", "priority: medium"] -body: - - type: textarea - attributes: - label: Description - description: A brief description of the issue or bug you are facing, also include what you tried and what didn't work. - validations: - required: false - - type: textarea - attributes: - label: Screenshots - description: Please add screenshots if applicable - validations: - required: false - - type: textarea - attributes: - label: Any additional information? - description: Any additional information or Is there anything we should know about this bug? - validations: - required: false - - type: dropdown - attributes: - label: What browser are you seeing the problem on? - multiple: true - options: - - Firefox - - Chrome - - Safari - - Microsoft Edge diff --git a/.github/ISSUE_TEMPLATE/document.yml b/.github/ISSUE_TEMPLATE/document.yml deleted file mode 100644 index 40c639d..0000000 --- a/.github/ISSUE_TEMPLATE/document.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: "Documentation 📋" -description: "Use this form to present your suggestions on how to improve our docs" -title: "[DOCS] " -labels: ["documenation", "goal: enhancement"] - -body: - - type: textarea - id: docs_description - attributes: - label: "Issue Description" - description: "Please provide a brief summary of the documentation issue you are experiencing or would like to address." - validations: - required: true - - - type: textarea - id: screenshots_examples_docs - attributes: - label: "Screenshots or Examples (if applicable)" - description: "Please include relevant screenshots or examples to help illustrate the problem." - - - type: textarea - id: proposed_solution_docs - attributes: - label: "Proposed Solution (optional)" - description: "If you have a proposed solution for the documentation issue, please provide it here. This can be helpful for speeding up the resolution process." - - - type: checkboxes - id: terms_checklist_docs - attributes: - label: "Checklist" - description: "By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/Mujtabaa07/coffeeShop/blob/main/CODE_OF_CONDUCT.md)" - options: - - label: "I have checked the existing [issues](https://github.com/Mujtabaa07/coffeeShop/issues)" - required: true - - label: "I have read the [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md)" - required: true - - label: "I am willing to work on this issue (optional)" - required: false - - type: markdown - attributes: - value: "Thank you for taking the time to raise this issue! Your input is greatly appreciated." diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml deleted file mode 100644 index b536fbe..0000000 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Feature Request 💡 -description: Have any new idea or new feature for popShop? Please suggest! -title: "[Feature] " -labels: ["enhancement", "goal: addition", "priority: high"] -body: - - type: textarea - id: description - attributes: - label: Description - description: A clear and concise description of any alternative solution or features you've considered. - validations: - required: true - - type: textarea - id: screenshots - attributes: - label: Screenshots - description: Please add screenshots if applicable - validations: - required: false - - type: checkboxes - id: no-duplicate-issues - attributes: - label: "Checklist" - options: - - label: "I have checked the existing [issues](https://github.com/Mujtabaa07/coffeeShop/issues)" - required: true - - - label: "I have read the [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md)" - required: true - - - label: "I am willing to work on this issue (optional)" - required: false diff --git a/.github/ISSUE_TEMPLATE/other.yml b/.github/ISSUE_TEMPLATE/other.yml deleted file mode 100644 index ef17e97..0000000 --- a/.github/ISSUE_TEMPLATE/other.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Other -description: Use this for any other question or issue. Please do not create blank issues -title: "[OTHER]" -labels: ["status: awaiting triage"] -body: - - type: textarea - id: issuedescription - attributes: - label: What would you like to share or ask? - description: Provide a clear and concise explanation of your issue. - validations: - required: true - - type: checkboxes - id: no-duplicate-issues - attributes: - label: "Checklist" - options: - - label: "I have checked the existing [issues](https://github.com/Mujtabaa07/coffeeShop/issues)" - required: true - - - label: "I have read the [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md)" - required: true - - - label: "I am willing to work on this issue (optional)" - required: false diff --git a/.github/ISSUE_TEMPLATE/refactor_code.yml b/.github/ISSUE_TEMPLATE/refactor_code.yml deleted file mode 100644 index 148f0a7..0000000 --- a/.github/ISSUE_TEMPLATE/refactor_code.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: Refactor Code 🔧 -description: Use this label for code refactoring tasks. -title: "[Refactor] " -labels: ["goal: refactor", "priority: medium"] -body: - - type: input - attributes: - label: File Name - description: "Enter the file that you want to refactor in the codebase." - placeholder: "For example - component/Cards/Card.tsx" - validations: - required: true - - type: textarea - id: refactor_description - attributes: - label: "Reason for Refactoring the Code" - description: "Describe what improvements can be made in the codebase without introducing breaking changes." - validations: - required: true - - type: checkboxes - id: no-duplicate-issues - attributes: - label: "Checklist" - options: - - label: "I have checked the existing [issues](https://github.com/Mujtabaa07/coffeeShop/issues)." - required: true - - - label: "I have read the [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md)." - required: true - - - label: "The changes don't break the code and don't introduce new functionality." - required: true - - - label: "I am willing to work on this issue (optional)." - required: false diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index 546968b..0000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,39 +0,0 @@ -Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change. - - -Fixes # (issue) - - -## Type of change - -Please give a X on it which is applicable - -- [ ] Bug fix (non-breaking change which fixes an issue) -- [ ] New feature (non-breaking change which adds functionality) -- [ ] Refactor Code -- [ ] A documentation update -- [ ] Others(mentioned in the issue number) - -# How Has This Been Tested? - -Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration - -**_Test A Describe here_** - -**_Test B Describe here (if Requred)_** - -# Screenshots and Videos: - -Give screenshots and video of the changes you made - -# Checklist: -Give a X on, which is applicable - -- [ ] My code follows the style guidelines of this project -- [ ] I have performed a self-review of my code -- [ ] I have commented my code, particularly in hard-to-understand areas -- [ ] I have made corresponding changes to the documentation -- [ ] My changes generate no new warnings -- [ ] I have added tests that prove my fix is effective or that my feature works -- [ ] New and existing unit tests pass locally with my changes -- [ ] Any dependent changes have been merged and published in downstream modules diff --git a/.github/workflows/autocomment-pr-merge.yml b/.github/workflows/autocomment-pr-merge.yml deleted file mode 100644 index 54c97b5..0000000 --- a/.github/workflows/autocomment-pr-merge.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: Auto Comment on PR Merge - -on: - pull_request: - types: [closed] - -permissions: - issues: write - pull-requests: write - -jobs: - comment: - runs-on: ubuntu-latest - permissions: - pull-requests: write - if: github.event.pull_request.merged == true - - steps: - - name: Checkout Repository - uses: actions/checkout@v2 - - - name: Add Comment to Issue - env: - GITHUB_TOKEN: ${{ secrets.USER_TOKEN }} - run: | - COMMENT=$(cat < Date: Thu, 2 Jan 2025 07:31:59 +0530 Subject: [PATCH 21/50] Fixed hamburger menu for small screen devices --- src/componets/Navbar.js | 122 +++++++++++++++++++++++----------------- 1 file changed, 71 insertions(+), 51 deletions(-) diff --git a/src/componets/Navbar.js b/src/componets/Navbar.js index cf08477..4d5a420 100644 --- a/src/componets/Navbar.js +++ b/src/componets/Navbar.js @@ -1,9 +1,9 @@ -import React, { useState, useEffect } from 'react'; -import { Link } from 'react-router-dom'; -import { useSelector, useDispatch } from 'react-redux'; -import { logout } from '../Store/authSlice'; -import styled from 'styled-components'; -import { motion, AnimatePresence } from 'framer-motion'; +import React, { useState, useEffect } from "react"; +import { Link } from "react-router-dom"; +import { useSelector, useDispatch } from "react-redux"; +import { logout } from "../Store/authSlice"; +import styled from "styled-components"; +import { motion, AnimatePresence } from "framer-motion"; const NavbarContainer = styled(motion.nav)` display: flex; @@ -19,7 +19,7 @@ const NavbarContainer = styled(motion.nav)` right: 0; z-index: 1000; transition: all 0.3s ease; - border-bottom: 2px solid #8B4513; + border-bottom: 2px solid #8b4513; &.scrolled { padding: 0.8rem 2rem; @@ -27,13 +27,13 @@ const NavbarContainer = styled(motion.nav)` } &::before { - content: ''; + content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; - background: url('/coffee-beans-pattern.png') repeat; + background: url("/coffee-beans-pattern.png") repeat; opacity: 0.05; pointer-events: none; } @@ -42,17 +42,17 @@ const NavbarContainer = styled(motion.nav)` const Logo = styled(motion.div)` font-size: 2rem; font-weight: 700; - font-family: 'Playfair Display', serif; - + font-family: "Playfair Display", serif; + a { - color: #D2691E; + color: #d2691e; text-decoration: none; - background: linear-gradient(to right, #D2691E, #CD853F); + background: linear-gradient(to right, #d2691e, #cd853f); -webkit-background-clip: text; -webkit-text-fill-color: transparent; transition: all 0.3s ease; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2); - + &:hover { opacity: 0.9; } @@ -71,29 +71,29 @@ const NavLinks = styled(motion.div)` const NavLink = styled(motion.div)` position: relative; - + a { - color: #DEB887; + color: #deb887; text-decoration: none; font-weight: 500; font-size: 1.1rem; transition: all 0.3s ease; - font-family: 'Poppins', sans-serif; - + font-family: "Poppins", sans-serif; + &:hover { - color: #FFE4B5; + color: #ffe4b5; } } &::after { - content: '☕'; + content: "☕"; position: absolute; font-size: 0.8rem; bottom: -15px; left: 50%; transform: translateX(-50%) scale(0); transition: transform 0.3s ease; - color: #D2691E; + color: #d2691e; } &:hover::after { @@ -104,10 +104,10 @@ const NavLink = styled(motion.div)` const MobileMenuButton = styled(motion.button)` display: none; background: none; - border: 2px solid #D2691E; + border: 2px solid #d2691e; font-size: 1.8rem; cursor: pointer; - color: #DEB887; + color: #deb887; padding: 0.5rem; border-radius: 8px; transition: all 0.3s ease; @@ -120,7 +120,7 @@ const MobileMenuButton = styled(motion.button)` &:hover { background: rgba(210, 105, 30, 0.2); - color: #FFE4B5; + color: #ffe4b5; } `; @@ -131,9 +131,10 @@ const MobileMenu = styled(motion.div)` right: 0; background: rgba(44, 19, 11, 0.98); padding: 1rem; + z-index: 1000; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); border-radius: 0 0 15px 15px; - border: 2px solid #8B4513; + border: 2px solid #8b4513; border-top: none; `; @@ -142,21 +143,21 @@ const MobileNavLink = styled(motion.div)` border-radius: 8px; transition: all 0.3s ease; margin-bottom: 0.5rem; - + a { - color: #DEB887; + color: #deb887; text-decoration: none; font-weight: 500; display: block; transition: all 0.3s ease; - font-family: 'Poppins', sans-serif; + font-family: "Poppins", sans-serif; } &:hover { background: rgba(210, 105, 30, 0.2); - + a { - color: #FFE4B5; + color: #ffe4b5; transform: translateX(10px); } } @@ -173,8 +174,8 @@ function Navbar() { setScrolled(window.scrollY > 20); }; - window.addEventListener('scroll', handleScroll); - return () => window.removeEventListener('scroll', handleScroll); + window.addEventListener("scroll", handleScroll); + return () => window.removeEventListener("scroll", handleScroll); }, []); const handleLogout = () => { @@ -191,7 +192,7 @@ function Navbar() { initial={{ y: -100 }} animate={{ y: 0 }} transition={{ duration: 0.5 }} - className={scrolled ? 'scrolled' : ''} + className={scrolled ? "scrolled" : ""} > MsCafe @@ -212,7 +213,7 @@ function Navbar() { Contact - + {isLoggedIn ? ( <> @@ -221,10 +222,10 @@ function Navbar() { Cart - Logout @@ -240,7 +241,7 @@ function Navbar() { whileHover={{ scale: 1.1 }} whileTap={{ scale: 0.9 }} > - {isOpen ? '×' : '☰'} + {isOpen ? "×" : "☰"} @@ -252,39 +253,58 @@ function Navbar() { transition={{ duration: 0.3 }} > - Home + + Home + - Shop + + Shop + - About + + About + - Testimonial + + Testimonial + - Contact + + Contact + {isLoggedIn ? ( <> - Profile + + Profile + - Cart + + Cart + - { handleLogout(); toggleMenu(); }} - style={{ cursor: 'pointer' }} + { + handleLogout(); + toggleMenu(); + }} + style={{ cursor: "pointer" }} > Logout ) : ( - Login + + Login + )} @@ -294,4 +314,4 @@ function Navbar() { ); } -export default Navbar; \ No newline at end of file +export default Navbar; From eed057922eca2b8ca83da399128ed094b0ee3e5a Mon Sep 17 00:00:00 2001 From: Aditi Prabakaran Date: Thu, 2 Jan 2025 07:43:18 +0530 Subject: [PATCH 22/50] updated ui of testimonials page --- src/Pages/Testimonial.js | 371 ++++++++++++++++++++++++++------------- 1 file changed, 246 insertions(+), 125 deletions(-) diff --git a/src/Pages/Testimonial.js b/src/Pages/Testimonial.js index d6a7489..ba9a939 100644 --- a/src/Pages/Testimonial.js +++ b/src/Pages/Testimonial.js @@ -1,132 +1,253 @@ -import React from 'react' -import './Testimonial.css' +import React from 'react'; +import styled from 'styled-components'; +import { motion } from 'framer-motion'; +const TestimonialSection = styled.div` + background-color: #fffbeb; + padding: 6rem 2rem 4rem; + width: 100%; +`; - function Testimonial() { +const Container = styled.div` + max-width: 1200px; + margin: 0 auto; +`; + +const Title = styled.h1` + color: #78350f; + font-size: 2.5rem; + text-align: center; + margin-bottom: 3rem; + font-weight: bold; +`; + +const CarouselContainer = styled.div` + position: relative; + overflow: hidden; +`; + +const CarouselInner = styled.div` + width: 100%; +`; + +const CarouselRow = styled.div` + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 2rem; + padding: 1rem; +`; + +const TestimonialCard = styled(motion.div)` + background: white; + border-radius: 12px; + padding: 2rem; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); + transition: transform 0.3s ease; + + &:hover { + transform: translateY(-5px); + } +`; + +const ImageContainer = styled.div` + width: 100px; + height: 100px; + margin: 0 auto 1.5rem; + + img { + width: 100%; + height: 100%; + border-radius: 50%; + object-fit: cover; + border: 3px solid #92400e; + } +`; + +const TestimonialContent = styled.div` + text-align: center; + + h2 { + color: #78350f; + font-size: 1.5rem; + margin-bottom: 0.5rem; + } + + .stars { + color: #f59e0b; + font-size: 1.2rem; + margin-bottom: 1rem; + } + + p { + color: #92400e; + line-height: 1.6; + font-style: italic; + } +`; + +const CarouselControls = styled.div` + display: flex; + justify-content: center; + gap: 0.5rem; + margin-top: 2rem; + + button { + width: 12px; + height: 12px; + border-radius: 50%; + border: none; + background-color: ${props => props.active ? '#78350f' : '#d6d3d1'}; + cursor: pointer; + transition: background-color 0.3s ease; + + &:hover { + background-color: #92400e; + } + } +`; + +const CarouselControlButton = styled.button` + position: absolute; + top: 50%; + transform: translateY(-50%); + background: none; + border: none; + color: #78350f; + font-size: 2rem; + cursor: pointer; + z-index: 2; + + &.prev { + left: -2rem; + } + + &.next { + right: -2rem; + } +`; + +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 + + +
+ + + + Devolina + + +

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 + + +

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 + + +

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."

+
+
+
-
-
- - ); -} -export default Testimonial; +
+ + + + David + + +

David

+
⭐️⭐️⭐️⭐️⭐️
+

"The attention to detail here is exceptional. From the latte art to the friendly service, everything is top-notch. A must-visit for coffee lovers!"

+
+
+ + + John + + +

John

+
⭐️⭐️⭐️⭐️⭐️
+

"Great atmosphere for working or meeting friends. The WiFi is reliable, and their seasonal drink specials are always creative and delicious."

+
+
+ + + + Sandy + + +

Sandy

+
⭐️⭐️⭐️⭐️⭐️
+

"The staff here is incredibly knowledgeable about coffee. They're always happy to explain different brewing methods and help you find your perfect cup."

+
+
+
+
+ + + + + + + + + + + + + + + + + + ); +} +export default Testimonial; \ No newline at end of file From 37d026793dce8dc3baa432b37b2d6e280c578cc7 Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba Date: Thu, 2 Jan 2025 07:45:43 +0530 Subject: [PATCH 23/50] github --- .github/ISSUE_TEMPLATE/Bug-report.yaml | 67 +++++++++++++++++++++ .github/ISSUE_TEMPLATE/Doc.yaml | 18 ++++++ .github/ISSUE_TEMPLATE/Feature-Request.yaml | 35 +++++++++++ .github/workflows/PRs.yaml | 37 ++++++++++++ .github/workflows/greetings.yaml | 41 +++++++++++++ .github/workflows/preview.yaml | 39 ++++++++++++ .github/workflows/production.yaml | 39 ++++++++++++ .github/workflows/pull-request.yaml | 29 +++++++++ 8 files changed, 305 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/Bug-report.yaml create mode 100644 .github/ISSUE_TEMPLATE/Doc.yaml create mode 100644 .github/ISSUE_TEMPLATE/Feature-Request.yaml create mode 100644 .github/workflows/PRs.yaml create mode 100644 .github/workflows/greetings.yaml create mode 100644 .github/workflows/preview.yaml create mode 100644 .github/workflows/production.yaml create mode 100644 .github/workflows/pull-request.yaml diff --git a/.github/ISSUE_TEMPLATE/Bug-report.yaml b/.github/ISSUE_TEMPLATE/Bug-report.yaml new file mode 100644 index 0000000..5c3de39 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/Bug-report.yaml @@ -0,0 +1,67 @@ +name: 🐛 Bug Report +description: Create a report to help us improve +title: "[BUG] " +labels: ["bug", "triage"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + + - type: textarea + id: describe-bug + attributes: + label: Describe the Bug + description: A clear description of what the bug is + placeholder: Tell us what happened... + validations: + required: true + + - type: textarea + id: reproduce + attributes: + label: Steps To Reproduce + description: Steps to reproduce the behavior + placeholder: | + 1. Go to '...' + 2. Click on '....' + 3. Scroll down to '....' + 4. See error + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected Behavior + description: What did you expect to happen? + validations: + required: true + + - type: dropdown + id: browsers + attributes: + label: What browsers are you seeing the problem on? + multiple: true + options: + - Chrome + - Firefox + - Safari + - Microsoft Edge + + - type: input + id: version + attributes: + label: Version + description: What version of our software are you running? + validations: + required: true + + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our Code of Conduct + options: + - label: I agree to follow this project's Code of Conduct + required: true \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/Doc.yaml b/.github/ISSUE_TEMPLATE/Doc.yaml new file mode 100644 index 0000000..7270954 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/Doc.yaml @@ -0,0 +1,18 @@ +name: 📚 Documentation +description: Report documentation issues +title: "[Docs]: " +labels: ["documentation"] +body: + - type: textarea + id: description + attributes: + label: Description + description: What needs to be documented? + validations: + required: true + + - type: input + id: page-url + attributes: + label: Page URL + description: Which page needs updating? \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/Feature-Request.yaml b/.github/ISSUE_TEMPLATE/Feature-Request.yaml new file mode 100644 index 0000000..6fb38ec --- /dev/null +++ b/.github/ISSUE_TEMPLATE/Feature-Request.yaml @@ -0,0 +1,35 @@ +name: 💡 Feature Request +description: Suggest an idea for this project +title: "[FEATURE] " +labels: ["enhancement"] +body: + - type: textarea + id: problem + attributes: + label: Is your feature request related to a problem? + description: A clear description of what the problem is + placeholder: I'm always frustrated when... + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Describe the solution + description: What you want to happen + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives Considered + description: Any alternative solutions you've considered + + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + options: + - label: I agree to follow this project's Code of Conduct + required: true \ No newline at end of file diff --git a/.github/workflows/PRs.yaml b/.github/workflows/PRs.yaml new file mode 100644 index 0000000..b8760d2 --- /dev/null +++ b/.github/workflows/PRs.yaml @@ -0,0 +1,37 @@ +name: PR Auto Comment + +on: + pull_request_target: + types: [opened, ready_for_review] + +jobs: + pr-comment: + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - name: Comment on PR + uses: actions/github-script@v6 + with: + script: | + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: `### Thank you for your contribution! 🎉 + + #### PR Checklist + - [ ] Tests added/updated + - [ ] Documentation updated + - [ ] Changes follow coding standards + - [ ] Commit messages are clear + + #### Next Steps + 1. We will review your PR soon + 2. Address any requested changes + 3. Once approved, your PR will be merged + + Need help? Check our [Contributing Guide](CONTRIBUTING.md) + + Happy coding! 💻` + }) \ No newline at end of file diff --git a/.github/workflows/greetings.yaml b/.github/workflows/greetings.yaml new file mode 100644 index 0000000..354f8bc --- /dev/null +++ b/.github/workflows/greetings.yaml @@ -0,0 +1,41 @@ +name: Welcome to Our Community! 🎉 + +on: + fork: + issues: + types: [opened] + pull_request_target: + types: [opened] + discussion: + types: [created] + +jobs: + welcome: + runs-on: ubuntu-latest + steps: + - uses: actions/first-interaction@v1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + issue-message: | + ### Hello @${{ github.actor }}! 👋 + + Thank you for opening your first issue in our project! 🌟 + + A few quick things: + - 📝 Please check if this issue has been reported before + - ✅ Follow our issue template if provided + - ⏳ We'll review your issue as soon as possible + + Need help? Check our [Contributing Guidelines](CONTRIBUTING.md) + + pr-message: | + ### Amazing Work @${{ github.actor }}! 🎉 + + Thank you for your first contribution! We're thrilled to have you here! + + Helpful resources: + - 📚 [Contributing Guidelines](CONTRIBUTING.md) + - 🔧 [Development Setup](DEVELOPMENT.md) + - ⭐ [Code of Conduct](CODE_OF_CONDUCT.md) + + We'll review your PR soon. Keep coding! 💻 \ No newline at end of file diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml new file mode 100644 index 0000000..fe3807f --- /dev/null +++ b/.github/workflows/preview.yaml @@ -0,0 +1,39 @@ +name: Vercel Preview Deployment + +env: + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} + +on: + pull_request: + branches: + - main + - master + +jobs: + Deploy-Preview: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' + + - name: Install Dependencies + run: npm ci + + - name: Install Vercel CLI + run: npm install --global vercel@latest + + - name: Pull Vercel Environment Information + run: vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }} + + - name: Build Project Artifacts + run: vercel build --token=${{ secrets.VERCEL_TOKEN }} + + - name: Deploy Project Artifacts + run: | + DEPLOYMENT_URL=$(vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }}) + echo "Preview URL: $DEPLOYMENT_URL" \ No newline at end of file diff --git a/.github/workflows/production.yaml b/.github/workflows/production.yaml new file mode 100644 index 0000000..d0ac5c7 --- /dev/null +++ b/.github/workflows/production.yaml @@ -0,0 +1,39 @@ +name: Vercel Production Deployment + +env: + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} + +on: + push: + branches: + - main + - master + +jobs: + Deploy-Production: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' + + - name: Install Dependencies + run: npm ci + + - name: Install Vercel CLI + run: npm install --global vercel@latest + + - name: Pull Vercel Environment Information + run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + + - name: Build Project Artifacts + run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} + + - name: Deploy Project Artifacts + run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml new file mode 100644 index 0000000..bb6a134 --- /dev/null +++ b/.github/workflows/pull-request.yaml @@ -0,0 +1,29 @@ +name: Pull Request Checks + +on: + pull_request: + types: [opened, synchronize, reopened] + +jobs: + validate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Run linter + run: npm run lint + + - name: Run tests + run: npm test + + - name: Build check + run: npm run build \ No newline at end of file From 4e047568e740d52bf11c55504089008b3c125744 Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba Date: Thu, 2 Jan 2025 08:01:52 +0530 Subject: [PATCH 24/50] changes --- .github/ISSUE_TEMPLATE/Bug-report.yaml | 67 +++++------------ .github/ISSUE_TEMPLATE/Doc.yaml | 71 ++++++++++++++++--- .github/ISSUE_TEMPLATE/Feature-Request.yaml | 64 +++++++++++++---- .github/ISSUE_TEMPLATE/general_issues.yaml | 69 ++++++++++++++++++ .github/pull_request-templet.md | 39 ++++++++++ .github/workflows/auto-comment-pr.yml | 38 ++++++++++ .../{greetings.yaml => greetings.yml} | 28 +++++--- 7 files changed, 290 insertions(+), 86 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/general_issues.yaml create mode 100644 .github/pull_request-templet.md create mode 100644 .github/workflows/auto-comment-pr.yml rename .github/workflows/{greetings.yaml => greetings.yml} (68%) diff --git a/.github/ISSUE_TEMPLATE/Bug-report.yaml b/.github/ISSUE_TEMPLATE/Bug-report.yaml index 5c3de39..a3ff5b5 100644 --- a/.github/ISSUE_TEMPLATE/Bug-report.yaml +++ b/.github/ISSUE_TEMPLATE/Bug-report.yaml @@ -1,67 +1,32 @@ -name: 🐛 Bug Report -description: Create a report to help us improve -title: "[BUG] " -labels: ["bug", "triage"] +name: ​🐞 Bug +description: Report an issue to help us improve the project. +title: "[BUG] " +labels: ["bug", "goal: fix", "priority: medium"] body: - - type: markdown - attributes: - value: | - Thanks for taking the time to fill out this bug report! - - type: textarea - id: describe-bug attributes: - label: Describe the Bug - description: A clear description of what the bug is - placeholder: Tell us what happened... + label: Description + description: A brief description of the issue or bug you are facing, also include what you tried and what didn't work. validations: - required: true - + required: false - type: textarea - id: reproduce attributes: - label: Steps To Reproduce - description: Steps to reproduce the behavior - placeholder: | - 1. Go to '...' - 2. Click on '....' - 3. Scroll down to '....' - 4. See error + label: Screenshots + description: Please add screenshots if applicable validations: - required: true - + required: false - type: textarea - id: expected attributes: - label: Expected Behavior - description: What did you expect to happen? + label: Any additional information? + description: Any additional information or Is there anything we should know about this bug? validations: - required: true - + required: false - type: dropdown - id: browsers attributes: - label: What browsers are you seeing the problem on? + label: What browser are you seeing the problem on? multiple: true options: - - Chrome - Firefox + - Chrome - Safari - - Microsoft Edge - - - type: input - id: version - attributes: - label: Version - description: What version of our software are you running? - validations: - required: true - - - type: checkboxes - id: terms - attributes: - label: Code of Conduct - description: By submitting this issue, you agree to follow our Code of Conduct - options: - - label: I agree to follow this project's Code of Conduct - required: true \ No newline at end of file + - Microsoft Edge \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/Doc.yaml b/.github/ISSUE_TEMPLATE/Doc.yaml index 7270954..d30b848 100644 --- a/.github/ISSUE_TEMPLATE/Doc.yaml +++ b/.github/ISSUE_TEMPLATE/Doc.yaml @@ -1,18 +1,67 @@ -name: 📚 Documentation -description: Report documentation issues -title: "[Docs]: " -labels: ["documentation"] +name: "📚 Documentation Update" +description: "Help us improve our documentation" +title: "[DOCS] " +labels: ["documentation", "needs-triage"] + body: + - type: markdown + attributes: + value: | + Thanks for helping improve our documentation! 📖 + Please fill out the information below to help us understand your suggestion better. + - type: textarea - id: description + id: current_docs attributes: - label: Description - description: What needs to be documented? + label: "Current Documentation" + description: "What's currently in the documentation that needs to be updated?" + placeholder: "Example: The installation guide is missing steps for Windows setup..." validations: required: true - - type: input - id: page-url + - type: textarea + id: suggested_change + attributes: + label: "Suggested Changes" + description: "What changes would you like to see?" + placeholder: "Example: Add Windows-specific installation steps..." + validations: + required: true + + - type: textarea + id: screenshots + attributes: + label: "Screenshots or Examples" + description: "Add screenshots or examples if applicable" + placeholder: "Drag and drop images here..." + + - type: dropdown + id: doc_type + attributes: + label: "Documentation Type" + options: + - Installation Guide + - API Reference + - Tutorials + - README + - Other + validations: + required: true + + - type: checkboxes + id: terms + attributes: + label: "Contribution Agreement" + options: + - label: "I have searched existing issues and this is not a duplicate" + required: true + - label: "I have read the contributing guidelines" + required: true + - label: "I would like to work on fixing this documentation" + required: false + + - type: markdown attributes: - label: Page URL - description: Which page needs updating? \ No newline at end of file + value: | + --- + ⭐ Thank you for helping make our documentation better! \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/Feature-Request.yaml b/.github/ISSUE_TEMPLATE/Feature-Request.yaml index 6fb38ec..2467a5b 100644 --- a/.github/ISSUE_TEMPLATE/Feature-Request.yaml +++ b/.github/ISSUE_TEMPLATE/Feature-Request.yaml @@ -1,35 +1,73 @@ -name: 💡 Feature Request -description: Suggest an idea for this project +name: "✨ Feature Request" +description: "Suggest a new feature to enhance our Coffee Shop" title: "[FEATURE] " -labels: ["enhancement"] +labels: ["enhancement", "triage-needed"] + body: + - type: markdown + attributes: + value: | + # Feature Request + Thanks for taking the time to suggest a new feature! + Please fill out the information below to help us understand your suggestion better. + - type: textarea id: problem attributes: - label: Is your feature request related to a problem? - description: A clear description of what the problem is - placeholder: I'm always frustrated when... + label: "Problem Statement" + description: "What problem does this feature solve?" + placeholder: "I'm always frustrated when..." validations: required: true - type: textarea id: solution attributes: - label: Describe the solution - description: What you want to happen + label: "Proposed Solution" + description: "Describe the solution you'd like" + placeholder: "It would be great if..." validations: required: true - type: textarea id: alternatives attributes: - label: Alternatives Considered - description: Any alternative solutions you've considered + label: "Alternative Solutions" + description: "What alternatives have you considered?" + placeholder: "Another approach could be..." + + - type: textarea + id: screenshots + attributes: + label: "Screenshots or Mockups" + description: "Add any relevant screenshots, mockups or examples" + placeholder: "Drag and drop images here..." + + - type: dropdown + id: priority + attributes: + label: "Priority" + options: + - High + - Medium + - Low + validations: + required: true - type: checkboxes id: terms attributes: - label: Code of Conduct + label: "Contribution Guidelines" options: - - label: I agree to follow this project's Code of Conduct - required: true \ No newline at end of file + - label: "I have searched [existing issues](https://github.com/Mujtabaa07/coffeeShop/issues) and this is not a duplicate" + required: true + - label: "I have read the [Contributing Guidelines](CONTRIBUTING.md)" + required: true + - label: "I would like to implement this feature" + required: false + + - type: markdown + attributes: + value: | + --- + 💡 Thank you for contributing to make our Coffee Shop better! \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/general_issues.yaml b/.github/ISSUE_TEMPLATE/general_issues.yaml new file mode 100644 index 0000000..60de8ff --- /dev/null +++ b/.github/ISSUE_TEMPLATE/general_issues.yaml @@ -0,0 +1,69 @@ +name: "🤔 General Issue" +description: "Submit a general question, suggestion or issue" +title: "[GENERAL] " +labels: ["triage-needed"] + +body: + - type: markdown + attributes: + value: | + # General Issue Template + Thanks for taking the time to fill out this issue! Please provide as much information as possible. + + - type: dropdown + id: category + attributes: + label: "Category" + description: "What type of issue is this?" + options: + - Question + - Suggestion + - Problem + - Other + validations: + required: true + + - type: textarea + id: description + attributes: + label: "Description" + description: "What would you like to share or ask?" + placeholder: "Provide details about your issue, question, or suggestion..." + validations: + required: true + + - type: textarea + id: additional + attributes: + label: "Additional Context" + description: "Add any other context, screenshots, or relevant information" + placeholder: "Add any additional details here..." + + - type: dropdown + id: impact + attributes: + label: "Impact Level" + options: + - High + - Medium + - Low + validations: + required: true + + - type: checkboxes + id: terms + attributes: + label: "Contribution Guidelines" + options: + - label: "I have searched [existing issues](https://github.com/Mujtabaa07/coffeeShop/issues) to avoid duplicates" + required: true + - label: "I have read the [Contributing Guidelines](CONTRIBUTING.md)" + required: true + - label: "I would like to help resolve this issue" + required: false + + - type: markdown + attributes: + value: | + --- + Thank you for contributing to our project! 🙏 \ No newline at end of file diff --git a/.github/pull_request-templet.md b/.github/pull_request-templet.md new file mode 100644 index 0000000..3da9662 --- /dev/null +++ b/.github/pull_request-templet.md @@ -0,0 +1,39 @@ +Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change. + + +Fixes # (issue) + + +## Type of change + +Please give a X on it which is applicable + +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Refactor Code +- [ ] A documentation update +- [ ] Others(mentioned in the issue number) + +# How Has This Been Tested? + +Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration + +**_Test A Describe here_** + +**_Test B Describe here (if Requred)_** + +# Screenshots and Videos: + +Give screenshots and video of the changes you made + +# Checklist: +Give a X on, which is applicable + +- [ ] My code follows the style guidelines of this project +- [ ] I have performed a self-review of my code +- [ ] I have commented my code, particularly in hard-to-understand areas +- [ ] I have made corresponding changes to the documentation +- [ ] My changes generate no new warnings +- [ ] I have added tests that prove my fix is effective or that my feature works +- [ ] New and existing unit tests pass locally with my changes +- [ ] Any dependent changes have been merged and published in downstream modules \ No newline at end of file diff --git a/.github/workflows/auto-comment-pr.yml b/.github/workflows/auto-comment-pr.yml new file mode 100644 index 0000000..07fa6c4 --- /dev/null +++ b/.github/workflows/auto-comment-pr.yml @@ -0,0 +1,38 @@ +name: 'Auto Comment on PR Merge' + +on: + pull_request_target: + types: [closed] + +permissions: + pull-requests: write + +jobs: + auto_comment: + runs-on: ubuntu-latest + if: github.event.pull_request.merged == true + + steps: + - uses: actions/checkout@v3 + + - name: Create Success Comment + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const message = `### 🎉 Congratulations on Your Merged PR! + + Thank you @${context.payload.pull_request.user.login} for your contribution! + + #### What's Next? + - 🌟 Consider contributing to other issues + - 📚 Check our [Contributing Guidelines](CONTRIBUTING.md) for more ways to help + + Keep up the fantastic work! 🚀`; + + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: message + }); \ No newline at end of file diff --git a/.github/workflows/greetings.yaml b/.github/workflows/greetings.yml similarity index 68% rename from .github/workflows/greetings.yaml rename to .github/workflows/greetings.yml index 354f8bc..fe89b20 100644 --- a/.github/workflows/greetings.yaml +++ b/.github/workflows/greetings.yml @@ -1,4 +1,4 @@ -name: Welcome to Our Community! 🎉 +name: '👋 Welcome' on: fork: @@ -12,30 +12,36 @@ on: jobs: welcome: runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write steps: - - uses: actions/first-interaction@v1 + - uses: actions/checkout@v3 + + - name: Greet New Contributors + uses: actions/first-interaction@v1 with: repo-token: ${{ secrets.GITHUB_TOKEN }} issue-message: | - ### Hello @${{ github.actor }}! 👋 - - Thank you for opening your first issue in our project! 🌟 - + ### Welcome @${{ github.actor }}! 🌟 + + Thank you for opening your first issue! We're excited to have you here. + A few quick things: - 📝 Please check if this issue has been reported before - ✅ Follow our issue template if provided - ⏳ We'll review your issue as soon as possible - + Need help? Check our [Contributing Guidelines](CONTRIBUTING.md) pr-message: | ### Amazing Work @${{ github.actor }}! 🎉 - - Thank you for your first contribution! We're thrilled to have you here! - + + Thank you for your first pull request! We're thrilled to have you here. + Helpful resources: - 📚 [Contributing Guidelines](CONTRIBUTING.md) - 🔧 [Development Setup](DEVELOPMENT.md) - ⭐ [Code of Conduct](CODE_OF_CONDUCT.md) - + We'll review your PR soon. Keep coding! 💻 \ No newline at end of file From ede812790433885ad898ac82624fc8b263c04c93 Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba Date: Thu, 2 Jan 2025 08:22:35 +0530 Subject: [PATCH 25/50] auto-close-issue --- .github/workflows/autoCloseLinkedIssues.yml | 48 +++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/autoCloseLinkedIssues.yml diff --git a/.github/workflows/autoCloseLinkedIssues.yml b/.github/workflows/autoCloseLinkedIssues.yml new file mode 100644 index 0000000..22b4a5d --- /dev/null +++ b/.github/workflows/autoCloseLinkedIssues.yml @@ -0,0 +1,48 @@ +name: 'Auto Close Linked Issues' + +on: + pull_request_target: + types: [closed] + branches: [main, master] + +jobs: + close-issues: + runs-on: ubuntu-latest + if: github.event.pull_request.merged == true + permissions: + issues: write + pull-requests: write + + steps: + - uses: actions/checkout@v3 + + - name: Close Linked Issues + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const pr = context.payload.pull_request; + + // Get issue numbers from PR title/body + const issueNumbers = [ + ...pr.title.match(/#(\d+)/g) || [], + ...pr.body.match(/#(\d+)/g) || [] + ].map(num => Number(num.replace('#', ''))); + + // Process each linked issue + for (const issueNumber of issueNumbers) { + await github.rest.issues.update({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber, + state: 'closed' + }); + + // Add completion comment + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber, + body: `✅ This issue has been resolved in PR #${pr.number} by @${pr.user.login}` + }); + } \ No newline at end of file From 78546f5e5ec005e2c5b8145f20937e7bef691b29 Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba Date: Thu, 2 Jan 2025 08:48:02 +0530 Subject: [PATCH 26/50] changes --- .github/ISSUE_TEMPLATE/Feature-Request.yaml | 2 +- .github/ISSUE_TEMPLATE/general_issues.yaml | 2 +- .github/workflows/auto-comment-pr.yml | 2 +- .github/workflows/autoCloseLinkedIssues.yml | 2 +- .github/workflows/greetings.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/Feature-Request.yaml b/.github/ISSUE_TEMPLATE/Feature-Request.yaml index 2467a5b..e8f6261 100644 --- a/.github/ISSUE_TEMPLATE/Feature-Request.yaml +++ b/.github/ISSUE_TEMPLATE/Feature-Request.yaml @@ -61,7 +61,7 @@ body: options: - label: "I have searched [existing issues](https://github.com/Mujtabaa07/coffeeShop/issues) and this is not a duplicate" required: true - - label: "I have read the [Contributing Guidelines](CONTRIBUTING.md)" + - label: "I have read the [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md)" required: true - label: "I would like to implement this feature" required: false diff --git a/.github/ISSUE_TEMPLATE/general_issues.yaml b/.github/ISSUE_TEMPLATE/general_issues.yaml index 60de8ff..b949717 100644 --- a/.github/ISSUE_TEMPLATE/general_issues.yaml +++ b/.github/ISSUE_TEMPLATE/general_issues.yaml @@ -57,7 +57,7 @@ body: options: - label: "I have searched [existing issues](https://github.com/Mujtabaa07/coffeeShop/issues) to avoid duplicates" required: true - - label: "I have read the [Contributing Guidelines](CONTRIBUTING.md)" + - label: "I have read the [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md)" required: true - label: "I would like to help resolve this issue" required: false diff --git a/.github/workflows/auto-comment-pr.yml b/.github/workflows/auto-comment-pr.yml index 07fa6c4..e557f88 100644 --- a/.github/workflows/auto-comment-pr.yml +++ b/.github/workflows/auto-comment-pr.yml @@ -18,7 +18,7 @@ jobs: - name: Create Success Comment uses: actions/github-script@v6 with: - github-token: ${{ secrets.GITHUB_TOKEN }} + github-token: ${{ secrets.COFFEE_SHOP_GITHUB_TOKEN }} script: | const message = `### 🎉 Congratulations on Your Merged PR! diff --git a/.github/workflows/autoCloseLinkedIssues.yml b/.github/workflows/autoCloseLinkedIssues.yml index 22b4a5d..d47c590 100644 --- a/.github/workflows/autoCloseLinkedIssues.yml +++ b/.github/workflows/autoCloseLinkedIssues.yml @@ -19,7 +19,7 @@ jobs: - name: Close Linked Issues uses: actions/github-script@v6 with: - github-token: ${{ secrets.GITHUB_TOKEN }} + github-token: ${{ secrets.COFFEE_SHOP_GITHUB_TOKEN }} script: | const pr = context.payload.pull_request; diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml index fe89b20..66e15e2 100644 --- a/.github/workflows/greetings.yml +++ b/.github/workflows/greetings.yml @@ -21,7 +21,7 @@ jobs: - name: Greet New Contributors uses: actions/first-interaction@v1 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} + repo-token: ${{ secrets.COFFEE_SHOP_GITHUB_TOKEN }} issue-message: | ### Welcome @${{ github.actor }}! 🌟 From 9f862582400e89cd5db00e31b1085d8fab4d668e Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba Date: Thu, 2 Jan 2025 08:53:45 +0530 Subject: [PATCH 27/50] changes --- .github/workflows/PRs.yaml | 3 ++- .github/workflows/auto-comment-pr.yml | 2 +- .github/workflows/greetings.yml | 7 +++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/PRs.yaml b/.github/workflows/PRs.yaml index b8760d2..35be37f 100644 --- a/.github/workflows/PRs.yaml +++ b/.github/workflows/PRs.yaml @@ -31,7 +31,8 @@ jobs: 2. Address any requested changes 3. Once approved, your PR will be merged - Need help? Check our [Contributing Guide](CONTRIBUTING.md) + Need help? Check our [Contributing Guide](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md) + Happy coding! 💻` }) \ No newline at end of file diff --git a/.github/workflows/auto-comment-pr.yml b/.github/workflows/auto-comment-pr.yml index e557f88..52bda15 100644 --- a/.github/workflows/auto-comment-pr.yml +++ b/.github/workflows/auto-comment-pr.yml @@ -26,7 +26,7 @@ jobs: #### What's Next? - 🌟 Consider contributing to other issues - - 📚 Check our [Contributing Guidelines](CONTRIBUTING.md) for more ways to help + - 📚 Check our [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md) for more ways to help Keep up the fantastic work! 🚀`; diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml index 66e15e2..53b8ff1 100644 --- a/.github/workflows/greetings.yml +++ b/.github/workflows/greetings.yml @@ -32,7 +32,7 @@ jobs: - ✅ Follow our issue template if provided - ⏳ We'll review your issue as soon as possible - Need help? Check our [Contributing Guidelines](CONTRIBUTING.md) + Need help? Check our [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md) pr-message: | ### Amazing Work @${{ github.actor }}! 🎉 @@ -40,8 +40,7 @@ jobs: Thank you for your first pull request! We're thrilled to have you here. Helpful resources: - - 📚 [Contributing Guidelines](CONTRIBUTING.md) - - 🔧 [Development Setup](DEVELOPMENT.md) - - ⭐ [Code of Conduct](CODE_OF_CONDUCT.md) + - 📚 [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md) + - ⭐ [Code of Conduct](https://github.com/Mujtabaa07/coffeeShop/blob/main/CODE_OF_CONDUCT.md) We'll review your PR soon. Keep coding! 💻 \ No newline at end of file From e41c8e7fafeac7dbecb25f94a6a08217d133dc7f Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba Date: Thu, 2 Jan 2025 09:05:40 +0530 Subject: [PATCH 28/50] welcome_git --- .github/workflows/welcome.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .github/workflows/welcome.yml diff --git a/.github/workflows/welcome.yml b/.github/workflows/welcome.yml new file mode 100644 index 0000000..923e4cc --- /dev/null +++ b/.github/workflows/welcome.yml @@ -0,0 +1,21 @@ +name: Welcome New Contributors + +on: + issues: + types: [opened] + pull_request_target: + types: [opened] + +jobs: + welcome: + runs-on: ubuntu-latest + steps: + - uses: EddieHubCommunity/gh-action-community/src/welcome@main + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + issue-message: | + Congratulations! 🎉 Thank you for creating your issue. Your contribution is greatly appreciated and we look forward to working with you to resolve the issue. Keep up the great work! + pr-message: | + Great job! 🎉 Thank you for submitting your pull request. Your contribution is valuable and we appreciate your efforts to improve our project. + footer: | + We will promptly review your changes and offer feedback. Keep up the excellent work! Kindly remember to check our [contributing guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md) \ No newline at end of file From 33cfaa340f427247062504ba1d89c925595b3818 Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba Date: Thu, 2 Jan 2025 09:08:13 +0530 Subject: [PATCH 29/50] added-token --- .github/workflows/welcome.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/welcome.yml b/.github/workflows/welcome.yml index 923e4cc..8331c77 100644 --- a/.github/workflows/welcome.yml +++ b/.github/workflows/welcome.yml @@ -12,7 +12,7 @@ jobs: steps: - uses: EddieHubCommunity/gh-action-community/src/welcome@main with: - github-token: ${{ secrets.GITHUB_TOKEN }} + github-token: ${{ secrets.COFFEE_SHOP_GITHUB_TOKEN }} issue-message: | Congratulations! 🎉 Thank you for creating your issue. Your contribution is greatly appreciated and we look forward to working with you to resolve the issue. Keep up the great work! pr-message: | From 60d715d2106a9a4ed346d20fef6768362fdcd9de Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba Date: Thu, 2 Jan 2025 09:12:54 +0530 Subject: [PATCH 30/50] changes --- .github/workflows/welcome.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/welcome.yml b/.github/workflows/welcome.yml index 8331c77..65cbe68 100644 --- a/.github/workflows/welcome.yml +++ b/.github/workflows/welcome.yml @@ -10,12 +10,10 @@ jobs: welcome: runs-on: ubuntu-latest steps: - - uses: EddieHubCommunity/gh-action-community/src/welcome@main + - uses: actions/first-interaction@v1 with: - github-token: ${{ secrets.COFFEE_SHOP_GITHUB_TOKEN }} + repo-token: ${{ secrets.COFFEE_SHOP_GITHUB_TOKEN }} issue-message: | Congratulations! 🎉 Thank you for creating your issue. Your contribution is greatly appreciated and we look forward to working with you to resolve the issue. Keep up the great work! pr-message: | Great job! 🎉 Thank you for submitting your pull request. Your contribution is valuable and we appreciate your efforts to improve our project. - footer: | - We will promptly review your changes and offer feedback. Keep up the excellent work! Kindly remember to check our [contributing guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md) \ No newline at end of file From a1d8be4fb902289608286129de9ba583d2a6ed4c Mon Sep 17 00:00:00 2001 From: mansi066 Date: Thu, 2 Jan 2025 10:06:39 +0530 Subject: [PATCH 31/50] Add PremimiumBeans --- package-lock.json | 190 -------------------------------------- src/App.js | 3 + src/Pages/Home.js | 3 +- src/Pages/PremiumBeans.js | 81 ++++++++++++++++ 4 files changed, 86 insertions(+), 191 deletions(-) create mode 100644 src/Pages/PremiumBeans.js diff --git a/package-lock.json b/package-lock.json index 5ee8a02..0550e34 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 1f8cc47..725c0c3 100644 --- a/src/App.js +++ b/src/App.js @@ -15,6 +15,7 @@ import Contact from './Pages/contact'; import Profile from './Pages/profile'; import Checkout from './Pages/checkOut'; import Testimonial from './Pages/Testimonial'; +import PremiumBeans from './Pages/PremiumBeans'; @@ -48,6 +49,8 @@ function App() { } /> } /> } /> + } /> + diff --git a/src/Pages/Home.js b/src/Pages/Home.js index 5064dd9..f09fb0d 100644 --- a/src/Pages/Home.js +++ b/src/Pages/Home.js @@ -283,7 +283,8 @@ function Home() { - Premium Beans + + Premium Beans We source the finest coffee beans from around the world. diff --git a/src/Pages/PremiumBeans.js b/src/Pages/PremiumBeans.js new file mode 100644 index 0000000..cde1a52 --- /dev/null +++ b/src/Pages/PremiumBeans.js @@ -0,0 +1,81 @@ +import React from 'react'; + +import styled from 'styled-components'; +import { motion } from 'framer-motion'; + +const FeatureTitle = styled(motion.h1)` + font-size: 2rem; + margin-top: 6rem; + 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)` + flex: 1; + display: flex; + justify-content: center; + align-items: center; + padding: 1rem; +`; + +const Image = styled(motion.img)` + width: 50%; + height: 250px; + object-fit: cover; + border-radius: 10px; + margin-bottom: 1.5rem; + margin-left: 20rem; + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); +`; + +const FeatureDescription = styled(motion.p)` + font-size: 1.1rem; + color: #6B4423; + line-height: 1.6; + font-family: 'Poppins', sans-serif; + display:flex; + margin: 12px; +`; + + + +function PremiumBeans() { + return ( + <> + + Premium beans + + + Quality Beans + + +

+ Premium coffee beans are often considered the finest quality beans available, predominantly made from 100% Arabica beans. These beans are prized for their exceptional flavor, rich aroma, and smoother, less bitter taste compared to Robusta beans. Sourced from the highest-grade coffee plants, premium beans undergo meticulous cultivation and harvesting processes. Specialty roasting techniques, typically in small batches, ensure that the beans' unique flavors are expertly developed. Many premium coffee brands are committed to ethical sourcing, collaborating closely with farmers to promote sustainable and fair trade practices. The variety of flavors and roasts available, including single-origin beans, dark roasts, light roasts, and flavored beans, caters to diverse palates. Popular premium coffee brands such as Atlas Coffee Club, Starbucks Espresso, Kicking Horse, and Stumptown Coffee Roasters offer distinctive blends and roasts to satisfy different tastes. + +

+ +
+ + ) +} + +export default PremiumBeans + From 41f42ff858e30890b297bc955e295ab3827ebccc Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba Date: Thu, 2 Jan 2025 10:11:33 +0530 Subject: [PATCH 32/50] changes --- .github/workflows/preview.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml index fe3807f..9be9f2d 100644 --- a/.github/workflows/preview.yaml +++ b/.github/workflows/preview.yaml @@ -27,8 +27,6 @@ jobs: - name: Install Vercel CLI run: npm install --global vercel@latest - - name: Pull Vercel Environment Information - run: vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }} - name: Build Project Artifacts run: vercel build --token=${{ secrets.VERCEL_TOKEN }} From 1a5d6241e9b206ae39b286bba7b9950ace31f983 Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba Date: Thu, 2 Jan 2025 10:20:08 +0530 Subject: [PATCH 33/50] changes --- .github/workflows/deployment.yml | 37 ++++++++++++++++++++++++++++++++ .github/workflows/preview.yaml | 2 ++ 2 files changed, 39 insertions(+) create mode 100644 .github/workflows/deployment.yml diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml new file mode 100644 index 0000000..5610d17 --- /dev/null +++ b/.github/workflows/deployment.yml @@ -0,0 +1,37 @@ +name: Deploy +on: + push: + branches: + - main + +jobs: + deploy: + runs-on: ubuntu-latest + env: + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + + steps: + - uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Install Vercel CLI + run: npm install --global vercel@latest + + - name: Pull Vercel Environment Information + run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} + + - name: Build Project Artifacts + run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} + + - name: Deploy Project Artifacts to Vercel + run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml index 9be9f2d..fe3807f 100644 --- a/.github/workflows/preview.yaml +++ b/.github/workflows/preview.yaml @@ -27,6 +27,8 @@ jobs: - name: Install Vercel CLI run: npm install --global vercel@latest + - name: Pull Vercel Environment Information + run: vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }} - name: Build Project Artifacts run: vercel build --token=${{ secrets.VERCEL_TOKEN }} From 56cbbeb3b38d6076a491ad556ac36e723e3b9897 Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba Date: Thu, 2 Jan 2025 10:28:27 +0530 Subject: [PATCH 34/50] changes --- .github/workflows/preview.yaml | 39 ----------------------------- .github/workflows/pull-request.yaml | 29 --------------------- 2 files changed, 68 deletions(-) delete mode 100644 .github/workflows/preview.yaml delete mode 100644 .github/workflows/pull-request.yaml diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml deleted file mode 100644 index fe3807f..0000000 --- a/.github/workflows/preview.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: Vercel Preview Deployment - -env: - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - -on: - pull_request: - branches: - - main - - master - -jobs: - Deploy-Preview: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Install Node.js - uses: actions/setup-node@v3 - with: - node-version: '18' - - - name: Install Dependencies - run: npm ci - - - name: Install Vercel CLI - run: npm install --global vercel@latest - - - name: Pull Vercel Environment Information - run: vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }} - - - name: Build Project Artifacts - run: vercel build --token=${{ secrets.VERCEL_TOKEN }} - - - name: Deploy Project Artifacts - run: | - DEPLOYMENT_URL=$(vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }}) - echo "Preview URL: $DEPLOYMENT_URL" \ No newline at end of file diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml deleted file mode 100644 index bb6a134..0000000 --- a/.github/workflows/pull-request.yaml +++ /dev/null @@ -1,29 +0,0 @@ -name: Pull Request Checks - -on: - pull_request: - types: [opened, synchronize, reopened] - -jobs: - validate: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: '18' - cache: 'npm' - - - name: Install dependencies - run: npm ci - - - name: Run linter - run: npm run lint - - - name: Run tests - run: npm test - - - name: Build check - run: npm run build \ No newline at end of file From fb1c821537f533be558204a479ef200ceca67a2f Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba Date: Thu, 2 Jan 2025 10:34:13 +0530 Subject: [PATCH 35/50] changes --- .github/workflows/preview.yaml | 39 +++++++++++++++++++++++++++++ .github/workflows/production.yaml | 2 +- .github/workflows/pull-request.yaml | 26 +++++++++++++++++++ 3 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/preview.yaml create mode 100644 .github/workflows/pull-request.yaml diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml new file mode 100644 index 0000000..fe3807f --- /dev/null +++ b/.github/workflows/preview.yaml @@ -0,0 +1,39 @@ +name: Vercel Preview Deployment + +env: + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} + +on: + pull_request: + branches: + - main + - master + +jobs: + Deploy-Preview: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' + + - name: Install Dependencies + run: npm ci + + - name: Install Vercel CLI + run: npm install --global vercel@latest + + - name: Pull Vercel Environment Information + run: vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }} + + - name: Build Project Artifacts + run: vercel build --token=${{ secrets.VERCEL_TOKEN }} + + - name: Deploy Project Artifacts + run: | + DEPLOYMENT_URL=$(vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }}) + echo "Preview URL: $DEPLOYMENT_URL" \ No newline at end of file diff --git a/.github/workflows/production.yaml b/.github/workflows/production.yaml index d0ac5c7..38459cf 100644 --- a/.github/workflows/production.yaml +++ b/.github/workflows/production.yaml @@ -1,7 +1,7 @@ name: Vercel Production Deployment env: - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID || 'default_org_id' }} VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} on: diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml new file mode 100644 index 0000000..24fd632 --- /dev/null +++ b/.github/workflows/pull-request.yaml @@ -0,0 +1,26 @@ +name: Pull Request Checks + +on: + pull_request: + types: [opened, synchronize, reopened] + +jobs: + validate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Run tests + run: npm test + + - name: Build check + run: npm run build \ No newline at end of file From 03c9414b56c86a06565282f6d906bd285fe801b4 Mon Sep 17 00:00:00 2001 From: Mohamed Mujtaba Date: Thu, 2 Jan 2025 11:09:19 +0530 Subject: [PATCH 36/50] changes --- .github/workflows/deployment.yml | 37 ----------------------- .github/workflows/greetings.yml | 46 ----------------------------- .github/workflows/preview.yaml | 39 ------------------------ .github/workflows/production.yaml | 39 ------------------------ .github/workflows/pull-request.yaml | 26 ---------------- 5 files changed, 187 deletions(-) delete mode 100644 .github/workflows/deployment.yml delete mode 100644 .github/workflows/greetings.yml delete mode 100644 .github/workflows/preview.yaml delete mode 100644 .github/workflows/production.yaml delete mode 100644 .github/workflows/pull-request.yaml diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml deleted file mode 100644 index 5610d17..0000000 --- a/.github/workflows/deployment.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Deploy -on: - push: - branches: - - main - -jobs: - deploy: - runs-on: ubuntu-latest - env: - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} - - steps: - - uses: actions/checkout@v3 - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: '18' - cache: 'npm' - - - name: Install dependencies - run: npm ci - - - name: Install Vercel CLI - run: npm install --global vercel@latest - - - name: Pull Vercel Environment Information - run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} - - - name: Build Project Artifacts - run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} - - - name: Deploy Project Artifacts to Vercel - run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml deleted file mode 100644 index 53b8ff1..0000000 --- a/.github/workflows/greetings.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: '👋 Welcome' - -on: - fork: - issues: - types: [opened] - pull_request_target: - types: [opened] - discussion: - types: [created] - -jobs: - welcome: - runs-on: ubuntu-latest - permissions: - issues: write - pull-requests: write - steps: - - uses: actions/checkout@v3 - - - name: Greet New Contributors - uses: actions/first-interaction@v1 - with: - repo-token: ${{ secrets.COFFEE_SHOP_GITHUB_TOKEN }} - issue-message: | - ### Welcome @${{ github.actor }}! 🌟 - - Thank you for opening your first issue! We're excited to have you here. - - A few quick things: - - 📝 Please check if this issue has been reported before - - ✅ Follow our issue template if provided - - ⏳ We'll review your issue as soon as possible - - Need help? Check our [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md) - - pr-message: | - ### Amazing Work @${{ github.actor }}! 🎉 - - Thank you for your first pull request! We're thrilled to have you here. - - Helpful resources: - - 📚 [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md) - - ⭐ [Code of Conduct](https://github.com/Mujtabaa07/coffeeShop/blob/main/CODE_OF_CONDUCT.md) - - We'll review your PR soon. Keep coding! 💻 \ No newline at end of file diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml deleted file mode 100644 index fe3807f..0000000 --- a/.github/workflows/preview.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: Vercel Preview Deployment - -env: - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - -on: - pull_request: - branches: - - main - - master - -jobs: - Deploy-Preview: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Install Node.js - uses: actions/setup-node@v3 - with: - node-version: '18' - - - name: Install Dependencies - run: npm ci - - - name: Install Vercel CLI - run: npm install --global vercel@latest - - - name: Pull Vercel Environment Information - run: vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }} - - - name: Build Project Artifacts - run: vercel build --token=${{ secrets.VERCEL_TOKEN }} - - - name: Deploy Project Artifacts - run: | - DEPLOYMENT_URL=$(vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }}) - echo "Preview URL: $DEPLOYMENT_URL" \ No newline at end of file diff --git a/.github/workflows/production.yaml b/.github/workflows/production.yaml deleted file mode 100644 index 38459cf..0000000 --- a/.github/workflows/production.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: Vercel Production Deployment - -env: - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID || 'default_org_id' }} - VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - -on: - push: - branches: - - main - - master - -jobs: - Deploy-Production: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Install Node.js - uses: actions/setup-node@v3 - with: - node-version: '18' - - - name: Install Dependencies - run: npm ci - - - name: Install Vercel CLI - run: npm install --global vercel@latest - - - name: Pull Vercel Environment Information - run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} - env: - VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} - - - name: Build Project Artifacts - run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} - - - name: Deploy Project Artifacts - run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml deleted file mode 100644 index 24fd632..0000000 --- a/.github/workflows/pull-request.yaml +++ /dev/null @@ -1,26 +0,0 @@ -name: Pull Request Checks - -on: - pull_request: - types: [opened, synchronize, reopened] - -jobs: - validate: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: '18' - cache: 'npm' - - - name: Install dependencies - run: npm ci - - - name: Run tests - run: npm test - - - name: Build check - run: npm run build \ No newline at end of file From 4c3f46df23714fa583a02690305cf2069ad3daa8 Mon Sep 17 00:00:00 2001 From: dhruvi2403 Date: Thu, 2 Jan 2025 11:20:00 +0530 Subject: [PATCH 37/50] navbar visibility on smaller screen fixed --- src/componets/Navbar.css | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/componets/Navbar.css b/src/componets/Navbar.css index 03cb21a..56eefd1 100644 --- a/src/componets/Navbar.css +++ b/src/componets/Navbar.css @@ -109,4 +109,14 @@ body.menu-open { color: rgba(222, 184, 135, 0.6); pointer-events: none; animation: steam 2s infinite; +} + +.navbar { + position: fixed; + top: 0; + width: 100%; + background: #2C130B; + z-index: 1000; + padding: 10px 20px; + box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1); } \ No newline at end of file From 034496796dc4946410728dd04d58cb85b87ff650 Mon Sep 17 00:00:00 2001 From: Rupesh Varshney <146447594+rupeshv2121@users.noreply.github.com> Date: Thu, 2 Jan 2025 11:23:26 +0530 Subject: [PATCH 38/50] Fix the Issue --- src/Pages/Shop.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/Pages/Shop.js b/src/Pages/Shop.js index b7b3b4b..739b892 100644 --- a/src/Pages/Shop.js +++ b/src/Pages/Shop.js @@ -5,11 +5,6 @@ import { useDispatch } from "react-redux"; import styled from "styled-components"; import { addToCart } from "../Store/cartSlice"; import Button from "../componets/Button"; -import React from 'react'; -import { useDispatch } from 'react-redux'; -import styled from 'styled-components'; -import { motion } from 'framer-motion'; -import { addToCart } from '../Store/cartSlice'; const ShopContainer = styled.div` padding: 6rem 2rem 4rem 2rem; // Added top padding for navbar From c33ce1a38de8f6e0276526839dafa9a90709c9ea Mon Sep 17 00:00:00 2001 From: mansi066 Date: Thu, 2 Jan 2025 12:12:05 +0530 Subject: [PATCH 39/50] Update Navbar --- src/componets/Navbar.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/componets/Navbar.js b/src/componets/Navbar.js index 4d5a420..d61915d 100644 --- a/src/componets/Navbar.js +++ b/src/componets/Navbar.js @@ -208,7 +208,10 @@ function Navbar() { About - Testimonial + Testimonial + + + Premium Beans Contact From 89ce12eb9d198f218b5fdd39fde2f92fe9a5aa76 Mon Sep 17 00:00:00 2001 From: Mohammed Mujtaba Date: Thu, 2 Jan 2025 12:23:21 +0530 Subject: [PATCH 40/50] Update welcome.yml --- .github/workflows/welcome.yml | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/.github/workflows/welcome.yml b/.github/workflows/welcome.yml index 65cbe68..436f50e 100644 --- a/.github/workflows/welcome.yml +++ b/.github/workflows/welcome.yml @@ -1,19 +1,46 @@ -name: Welcome New Contributors +name: '👋 Welcome' on: + fork: issues: types: [opened] pull_request_target: types: [opened] + discussion: + types: [created] jobs: welcome: runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write steps: - - uses: actions/first-interaction@v1 + - uses: actions/checkout@v3 + + - name: Greet New Contributors + uses: actions/first-interaction@v1 with: repo-token: ${{ secrets.COFFEE_SHOP_GITHUB_TOKEN }} issue-message: | - Congratulations! 🎉 Thank you for creating your issue. Your contribution is greatly appreciated and we look forward to working with you to resolve the issue. Keep up the great work! + ### Welcome @${{ github.actor }}! 🌟 + + Thank you for opening This issue! We're excited to have you here. + + A few quick things: + - 📝 Please check if this issue has been reported before + - ✅ Follow our issue template if provided + - ⏳ We'll review your issue as soon as possible + + Need help? Check our [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md) + pr-message: | - Great job! 🎉 Thank you for submitting your pull request. Your contribution is valuable and we appreciate your efforts to improve our project. + ### Amazing Work @${{ github.actor }}! 🎉 + + Thank you for your pull request! We're thrilled to have you here. + + Helpful resources: + - 📚 [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md) + - ⭐ [Code of Conduct](https://github.com/Mujtabaa07/coffeeShop/blob/main/CODE_OF_CONDUCT.md) + + We'll review your PR soon. Keep coding! 💻 From f4981c9a6e0d089bf9db4f4efad55e4b08534059 Mon Sep 17 00:00:00 2001 From: Mohammed Mujtaba Date: Thu, 2 Jan 2025 12:24:10 +0530 Subject: [PATCH 41/50] Update welcome.yml --- .github/workflows/welcome.yml | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/.github/workflows/welcome.yml b/.github/workflows/welcome.yml index 436f50e..844e212 100644 --- a/.github/workflows/welcome.yml +++ b/.github/workflows/welcome.yml @@ -33,14 +33,4 @@ jobs: - ⏳ We'll review your issue as soon as possible Need help? Check our [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md) - - pr-message: | - ### Amazing Work @${{ github.actor }}! 🎉 - - Thank you for your pull request! We're thrilled to have you here. - - Helpful resources: - - 📚 [Contributing Guidelines](https://github.com/Mujtabaa07/coffeeShop/blob/main/CONTRIBUTING.md) - - ⭐ [Code of Conduct](https://github.com/Mujtabaa07/coffeeShop/blob/main/CODE_OF_CONDUCT.md) - - We'll review your PR soon. Keep coding! 💻 + Keep coding! 💻 From a931540f412a60ad43728fc4e7426609665e6bab Mon Sep 17 00:00:00 2001 From: 2315080 Date: Thu, 2 Jan 2025 12:27:40 +0530 Subject: [PATCH 42/50] Update README with new images --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a1a2847..28783b8 100644 --- a/README.md +++ b/README.md @@ -59,9 +59,13 @@ Once the server is running, you can view the app at (http://localhost:3000). ## ScreenShots: ## **Home Page:** -![Screenshot 2024-10-01 115456](https://github.com/user-attachments/assets/1d60d37c-891d-4b7b-b477-1bfa75d59691) +![homepage](https://github.com/user-attachments/assets/36a7852c-dd6d-40b2-9652-4c4a3f9d46fc) ## **Coffee Menu:** -![shop](https://github.com/user-attachments/assets/4d30c92d-8f70-4dd8-8f50-9f3560d37fe5) +![coffeemenu](https://github.com/user-attachments/assets/0f9583d8-e2a8-4797-8e13-9d8325f58764) +## **Login Page** +![coffeelogin](https://github.com/user-attachments/assets/e29ee634-69c4-45a3-978c-a797cf62487f) +## **Testimonials** +![testimonials](https://github.com/user-attachments/assets/af0b4e1f-5363-4b71-8c5c-fe1ba244edb3) ## Contributing We welcome contributions! Follow the steps below to contribute to this project: ```bash From 008ff0322eee7368ed84d79bd1a0e966a3fba027 Mon Sep 17 00:00:00 2001 From: Akshaya Mudam Date: Thu, 2 Jan 2025 12:47:44 +0530 Subject: [PATCH 43/50] Active current page in nav bar --- src/componets/Navbar.css | 20 +++++- src/componets/Navbar.js | 148 +++++++++++++++++++-------------------- 2 files changed, 90 insertions(+), 78 deletions(-) diff --git a/src/componets/Navbar.css b/src/componets/Navbar.css index 56eefd1..1e7e4e1 100644 --- a/src/componets/Navbar.css +++ b/src/componets/Navbar.css @@ -119,4 +119,22 @@ body.menu-open { z-index: 1000; padding: 10px 20px; box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1); -} \ No newline at end of file +} + +/*Highlighting current page*/ +.nav a.active { + position: relative; + color: #D2691E; + font-weight: bold; +} + +.nav a.active::after { + content: ''; + position: absolute; + bottom: -5px; + left: 0; + right: 0; + height: 2px; + background-color: #D2691E; + transition: width 0.3s ease; +} diff --git a/src/componets/Navbar.js b/src/componets/Navbar.js index 4d5a420..6937088 100644 --- a/src/componets/Navbar.js +++ b/src/componets/Navbar.js @@ -1,9 +1,9 @@ -import React, { useState, useEffect } from "react"; -import { Link } from "react-router-dom"; -import { useSelector, useDispatch } from "react-redux"; -import { logout } from "../Store/authSlice"; -import styled from "styled-components"; -import { motion, AnimatePresence } from "framer-motion"; +import React, { useState, useEffect } from 'react'; +import { Link, useLocation} from 'react-router-dom'; +import { useSelector, useDispatch } from 'react-redux'; +import { logout } from '../Store/authSlice'; +import styled from 'styled-components'; +import { motion, AnimatePresence } from 'framer-motion'; const NavbarContainer = styled(motion.nav)` display: flex; @@ -19,7 +19,7 @@ const NavbarContainer = styled(motion.nav)` right: 0; z-index: 1000; transition: all 0.3s ease; - border-bottom: 2px solid #8b4513; + border-bottom: 2px solid #8B4513; &.scrolled { padding: 0.8rem 2rem; @@ -27,13 +27,13 @@ const NavbarContainer = styled(motion.nav)` } &::before { - content: ""; + content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; - background: url("/coffee-beans-pattern.png") repeat; + background: url('/coffee-beans-pattern.png') repeat; opacity: 0.05; pointer-events: none; } @@ -42,17 +42,17 @@ const NavbarContainer = styled(motion.nav)` const Logo = styled(motion.div)` font-size: 2rem; font-weight: 700; - font-family: "Playfair Display", serif; - + font-family: 'Playfair Display', serif; + a { - color: #d2691e; + color: #D2691E; text-decoration: none; - background: linear-gradient(to right, #d2691e, #cd853f); + background: linear-gradient(to right, #D2691E, #CD853F); -webkit-background-clip: text; -webkit-text-fill-color: transparent; transition: all 0.3s ease; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2); - + &:hover { opacity: 0.9; } @@ -71,29 +71,33 @@ const NavLinks = styled(motion.div)` const NavLink = styled(motion.div)` position: relative; - + a { - color: #deb887; + color: #DEB887; text-decoration: none; font-weight: 500; font-size: 1.1rem; transition: all 0.3s ease; - font-family: "Poppins", sans-serif; - + font-family: 'Poppins', sans-serif; + &:hover { - color: #ffe4b5; + color: #FFE4B5; } } + &.active a { + text-decoration: underline; + color: #D2691E; + } &::after { - content: "☕"; + content: '☕'; position: absolute; font-size: 0.8rem; bottom: -15px; left: 50%; transform: translateX(-50%) scale(0); transition: transform 0.3s ease; - color: #d2691e; + color: #D2691E; } &:hover::after { @@ -104,10 +108,10 @@ const NavLink = styled(motion.div)` const MobileMenuButton = styled(motion.button)` display: none; background: none; - border: 2px solid #d2691e; + border: 2px solid #D2691E; font-size: 1.8rem; cursor: pointer; - color: #deb887; + color: #DEB887; padding: 0.5rem; border-radius: 8px; transition: all 0.3s ease; @@ -120,7 +124,7 @@ const MobileMenuButton = styled(motion.button)` &:hover { background: rgba(210, 105, 30, 0.2); - color: #ffe4b5; + color: #FFE4B5; } `; @@ -143,21 +147,21 @@ const MobileNavLink = styled(motion.div)` border-radius: 8px; transition: all 0.3s ease; margin-bottom: 0.5rem; - + a { - color: #deb887; + color: #DEB887; text-decoration: none; font-weight: 500; display: block; transition: all 0.3s ease; - font-family: "Poppins", sans-serif; + font-family: 'Poppins', sans-serif; } &:hover { background: rgba(210, 105, 30, 0.2); - + a { - color: #ffe4b5; + color: #FFE4B5; transform: translateX(10px); } } @@ -168,14 +172,15 @@ function Navbar() { const [scrolled, setScrolled] = useState(false); const isLoggedIn = useSelector((state) => state.auth.isLoggedIn); const dispatch = useDispatch(); + const location = useLocation(); useEffect(() => { const handleScroll = () => { setScrolled(window.scrollY > 20); }; - window.addEventListener("scroll", handleScroll); - return () => window.removeEventListener("scroll", handleScroll); + window.addEventListener('scroll', handleScroll); + return () => window.removeEventListener('scroll', handleScroll); }, []); const handleLogout = () => { @@ -192,46 +197,54 @@ function Navbar() { initial={{ y: -100 }} animate={{ y: 0 }} transition={{ duration: 0.5 }} - className={scrolled ? "scrolled" : ""} + className={scrolled ? 'scrolled' : ''} > MsCafe - + Home - + Shop - + About - + Testimonial - + Contact - + {isLoggedIn ? ( <> - + Profile - + Cart - Logout ) : ( - + Login )} @@ -241,7 +254,7 @@ function Navbar() { whileHover={{ scale: 1.1 }} whileTap={{ scale: 0.9 }} > - {isOpen ? "×" : "☰"} + {isOpen ? '×' : '☰'} @@ -253,58 +266,39 @@ function Navbar() { transition={{ duration: 0.3 }} > - - Home - + Home - - Shop - + Shop - - About - + About - - Testimonial - + Testimonial - - Contact - + Contact {isLoggedIn ? ( <> - - Profile - + Profile - - Cart - + Cart - { - handleLogout(); - toggleMenu(); - }} - style={{ cursor: "pointer" }} + { handleLogout(); toggleMenu(); }} + style={{ cursor: 'pointer' }} > Logout ) : ( - - Login - + Login )} @@ -314,4 +308,4 @@ function Navbar() { ); } -export default Navbar; +export default Navbar; \ No newline at end of file From 3b097a0c34789360e64c61b91a2ef623c5101674 Mon Sep 17 00:00:00 2001 From: Mohammed Mujtaba Date: Thu, 2 Jan 2025 12:48:58 +0530 Subject: [PATCH 44/50] Update and rename pull_request-templet.md to PULL_REQUEST_TEMPLATE.md --- .github/PULL_REQUEST_TEMPLATE.md | 32 ++++++++++++++++++++++++++ .github/pull_request-templet.md | 39 -------------------------------- 2 files changed, 32 insertions(+), 39 deletions(-) create mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/pull_request-templet.md diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..52cbf96 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,32 @@ +# Pull Request Template + +## Summary +Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change. + +Fixes # (issue) + +## Type of Change +Please mark [X] for applicable items: + +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) +- [ ] Documentation update +- [ ] Code refactoring +- [ ] Other (please describe): + +## Testing +Please describe the tests you performed to verify your changes: + +## Screenshots/Videos +Please attach relevant screenshots or videos demonstrating the changes. + +## Checklist +Please mark [X] for completed items: + +- [ ] My code follows the project's style guidelines +- [ ] I have performed a self-review of my code +- [ ] I have commented my code, particularly in hard-to-understand areas +- [ ] I have updated the documentation accordingly +- [ ] My changes generate no new warnings +- [ ] I have added tests that prove my fix is effective or that my feature works diff --git a/.github/pull_request-templet.md b/.github/pull_request-templet.md deleted file mode 100644 index 3da9662..0000000 --- a/.github/pull_request-templet.md +++ /dev/null @@ -1,39 +0,0 @@ -Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change. - - -Fixes # (issue) - - -## Type of change - -Please give a X on it which is applicable - -- [ ] Bug fix (non-breaking change which fixes an issue) -- [ ] New feature (non-breaking change which adds functionality) -- [ ] Refactor Code -- [ ] A documentation update -- [ ] Others(mentioned in the issue number) - -# How Has This Been Tested? - -Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration - -**_Test A Describe here_** - -**_Test B Describe here (if Requred)_** - -# Screenshots and Videos: - -Give screenshots and video of the changes you made - -# Checklist: -Give a X on, which is applicable - -- [ ] My code follows the style guidelines of this project -- [ ] I have performed a self-review of my code -- [ ] I have commented my code, particularly in hard-to-understand areas -- [ ] I have made corresponding changes to the documentation -- [ ] My changes generate no new warnings -- [ ] I have added tests that prove my fix is effective or that my feature works -- [ ] New and existing unit tests pass locally with my changes -- [ ] Any dependent changes have been merged and published in downstream modules \ No newline at end of file From af85f13893ba5369cd24c5377b3b939993ea8a23 Mon Sep 17 00:00:00 2001 From: Mohammed Mujtaba Date: Thu, 2 Jan 2025 12:53:00 +0530 Subject: [PATCH 45/50] Create main.yml --- .github/workflows/main.yml | 48 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..ea556ab --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,48 @@ +name: 'Auto Close Linked Issues' + +on: + pull_request_target: + types: [closed] + branches: [main, master] + +jobs: + close-issues: + runs-on: ubuntu-latest + if: github.event.pull_request.merged == true + permissions: + issues: write + pull-requests: write + + steps: + - uses: actions/checkout@v3 + + - name: Close Linked Issues + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.COFFEE_SHOP_GITHUB_TOKEN }} + script: | + const pr = context.payload.pull_request; + + // Get issue numbers from PR title/body + const issueNumbers = [ + ...pr.title.match(/#(\d+)/g) || [], + ...pr.body.match(/#(\d+)/g) || [] + ].map(num => Number(num.replace('#', ''))); + + // Process each linked issue + for (const issueNumber of issueNumbers) { + await github.rest.issues.update({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber, + state: 'closed' + }); + + // Add completion comment + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber, + body: `✅ This issue has been resolved in PR #${pr.number} by @${pr.user.login}` + }); + } From 5a58b6a3e77991716163639ba92a5b92e04194fb Mon Sep 17 00:00:00 2001 From: Neeru <161798182+neeru24@users.noreply.github.com> Date: Thu, 2 Jan 2025 13:02:38 +0530 Subject: [PATCH 46/50] Update README.md --- README.md | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 28783b8..e35d4cb 100644 --- a/README.md +++ b/README.md @@ -105,5 +105,25 @@ git push origin feature/your-feature-name # Go to the original repository on GitHub and open a new Pull Request # Provide a clear description of your changes in the Pull Request. ``` -Happy Coding -☕️ + + +
+

Our Contributors

+
+

Thank you for contributing to our project

+ + + +

+ + + + + + +
+
+ + +

Happy Coding ☕️

From 6727ecd8b6a8d52647b17128cc58463bfdab74a3 Mon Sep 17 00:00:00 2001 From: mansi066 Date: Thu, 2 Jan 2025 13:15:54 +0530 Subject: [PATCH 47/50] Fix --- src/Pages/PremiumBeans.css | 3 ++ src/Pages/PremiumBeans.js | 57 +++++++++++++++++++++++++------------- 2 files changed, 40 insertions(+), 20 deletions(-) create mode 100644 src/Pages/PremiumBeans.css diff --git a/src/Pages/PremiumBeans.css b/src/Pages/PremiumBeans.css new file mode 100644 index 0000000..a7f361a --- /dev/null +++ b/src/Pages/PremiumBeans.css @@ -0,0 +1,3 @@ +button{ + display:flex; +} \ No newline at end of file diff --git a/src/Pages/PremiumBeans.js b/src/Pages/PremiumBeans.js index cde1a52..28d56da 100644 --- a/src/Pages/PremiumBeans.js +++ b/src/Pages/PremiumBeans.js @@ -2,10 +2,16 @@ import React from 'react'; import styled from 'styled-components'; import { motion } from 'framer-motion'; +const PremiumContainer = styled.div` + padding: 6rem 2rem 4rem 2rem; + max-width: 1200px; + margin: 0 auto; + background-color: #fffbeb; +`; const FeatureTitle = styled(motion.h1)` - font-size: 2rem; - margin-top: 6rem; + font-size: 4rem; + margin-top: 2rem; margin-bottom: 1rem; color: ##78350f; font-family: 'Playfair Display', serif; @@ -17,30 +23,37 @@ const FeatureTitle = styled(motion.h1)` `; const ImageContent = styled(motion.div)` - flex: 1; - display: flex; - justify-content: center; - align-items: center; - padding: 1rem; + 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: 50%; - height: 250px; + 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.1); + + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); `; const FeatureDescription = styled(motion.p)` - font-size: 1.1rem; - color: #6B4423; - line-height: 1.6; - font-family: 'Poppins', sans-serif; - display:flex; - margin: 12px; + 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; `; @@ -48,6 +61,7 @@ const FeatureDescription = styled(motion.p)` function PremiumBeans() { return ( <> + -

+ Premium coffee beans are often considered the finest quality beans available, predominantly made from 100% Arabica beans. These beans are prized for their exceptional flavor, rich aroma, and smoother, less bitter taste compared to Robusta beans. Sourced from the highest-grade coffee plants, premium beans undergo meticulous cultivation and harvesting processes. Specialty roasting techniques, typically in small batches, ensure that the beans' unique flavors are expertly developed. Many premium coffee brands are committed to ethical sourcing, collaborating closely with farmers to promote sustainable and fair trade practices. The variety of flavors and roasts available, including single-origin beans, dark roasts, light roasts, and flavored beans, caters to diverse palates. Popular premium coffee brands such as Atlas Coffee Club, Starbucks Espresso, Kicking Horse, and Stumptown Coffee Roasters offer distinctive blends and roasts to satisfy different tastes. - -

+ + + +
+ - ) + ) } export default PremiumBeans From 38d5d50fca2e21e0ca905adb3d467c6e1a0034e1 Mon Sep 17 00:00:00 2001 From: Aditi Prabakaran Date: Thu, 2 Jan 2025 13:22:56 +0530 Subject: [PATCH 48/50] updated testimonial --- src/Pages/Testimonial.css | 215 +++++++++++++++-------- src/Pages/Testimonial.js | 359 ++++++++++++-------------------------- 2 files changed, 251 insertions(+), 323 deletions(-) diff --git a/src/Pages/Testimonial.css b/src/Pages/Testimonial.css index faed088..d0587d9 100644 --- a/src/Pages/Testimonial.css +++ b/src/Pages/Testimonial.css @@ -1,108 +1,169 @@ -*{ - margin:0; - padding: 0; - font-family: 'poppins', sans-serif ; -} +@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600&family=Open+Sans:wght@400;500&display=swap'); -.testimonial{ - background:#f8f8f8; - height:90vh; +.testimonial { + background-color: #f5e6d3; + padding: 80px 0; + background-image: + linear-gradient(rgba(245, 230, 211, 0.9), rgba(245, 230, 211, 0.9)), + url("data:image/svg+xml,%3Csvg width='6' height='6' viewBox='0 0 6 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23a87d5a' fill-opacity='0.1' fill-rule='evenodd'%3E%3Cpath d='M5 0h1L0 6V5zM6 5v1H5z'/%3E%3C/g%3E%3C/svg%3E"); } -h1{ - text-align: center; - color: #7c2214; + +.testimonial .container { + max-width: 1200px; + margin: 0 auto; } -.container{ - margin-top: 5%; +.testimonial h1 { + text-align: center; + color: #5c3d2e; + font-family: 'Playfair Display', serif; + font-size: 2.8rem; + margin-bottom: 50px; + text-shadow: 1px 1px 2px rgba(0,0,0,0.1); + position: relative; } -.image-text{ - width:100% ; - height: 300px; +.testimonial h1::after { + content: '☕'; display: block; - text-align: center; - padding: 40% 5%; - 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 */ + font-size: 1.5rem; + margin-top: 10px; + text-shadow: none; } -.image-text h2{ - font-size: 25px; - text-transform: uppercase; - letter-spacing: 2px; +.single { + background: #fff; + padding: 30px; + border-radius: 15px; + box-shadow: 0 8px 16px rgba(92, 61, 46, 0.1); + margin: 15px; + transition: all 0.3s ease; + border: 1px solid #e6d5c3; + height: 100%; + display: flex; + flex-direction: column; } -.image-text p{ - font-size: 14px; +.single:hover { + transform: translateY(-5px); + box-shadow: 0 12px 20px rgba(92, 61, 46, 0.15); } -.single{ - position: relative; - margin-bottom: 50px; +.image { + text-align: center; + margin-bottom: 20px; } -.image{ - position: absolute; - width:100px; +.image img { + width: 100px; height: 100px; - border: 3px solid #7c2214; - overflow: hidden; - top:15px; - left:125px; border-radius: 50%; - animation: bounceIn 1s ease-in-out; /* Added animation */ + object-fit: cover; + border: 4px solid #b68f40; + transition: transform 0.3s ease; } -.image img{ - width: 100%; - object-fit: cover; +.single:hover .image img { + transform: scale(1.05); } -.carousel-indicators{ - left: 0; - top: auto; - bottom: -70px; +.image-text { + text-align: center; + flex-grow: 1; + display: flex; + flex-direction: column; } -@keyframes fadeInUp { - 0% { - opacity: 0; - transform: translateY(20px); - } - 100% { - opacity: 1; - transform: translateY(0); - } +.image-text h2 { + color: #5c3d2e; + font-size: 1.4rem; + margin-bottom: 10px; + font-family: 'Playfair Display', serif; + font-weight: 600; } -@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); - } - 0% { - opacity: 0; - transform: scale3d(.3, .3, .3); +.image-text .rating { + color: #b68f40; + font-size: 1.2rem; + margin-bottom: 15px; +} + +.image-text .testimonial-text { + color: #6b4f3b; + font-size: 1rem; + line-height: 1.7; + font-family: 'Open Sans', sans-serif; + margin-bottom: 0; + font-style: italic; + flex-grow: 1; +} + +.carousel { + padding-bottom: 50px; +} + +.carousel-indicators { + bottom: -50px; +} + +.carousel-indicators button { + background-color: #b68f40 !important; + width: 10px !important; + height: 10px !important; + border-radius: 50% !important; + margin: 0 5px !important; + opacity: 0.5; + transition: opacity 0.3s ease; +} + +.carousel-indicators button.active { + opacity: 1; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + background-color: #b68f40; + border-radius: 50%; + padding: 25px; + transition: all 0.3s ease; +} + +.carousel-control-prev, +.carousel-control-next { + opacity: 0.7; + width: 5%; +} + +.carousel-control-prev:hover, +.carousel-control-next:hover { + opacity: 1; +} + +@media (max-width: 768px) { + .testimonial { + padding: 40px 0; } - 20% { - transform: scale3d(1.1, 1.1, 1.1); + + .testimonial h1 { + font-size: 2rem; + margin-bottom: 30px; } - 40% { - transform: scale3d(.9, .9, .9); + + .single { + margin: 10px; + padding: 20px; } - 60% { - opacity: 1; - transform: scale3d(1.03, 1.03, 1.03); + + .image img { + width: 80px; + height: 80px; } - 80% { - transform: scale3d(.97, .97, .97); + + .image-text h2 { + font-size: 1.2rem; } - 100% { - opacity: 1; - transform: scale3d(1, 1, 1); + + .image-text .testimonial-text { + font-size: 0.9rem; } -} +} \ No newline at end of file diff --git a/src/Pages/Testimonial.js b/src/Pages/Testimonial.js index ba9a939..9227df2 100644 --- a/src/Pages/Testimonial.js +++ b/src/Pages/Testimonial.js @@ -1,252 +1,119 @@ -import React from 'react'; -import styled from 'styled-components'; -import { motion } from 'framer-motion'; - -const TestimonialSection = styled.div` - background-color: #fffbeb; - padding: 6rem 2rem 4rem; - width: 100%; -`; - -const Container = styled.div` - max-width: 1200px; - margin: 0 auto; -`; - -const Title = styled.h1` - color: #78350f; - font-size: 2.5rem; - text-align: center; - margin-bottom: 3rem; - font-weight: bold; -`; - -const CarouselContainer = styled.div` - position: relative; - overflow: hidden; -`; - -const CarouselInner = styled.div` - width: 100%; -`; - -const CarouselRow = styled.div` - display: grid; - grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); - gap: 2rem; - padding: 1rem; -`; - -const TestimonialCard = styled(motion.div)` - background: white; - border-radius: 12px; - padding: 2rem; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); - transition: transform 0.3s ease; - - &:hover { - transform: translateY(-5px); - } -`; - -const ImageContainer = styled.div` - width: 100px; - height: 100px; - margin: 0 auto 1.5rem; - - img { - width: 100%; - height: 100%; - border-radius: 50%; - object-fit: cover; - border: 3px solid #92400e; - } -`; - -const TestimonialContent = styled.div` - text-align: center; - - h2 { - color: #78350f; - font-size: 1.5rem; - margin-bottom: 0.5rem; - } - - .stars { - color: #f59e0b; - font-size: 1.2rem; - margin-bottom: 1rem; - } - - p { - color: #92400e; - line-height: 1.6; - font-style: italic; - } -`; - -const CarouselControls = styled.div` - display: flex; - justify-content: center; - gap: 0.5rem; - margin-top: 2rem; - - button { - width: 12px; - height: 12px; - border-radius: 50%; - border: none; - background-color: ${props => props.active ? '#78350f' : '#d6d3d1'}; - cursor: pointer; - transition: background-color 0.3s ease; - - &:hover { - background-color: #92400e; - } - } -`; - -const CarouselControlButton = styled.button` - position: absolute; - top: 50%; - transform: translateY(-50%); - background: none; - border: none; - color: #78350f; - font-size: 2rem; - cursor: pointer; - z-index: 2; - - &.prev { - left: -2rem; - } - - &.next { - right: -2rem; - } -`; +import React from 'react' +import './Testimonial.css' function Testimonial() { return ( - - - What Our Customers Say - - -
- - - - Devolina - - -

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 - - -

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 - - -

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 - - -

David

-
⭐️⭐️⭐️⭐️⭐️
-

"The attention to detail here is exceptional. From the latte art to the friendly service, everything is top-notch. A must-visit for coffee lovers!"

-
-
- - - - John - - -

John

-
⭐️⭐️⭐️⭐️⭐️
-

"Great atmosphere for working or meeting friends. The WiFi is reliable, and their seasonal drink specials are always creative and delicious."

-
-
- - - - Sandy - - -

Sandy

-
⭐️⭐️⭐️⭐️⭐️
-

"The staff here is incredibly knowledgeable about coffee. They're always happy to explain different brewing methods and help you find your perfect cup."

-
-
-
-
-
- - - - - - - - - - - - - -
-
-
+ <> +
+
+

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?

+
+
+
+
+
+
+ + +
+
+
+
+
+ ); } From 2cb9afa1b46147a404e4e5a48f9ec7d8ae9a37c2 Mon Sep 17 00:00:00 2001 From: Aditi Prabakaran Date: Thu, 2 Jan 2025 13:26:47 +0530 Subject: [PATCH 49/50] updated testimonial --- src/Pages/Testimonial.js | 105 +++++++++++++++++++-------------------- 1 file changed, 52 insertions(+), 53 deletions(-) diff --git a/src/Pages/Testimonial.js b/src/Pages/Testimonial.js index 79723db..9227df2 100644 --- a/src/Pages/Testimonial.js +++ b/src/Pages/Testimonial.js @@ -3,59 +3,58 @@ import './Testimonial.css' function Testimonial() { return ( - - - What Our Customers Say - - -
- - - - Devolina - - -

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 - - -

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 - - -

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."

-
-
-
-
+ <> +
+
+

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.

+
+
+
+
+
From 07aacfa6e959e6d0777530766ca4474401dbb770 Mon Sep 17 00:00:00 2001 From: arjunmishraaa Date: Thu, 2 Jan 2025 15:52:47 +0530 Subject: [PATCH 50/50] 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() { MsCafe + + {/* */} Home + {/* */} Shop + + {/* */} About + + {/* */} Testimonial + + {/* */} Contact