Skip to content
This repository has been archived by the owner on Feb 23, 2024. It is now read-only.

Update Mini-Cart block logic to use isSiteEditorPage util #9501

Merged
merged 2 commits into from
May 18, 2023

Conversation

Aljullu
Copy link
Contributor

@Aljullu Aljullu commented May 18, 2023

In #9468, @gigitux introduced a isSiteEditorPage() util to detect when we are in the site editor.

This PR reverts #9442 and updates the Mini-Cart block logic code to use that util, instead of its own solution.

Testing

User Facing Testing

  1. Create a post or page.
  2. Add the Mini Cart block and select it.
  3. Verify in the sidebar there is no Mini-Cart in cart and checkout pages toggle.
  4. Now go to the Site Editor (Appearance > Editor).
  5. Add the Mini Cart block to the header of your theme.
  6. Verify in the sidebar there is a Mini-Cart in cart and checkout pages toggle.
    imatge
  7. Now change to a classic theme (ie: Storefront).
  8. Go to Appearance > Widgets and add the Mini Cart block to a widget area.
  9. Verify in the sidebar there is no Mini-Cart in cart and checkout pages toggle.
  • Do not include in the Testing Notes

WooCommerce Visibility

  • WooCommerce Core
  • Feature plugin
  • Experimental

@Aljullu Aljullu added status: needs review type: refactor The issue/PR is related to refactoring. skip-changelog PRs that you don't want to appear in the changelog. type: technical debt This issue/PR represents/solves the technical debt of the project. block: mini-cart Issues related to the Mini-Cart block. labels May 18, 2023
@Aljullu Aljullu self-assigned this May 18, 2023
@woocommercebot woocommercebot requested review from a team and kmanijak and removed request for a team May 18, 2023 07:33
@github-actions
Copy link
Contributor

github-actions bot commented May 18, 2023

The release ZIP for this PR is accessible via:

https://wcblocks.wpcomstaging.com/wp-content/uploads/woocommerce-gutenberg-products-block-9501.zip

Script Dependencies Report

The compare-assets action has detected some changed script dependencies between this branch and trunk. Please review and confirm the following are correct before merging.

Script Handle Added Removed
mini-cart.js wp-data ⚠️

This comment was automatically generated by the ./github/compare-assets action.

TypeScript Errors Report

  • Files with errors: 472
  • Total errors: 2267

🎉 🎉 This PR does not introduce new TS errors.

comments-aggregator

@github-actions
Copy link
Contributor

Size Change: +131 B (0%)

Total Size: 1.08 MB

