Draft: Improve grocery list interactions #21

Open
nalalangan wants to merge 1 commits from feature/grocery-list-gui-improvements into main
Owner

Owner: Codex
Status: review
Branch: feature/grocery-list-gui-improvements
Branch relationship: standalone from main
Likely modified areas: grocery list page, grocery item rows, grocery add/edit/buy modals, grocery E2E tests
Actual modified files: frontend/src/pages/GroceryList.jsx; frontend/src/components/items/GroceryListItem.jsx; frontend/src/components/modals/AddItemWithDetailsModal.jsx; frontend/src/components/modals/ConfirmBuyModal.jsx; frontend/src/components/modals/EditItemModal.jsx; frontend/src/styles/pages/GroceryList.css; frontend/src/styles/ConfirmBuyModal.css; frontend/src/styles/components/AddItemForm.css; frontend/src/styles/components/AddItemWithDetailsModal.css; frontend/src/styles/components/EditItemModal.css; frontend/tests/classification-details.spec.ts; frontend/tests/grocery-list-actions.spec.ts; frontend/tests/helpers/e2e.ts
Collision risk: medium
Last meaningful update: June 4, 2026 - implemented and verified focused grocery list GUI interaction pass.

Summary:

  • Adds explicit row actions for active grocery items, including bought flow, edit, image, and local skip.
  • Adds frontend-only Skipped / Not Found state with localStorage persistence keyed by household and location plus restore.
  • Adds a compact offline banner and guards server-backed add/edit/bought flows while preserving image upload queue behavior.
  • Simplifies new-item classification to prioritize Store Zone and moves edit type/group controls behind advanced options.
  • Improves mobile touch targets, row layout, add controls, modal spacing, and mobile buy/add/edit sheet behavior.

Concurrency notes:

  • No map page files were changed.
  • StoreTabs and Manage Map routing/behavior were left untouched.
  • The only shared test helper change makes the E2E household/store shell mock both current and legacy store endpoints.

Tests:

  • npm --prefix frontend run lint
  • npm --prefix frontend run typecheck
  • npm --prefix frontend run test:e2e -- grocery-list-actions.spec.ts classification-details.spec.ts
  • npm run build:frontend

Known limitations:

  • Skipped / Not Found is intentionally local-only and not server-backed.
  • Offline support is intentionally limited to a status banner and mutation guard; it does not add general mutation conflict resolution.
  • In-app browser inspection could not be run because the browser control runtime failed with a Windows sandbox setup error, but Playwright E2E passed against the local Vite server.
Owner: Codex Status: review Branch: feature/grocery-list-gui-improvements Branch relationship: standalone from main Likely modified areas: grocery list page, grocery item rows, grocery add/edit/buy modals, grocery E2E tests Actual modified files: frontend/src/pages/GroceryList.jsx; frontend/src/components/items/GroceryListItem.jsx; frontend/src/components/modals/AddItemWithDetailsModal.jsx; frontend/src/components/modals/ConfirmBuyModal.jsx; frontend/src/components/modals/EditItemModal.jsx; frontend/src/styles/pages/GroceryList.css; frontend/src/styles/ConfirmBuyModal.css; frontend/src/styles/components/AddItemForm.css; frontend/src/styles/components/AddItemWithDetailsModal.css; frontend/src/styles/components/EditItemModal.css; frontend/tests/classification-details.spec.ts; frontend/tests/grocery-list-actions.spec.ts; frontend/tests/helpers/e2e.ts Collision risk: medium Last meaningful update: June 4, 2026 - implemented and verified focused grocery list GUI interaction pass. Summary: - Adds explicit row actions for active grocery items, including bought flow, edit, image, and local skip. - Adds frontend-only Skipped / Not Found state with localStorage persistence keyed by household and location plus restore. - Adds a compact offline banner and guards server-backed add/edit/bought flows while preserving image upload queue behavior. - Simplifies new-item classification to prioritize Store Zone and moves edit type/group controls behind advanced options. - Improves mobile touch targets, row layout, add controls, modal spacing, and mobile buy/add/edit sheet behavior. Concurrency notes: - No map page files were changed. - `StoreTabs` and Manage Map routing/behavior were left untouched. - The only shared test helper change makes the E2E household/store shell mock both current and legacy store endpoints. Tests: - `npm --prefix frontend run lint` - `npm --prefix frontend run typecheck` - `npm --prefix frontend run test:e2e -- grocery-list-actions.spec.ts classification-details.spec.ts` - `npm run build:frontend` Known limitations: - Skipped / Not Found is intentionally local-only and not server-backed. - Offline support is intentionally limited to a status banner and mutation guard; it does not add general mutation conflict resolution. - In-app browser inspection could not be run because the browser control runtime failed with a Windows sandbox setup error, but Playwright E2E passed against the local Vite server.
nalalangan added 1 commit 2026-06-03 22:02:50 -09:00
nalalangan force-pushed feature/grocery-list-gui-improvements from 696b1cf1ea to 61120dc270 2026-06-03 22:05:33 -09:00 Compare
This pull request can be merged automatically.
You are not authorized to merge this pull request.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feature/grocery-list-gui-improvements:feature/grocery-list-gui-improvements
git checkout feature/grocery-list-gui-improvements
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: nalalangan/grocery-app#21
No description provided.