feat(VCST-4584): implement select-address-map-modal to product page#2181
feat(VCST-4584): implement select-address-map-modal to product page#2181goldenmaya wants to merge 11 commits intodevfrom
Conversation
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
| clearFilter(); | ||
| applyFilter(); | ||
| closeInfoCard(); | ||
| onFilterChange(); |
There was a problem hiding this comment.
Reset filter causes content flicker in product modal
Medium Severity
In the product flow, clicking "Reset search" in the pickup locations modal causes the entire content area (filter, map, list) to vanish momentarily. resetFilter calls clearFilter() from createProductFilterContext, which synchronously sets filterIsApplied to false. Since both desktop and mobile templates gate content on addresses.length || filterIsApplied, and addresses is still empty at that point, the v-if evaluates to false and the UI flips to a generic "not found" message before the async re-fetch completes and repopulates the list. The old code called applyFilter() after clearFilter(), which kept filterIsApplied at true to prevent this.





Description
Before
After
References
Jira-link:
https://virtocommerce.atlassian.net/browse/VCST-4584
https://virtocommerce.atlassian.net/browse/VCST-4613
Artifact URL:
https://vc3prerelease.blob.core.windows.net/packages/vc-theme-b2b-vue-2.42.0-pr-2181-2d87-2d87863a.zip
Note
Medium Risk
Touches shared checkout/map modal behavior and introduces a new provided/injected filter context, so regressions could impact both BOPIS selection flow and the new product-page view mode.
Overview
Adds a product-page entry point to view pickup locations in the existing
SelectAddressMapModal:ProductPickupLocationsnow takesproductId, fetches up to 50 locations on demand, and opens the modal in non-selectable (view-only) mode using the shipping module’s BOPIS map API key.Extends the product pickup locations GraphQL query to include richer location details (
description, contacts,workingHours,geoLocation, and fulladdress) needed by the map/info card.Introduces an injectable
usePickupFilterContextto decouple map/filter components from cart-specific state; wires this into both BOPIS checkout flow (useBopis,select-address-modal,select-address-map-modal,useSelectAddressMap) and the product modal. Updates map/list/card components to respect a newselectableflag (hide footer actions, hide radio indicator) and tweaks UI behavior/styling (tooltip for availability chip, popover max-width).Written by Cursor Bugbot for commit 2d87863. This will update automatically on new commits. Configure here.