Filename Size Change
build/active-filters.js 7.47 kB -3 B (0%)
build/all-products.js 39.2 kB -1 B (0%)
build/all-reviews.js 7.77 kB -3 B (0%)
build/attribute-filter.js 13.1 kB -4 B (0%)
build/breadcrumbs.js 2.04 kB -2 B (0%)
build/cart.js 45 kB -5 B (0%)
build/catalog-sorting.js 1.7 kB +3 B (0%)
build/checkout.js 46.3 kB -4 B (0%)
build/featured-category.js 15 kB +3 B (0%)
build/featured-product.js 15.2 kB +5 B (0%)
build/handpicked-products.js 8 kB +1 B (0%)
build/legacy-template.js 6.45 kB -1 B (0%)
build/mini-cart.js 4.35 kB +150 B (+4%)
build/price-filter.js 8.47 kB +1 B (0%)
build/product-add-to-cart.js 8.87 kB -1 B (0%)
build/product-button.js 4.01 kB +1 B (0%)
build/product-category.js 9.35 kB +1 B (0%)
build/product-query.js 11.7 kB -3 B (0%)
build/product-results-count.js 1.66 kB +2 B (0%)
build/product-search.js 2.63 kB +2 B (0%)
build/product-template.js 3.27 kB +2 B (0%)
build/products-by-attribute.js 9.7 kB -1 B (0%)
build/rating-filter.js 6.89 kB +2 B (0%)
build/reviews-by-category.js 12.1 kB -1 B (0%)
build/reviews-by-product.js 13.2 kB -3 B (0%)
build/single-product.js 11.1 kB +1 B (0%)
build/stock-filter.js 7.61 kB +2 B (0%)
build/store-notices.js 1.69 kB -2 B (0%)
build/wc-blocks-vendors.js 65 kB -7 B (0%)
build/wc-blocks.js 3.7 kB -4 B (0%)
ℹ️ View Unchanged
Filename Size
build/active-filters-frontend.js 8.57 kB
build/active-filters-wrapper-frontend.js 7.62 kB
build/all-products-frontend.js 11.9 kB
build/attribute-filter-wrapper--stock-filter-wrapper-frontend.js 4.05 kB
build/attribute-filter-wrapper-frontend.js 4.28 kB
build/blocks-checkout.js 35.1 kB
build/cart-blocks/cart-accepted-payment-methods-frontend.js 1.39 kB
build/cart-blocks/cart-cross-sells-frontend.js 253 B
build/cart-blocks/cart-cross-sells-products--product-price-frontend.js 2.94 kB
build/cart-blocks/cart-cross-sells-products-frontend.js 3.73 kB
build/cart-blocks/cart-express-payment--checkout-blocks/express-payment-frontend.js 5.17 kB
build/cart-blocks/cart-express-payment-frontend.js 717 B
build/cart-blocks/cart-items-frontend.js 301 B
build/cart-blocks/cart-line-items--mini-cart-contents-block/products-table-frontend.js 5.51 kB
build/cart-blocks/cart-line-items-frontend.js 1.06 kB
build/cart-blocks/cart-order-summary-frontend.js 1.28 kB
build/cart-blocks/cart-totals-frontend.js 308 B
build/cart-blocks/empty-cart-frontend.js 345 B
build/cart-blocks/filled-cart-frontend.js 656 B
build/cart-blocks/order-summary-coupon-form-frontend.js 1.63 kB
build/cart-blocks/order-summary-discount-frontend.js 2.12 kB
build/cart-blocks/order-summary-fee-frontend.js 273 B
build/cart-blocks/order-summary-heading-frontend.js 333 B
build/cart-blocks/order-summary-shipping-frontend.js 17 kB
build/cart-blocks/order-summary-subtotal-frontend.js 273 B
build/cart-blocks/order-summary-taxes-frontend.js 435 B
build/cart-blocks/proceed-to-checkout-frontend.js 1.38 kB
build/cart-frontend.js 29.7 kB
build/checkout-blocks/actions-frontend.js 1.85 kB
build/checkout-blocks/billing-address--checkout-blocks/shipping-address-frontend.js 4.7 kB
build/checkout-blocks/billing-address-frontend.js 1.18 kB
build/checkout-blocks/contact-information-frontend.js 2.05 kB
build/checkout-blocks/express-payment-frontend.js 1.13 kB
build/checkout-blocks/fields-frontend.js 330 B
build/checkout-blocks/order-note-frontend.js 1.14 kB
build/checkout-blocks/order-summary-cart-items-frontend.js 3.69 kB
build/checkout-blocks/order-summary-coupon-form-frontend.js 1.79 kB
build/checkout-blocks/order-summary-discount-frontend.js 2.29 kB
build/checkout-blocks/order-summary-fee-frontend.js 276 B
build/checkout-blocks/order-summary-frontend.js 1.28 kB
build/checkout-blocks/order-summary-shipping-frontend.js 17 kB
build/checkout-blocks/order-summary-subtotal-frontend.js 273 B
build/checkout-blocks/order-summary-taxes-frontend.js 435 B
build/checkout-blocks/payment-frontend.js 8.29 kB
build/checkout-blocks/pickup-options-frontend.js 4.8 kB
build/checkout-blocks/shipping-address-frontend.js 1.17 kB
build/checkout-blocks/shipping-method-frontend.js 2.59 kB
build/checkout-blocks/shipping-methods-frontend.js 6.36 kB
build/checkout-blocks/terms-frontend.js 1.56 kB
build/checkout-blocks/totals-frontend.js 312 B
build/checkout-frontend.js 31.3 kB
build/customer-account.js 3.18 kB
build/filter-wrapper-frontend.js 14.2 kB
build/filter-wrapper.js 2.39 kB
build/general-style-rtl.css 1.31 kB
build/general-style.css 1.31 kB
build/mini-cart-component-frontend.js 28.4 kB
build/mini-cart-contents-block/cart-button-frontend.js 1.73 kB
build/mini-cart-contents-block/checkout-button-frontend.js 1.74 kB
build/mini-cart-contents-block/empty-cart-frontend.js 360 B
build/mini-cart-contents-block/filled-cart-frontend.js 266 B
build/mini-cart-contents-block/footer-frontend.js 4.1 kB
build/mini-cart-contents-block/items-frontend.js 237 B
build/mini-cart-contents-block/products-table-frontend.js 591 B
build/mini-cart-contents-block/shopping-button-frontend.js 528 B
build/mini-cart-contents-block/title-frontend.js 1.91 kB
build/mini-cart-contents-block/title-items-counter-frontend.js 1.61 kB
build/mini-cart-contents-block/title-label-frontend.js 1.54 kB
build/mini-cart-contents.js 18 kB
build/mini-cart-frontend.js 2.15 kB
build/price-filter-wrapper-frontend.js 6.75 kB
build/price-format.js 1.19 kB
build/product-add-to-cart--product-button--product-image--product-price--product-rating--product-sale-bad--49d3ecb2.js 251 B
build/product-add-to-cart--product-button--product-image--product-rating--product-title.js 151 B
build/product-add-to-cart-frontend.js 6.52 kB
build/product-best-sellers.js 8.34 kB
build/product-button--product-image--product-price--product-rating--product-sale-badge--product-sku--prod--5bce0384.js 963 B
build/product-button-frontend.js 2.65 kB
build/product-categories.js 2.37 kB
build/product-collection.js 3.16 kB
build/product-image-frontend.js 2.63 kB
build/product-image.js 4.18 kB
build/product-new.js 8.34 kB
build/product-on-sale.js 8.68 kB
build/product-price-frontend.js 203 B
build/product-price.js 1.68 kB
build/product-rating-frontend.js 2.31 kB
build/product-rating.js 999 B
build/product-sale-badge-frontend.js 1.8 kB
build/product-sale-badge.js 666 B
build/product-sku-frontend.js 1.84 kB
build/product-sku.js 535 B
build/product-stock-indicator-frontend.js 2.02 kB
build/product-stock-indicator.js 731 B
build/product-summary-frontend.js 2.19 kB
build/product-summary.js 904 B
build/product-tag.js 8.97 kB
build/product-title-frontend.js 2.22 kB
build/product-title.js 3.69 kB
build/product-top-rated.js 8.58 kB
build/rating-filter-frontend.js 21.3 kB
build/rating-filter-wrapper-frontend.js 6.21 kB
build/reviews-frontend.js 7.11 kB
build/stock-filter-wrapper-frontend.js 2.98 kB
build/vendors--attribute-filter-wrapper--cart-blocks/order-summary-coupon-form--cart-blocks/order-summary--48e1e4bb-frontend.js 6.82 kB
build/vendors--attribute-filter-wrapper--cart-blocks/order-summary-shipping--checkout-blocks/billing-addr--d9f38f9d-frontend.js 4.21 kB
build/vendors--attribute-filter-wrapper--stock-filter-wrapper-frontend.js 5.11 kB
build/vendors--cart-blocks/cart-cross-sells-products--cart-blocks/cart-line-items--cart-blocks/cart-order--3c5fe802-frontend.js 5.26 kB
build/vendors--cart-blocks/cart-line-items--checkout-blocks/order-summary-cart-items--mini-cart-contents---233ab542-frontend.js 3.57 kB
build/vendors--cart-blocks/order-summary-shipping--checkout-blocks/billing-address--checkout-blocks/order--decc3dc6-frontend.js 19.4 kB
build/vendors--checkout-blocks/pickup-options--checkout-blocks/shipping-methods-frontend.js 8.25 kB
build/vendors--checkout-blocks/shipping-method-frontend.js 12.5 kB
build/vendors--price-filter-wrapper-frontend.js 2.2 kB
build/vendors--product-add-to-cart-frontend.js 7.26 kB
build/vendors--rating-filter-wrapper-frontend.js 5.11 kB
build/wc-blocks-data.js 22.5 kB
build/wc-blocks-editor-style-rtl.css 5.96 kB
build/wc-blocks-editor-style.css 5.96 kB
build/wc-blocks-google-analytics.js 1.56 kB
build/wc-blocks-middleware.js 933 B
build/wc-blocks-registry.js 3.15 kB
build/wc-blocks-shared-context.js 1.52 kB
build/wc-blocks-shared-hocs.js 1.75 kB
build/wc-blocks-style-rtl.css 27.8 kB
build/wc-blocks-style.css 27.8 kB
build/wc-blocks-vendors-style-rtl.css 1.96 kB
build/wc-blocks-vendors-style.css 1.96 kB
build/wc-payment-method-bacs.js 816 B
build/wc-payment-method-cheque.js 811 B
build/wc-payment-method-cod.js 909 B
build/wc-payment-method-paypal.js 837 B
build/wc-settings.js 2.6 kB
build/wc-shipping-method-pickup-location.js 30.3 kB
build/woo-directives-runtime.js 2.73 kB
build/woo-directives-vendors.js 7.91 kB

