From b756112ceed554ebf35d4d6075ce5cbed5536fda Mon Sep 17 00:00:00 2001 From: Velo <84917738+Velocities@users.noreply.github.com> Date: Sun, 25 May 2025 18:11:00 -0400 Subject: [PATCH 1/2] List Sharing mutual share removal and other bug fixes (#88) * remove: env file from speedcart-react exposure * add: .env to speedcart-react .gitignore file for necessary hidden values * remove: mutual share option from shared lists in speedcart-react Frontend * refactor: google client ID to hidden .env file for speedcart-react Frontend * add: restore button back to ShoppingListItem for delete crud mode under viewing section * update: frontend.yml deployment script for new hidden .env files for speedcart-react folder * update: frontend.yml to conditionally choose which branch to deploy to Cloudflare Pages for --- .github/workflows/frontend.yml | 8 ++++++-- Frontend/speedcart-react/.env | 1 - Frontend/speedcart-react/.gitignore | 1 + .../ShoppingListItem/ShoppingListItem.module.css | 14 ++++++++++++++ .../ShoppingListItem/ShoppingListItem.tsx | 9 ++++++--- Frontend/speedcart-react/src/index.tsx | 2 +- .../src/pages/Dashboard/Dashboard.tsx | 6 ------ 7 files changed, 28 insertions(+), 13 deletions(-) delete mode 100644 Frontend/speedcart-react/.env diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml index b2b7de7..ff007d2 100644 --- a/.github/workflows/frontend.yml +++ b/.github/workflows/frontend.yml @@ -4,9 +4,10 @@ on: # Allows manual deployment workflow_dispatch: push: - # Triggers only when code is pushed to the development branch + # Triggers only when code is pushed to the deployment or development branches # that modifies files in the Frontend or docs/legal directories branches: + - deployment - development paths: @@ -29,6 +30,9 @@ jobs: - name: Install dependencies run: cd Frontend && npm install --force # This should install all dependencies, regardless of the workspace + - name: Write .env file + run: echo "${{ github.ref == 'refs/heads/deployment' && secrets.FRONTEND_PROD_ENV_FILE || secrets.FRONTEND_DEV_ENV_FILE }}" > Frontend/speedcart-react/.env + - name: Build front end env: CI: false @@ -41,4 +45,4 @@ jobs: accountId: ${{ secrets.CF_ACCOUNT_ID }} projectName: "speedcart" directory: "Frontend/speedcart-react/build" - branch: "development" \ No newline at end of file + branch: "${{ github.ref == 'refs/heads/deployment' && 'deployment' || 'development' }}" \ No newline at end of file diff --git a/Frontend/speedcart-react/.env b/Frontend/speedcart-react/.env deleted file mode 100644 index f975c20..0000000 --- a/Frontend/speedcart-react/.env +++ /dev/null @@ -1 +0,0 @@ -VITE_APP_VERSION=0.8.0 \ No newline at end of file diff --git a/Frontend/speedcart-react/.gitignore b/Frontend/speedcart-react/.gitignore index 4d29575..8692cf6 100644 --- a/Frontend/speedcart-react/.gitignore +++ b/Frontend/speedcart-react/.gitignore @@ -13,6 +13,7 @@ # misc .DS_Store +.env .env.local .env.development.local .env.test.local diff --git a/Frontend/speedcart-react/src/components/ShoppingListItem/ShoppingListItem.module.css b/Frontend/speedcart-react/src/components/ShoppingListItem/ShoppingListItem.module.css index f252aac..39286dd 100644 --- a/Frontend/speedcart-react/src/components/ShoppingListItem/ShoppingListItem.module.css +++ b/Frontend/speedcart-react/src/components/ShoppingListItem/ShoppingListItem.module.css @@ -1,5 +1,6 @@ .listItem { display: table-row; /* Ensure the row aligns with the table structure */ + border-top: 2px transparent solid; } .listItem > * { @@ -26,6 +27,19 @@ text-align: center; } +.restoreBtn { + display: flex; /* Ensures the button content stays on a single line */ + align-items: center; /* Centers the icon vertically */ + justify-content: space-evenly; /* Centers the icon horizontally */ + background-color: #0f40ab; + color: inherit; /* This makes the text color of our site more modular (e.g., dark/light mode would be easier to implement) */ + width: 100px; /* Adjust the width as needed */ + border: none; + padding: 8px !important; /* Adjust padding as needed */ + border-radius: 8px; + cursor: pointer; +} + .checkboxWrapper { display: table-cell; vertical-align: middle; /* Ensures the checkbox is vertically aligned */ diff --git a/Frontend/speedcart-react/src/components/ShoppingListItem/ShoppingListItem.tsx b/Frontend/speedcart-react/src/components/ShoppingListItem/ShoppingListItem.tsx index 2b60e7f..e5a8b98 100644 --- a/Frontend/speedcart-react/src/components/ShoppingListItem/ShoppingListItem.tsx +++ b/Frontend/speedcart-react/src/components/ShoppingListItem/ShoppingListItem.tsx @@ -7,6 +7,7 @@ import { CrudMode } from '@constants/crudmodes'; import styles from './ShoppingListItem.module.css'; import inputStyles from '@modularStyles/inputs.module.css'; import { useShoppingListContext } from '@customHooks/ShoppingListContext'; +import { FaTrashRestore } from 'react-icons/fa' function ShoppingListItem({ item, index, onItemChange, onRemoveItem, isEditing, crudMode = CrudMode.READ, className = '' }) { const { handleRestoreItem } = useShoppingListContext(); @@ -51,9 +52,6 @@ function ShoppingListItem({ item, index, onItemChange, onRemoveItem, isEditing, 🗑️ } - {crudMode === CrudMode.DELETE && - - } > : @@ -63,6 +61,11 @@ function ShoppingListItem({ item, index, onItemChange, onRemoveItem, isEditing,