compressed-size-action

Copy link
Contributor

@kmanijak kmanijak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested this and:

  • There is no Mini-Cart in cart and checkout pages toggle in post/page editor
  • There is Mini-Cart in cart and checkout pages toggle in site editor
  • There is no Mini-Cart in cart and checkout pages toggle when added in Appearance -> Widget of classic theme
image

Let me know if I may be doing something wrong 🤔

@gigitux
Copy link
Contributor

gigitux commented May 18, 2023

Reading the code, the check works well. If you read it, the Mini-Cart in the cart and checkout pages option should be visible only in the Site Editor.

The testing instructions aren't correct, or it is necessary to add another check like "isWidgetArea".

@Aljullu
Copy link
Contributor Author

Aljullu commented May 18, 2023

x There is no Mini-Cart in cart and checkout pages toggle when added in Appearance -> Widget of classic theme

Ouch, I don't know what I did wrong when testing. 😅 Probably I didn't build properly. Sorry about the confusion.

I updated the testing steps accordingly. While I think there is value in making that feature available in the Widgets screen, we haven't received any reports asking for it, and it's not sure if we are going to keep it in the future, so maybe better not to enable it in more places for now. Until #9442 that feature wasn't enabled in the Widgets screen either, so we would be keeping things as they were.

@kmanijak I asked for a re-review, but I didn't do any code changes, I just updated the testing steps.

@Aljullu Aljullu requested a review from kmanijak May 18, 2023 12:09
Copy link
Contributor

@kmanijak kmanijak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kmanijak I asked for a re-review, but I didn't do any code changes, I just updated the testing steps.

✅ There is no Mini-Cart in cart and checkout pages toggle when added in Appearance -> Widget of classic theme

All's good then! Approving! 💪

@github-actions github-actions bot added this to the 10.3.0 milestone May 18, 2023
@Aljullu Aljullu merged commit d8cf9c6 into trunk May 18, 2023
@Aljullu Aljullu deleted the fix/mini-cart-use-issiteeditor-util branch May 18, 2023 13:53
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
block: mini-cart Issues related to the Mini-Cart block. skip-changelog PRs that you don't want to appear in the changelog. type: refactor The issue/PR is related to refactoring. type: technical debt This issue/PR represents/solves the technical debt of the project.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants