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

Fix wide appender buttons overlap in Cart & Checkout blocks in the Editor #5801

Merged
merged 3 commits into from
Feb 10, 2022

Conversation

ralucaStan
Copy link
Contributor

Since this Gutenberg change all appender buttons have position:absolute resulting in layout changes for the wide appender button.

Initially I've tried to remove the renderAppender prop from places like here so that the default black Add block button should be shown instead of the white one with black borders. That worked, but the button was visible only when the block was selected. We needed the appender buttons to be visible all the time.

I've decided to fix this in place via CSS, so that we have the old buttons working as before.

I’m doing some research, and it looks like the GB change made people unhappy, as it ruined their layouts as well. I’ve also added a comment, I hope they will only make the small black buttons absolute and let the others as before so that we can revert this change.

Fixes #5742

Screenshots

Before After
Screenshot 2022-02-08 at 11 16 59 Screenshot 2022-02-09 at 16 23 02
Screenshot 2022-02-08 at 11 16 51 Screenshot 2022-02-09 at 16 23 37

Testing

Manual Testing

How to test the changes in this Pull Request:

  1. Open up a page with the Checkout block in the editor
  2. Confirm that the "Place Order" button and the "Add Block" button at the bottom of the block don't overlap
  3. Confirm that in the right hand side bar, the total price doesn't overlaps with the "Add block" button
  4. Also check the Cart block that the insert inner block buttons don't overlap

User Facing Testing

These are steps for user testing (where "user" is someone interacting with this change that is not editing any code).

  • Same as above, or
  • See steps below.

Performance Impact

Changelog

Fix wide appender buttons overlap in Cart & Checkout blocks in the Editor

…penders.

Removing InnerBlocks.ButtonBlockAppender  from renderAppender = {InnerBlocks.ButtonBlockAppender } results in the black appender button beeing shown only when the block is selected, and we need the appender to be visible by default.
@ralucaStan ralucaStan added type: bug The issue/PR concerns a confirmed bug. block: cart Issues related to the cart block. block: checkout Issues related to the checkout block. labels Feb 9, 2022
@rubikuserbot rubikuserbot requested a review from a team February 9, 2022 15:27
@ralucaStan
Copy link
Contributor Author

@gigitux I've also assigned you as this was affecting the Mini Cart as well and I've applied the fix there as well. It would be great if you could also take a look.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 9, 2022

Size Change: +101 B (0%)

Total Size: 813 kB

Filename Size Change
build/wc-blocks-editor-style-rtl.css 4.84 kB +51 B (+1%)
build/wc-blocks-editor-style.css 4.84 kB +50 B (+1%)
ℹ️ View Unchanged
Filename Size
build/active-filters-frontend.js 6.37 kB
build/active-filters.js 7.05 kB
build/all-products-frontend.js 18.7 kB
build/all-products.js 33.9 kB
build/all-reviews.js 8.06 kB
build/atomic-block-components/add-to-cart--atomic-block-components/button--atomic-block-components/image---8f355022.js 255 B
build/atomic-block-components/add-to-cart--atomic-block-components/button--atomic-block-components/image---a7e2bb9b.js 2.67 kB
build/atomic-block-components/add-to-cart--atomic-block-components/button.js 1.48 kB
build/atomic-block-components/add-to-cart-frontend.js 6.89 kB
build/atomic-block-components/add-to-cart.js 6.46 kB
build/atomic-block-components/button-frontend.js 1.54 kB
build/atomic-block-components/button.js 914 B
build/atomic-block-components/category-list-frontend.js 457 B
build/atomic-block-components/category-list.js 459 B
build/atomic-block-components/image-frontend.js 1.37 kB
build/atomic-block-components/image.js 1.05 kB
build/atomic-block-components/price-frontend.js 1.74 kB
build/atomic-block-components/price.js 1.7 kB
build/atomic-block-components/rating-frontend.js 703 B
build/atomic-block-components/rating.js 700 B
build/atomic-block-components/sale-badge-frontend.js 625 B
build/atomic-block-components/sale-badge.js 624 B
build/atomic-block-components/sku-frontend.js 386 B
build/atomic-block-components/sku.js 386 B
build/atomic-block-components/stock-indicator--atomic-block-components/summary--atomic-block-components/title.js 468 B
build/atomic-block-components/stock-indicator-frontend.js 939 B
build/atomic-block-components/stock-indicator.js 623 B
build/atomic-block-components/summary-frontend.js 1.24 kB
build/atomic-block-components/summary.js 926 B
build/atomic-block-components/tag-list-frontend.js 460 B
build/atomic-block-components/tag-list.js 459 B
build/atomic-block-components/title-frontend.js 1.21 kB
build/atomic-block-components/title.js 935 B
build/attribute-filter-frontend.js 16.8 kB
build/attribute-filter.js 13.1 kB
build/blocks-checkout.js 17.6 kB
build/cart-blocks/accepted-payment-methods-frontend.js 1.14 kB
build/cart-blocks/checkout-button-frontend.js 1.14 kB
build/cart-blocks/empty-cart-frontend.js 345 B
build/cart-blocks/express-payment-frontend.js 5.18 kB
build/cart-blocks/filled-cart-frontend.js 766 B
build/cart-blocks/items-frontend.js 299 B
build/cart-blocks/line-items-frontend.js 5.49 kB
build/cart-blocks/order-summary-frontend.js 8.94 kB
build/cart-blocks/totals-frontend.js 320 B
build/cart-frontend.js 45.5 kB
build/cart.js 43.7 kB
build/checkout-blocks/actions-frontend.js 1.39 kB
build/checkout-blocks/billing-address--checkout-blocks/shipping-address-frontend.js 4.23 kB
build/checkout-blocks/billing-address-frontend.js 887 B
build/checkout-blocks/contact-information-frontend.js 2.95 kB
build/checkout-blocks/express-payment-frontend.js 5.46 kB
build/checkout-blocks/fields-frontend.js 344 B
build/checkout-blocks/order-note-frontend.js 1.13 kB
build/checkout-blocks/order-summary-frontend.js 11.4 kB
build/checkout-blocks/payment-frontend.js 7.71 kB
build/checkout-blocks/shipping-address-frontend.js 975 B
build/checkout-blocks/shipping-methods-frontend.js 4.92 kB
build/checkout-blocks/terms-frontend.js 1.22 kB
build/checkout-blocks/totals-frontend.js 324 B
build/checkout-frontend.js 47.6 kB
build/checkout.js 45.2 kB
build/featured-category.js 8.61 kB
build/featured-product.js 9.62 kB
build/handpicked-products.js 7.09 kB
build/legacy-template.js 2.18 kB
build/mini-cart-component-frontend.js 14.3 kB
build/mini-cart-contents.js 3.82 kB
build/mini-cart-frontend.js 1.78 kB
build/mini-cart.js 6.39 kB
build/price-filter-frontend.js 12.6 kB
build/price-filter.js 8.51 kB
build/price-format.js 1.18 kB
build/product-best-sellers.js 7.37 kB
build/product-categories.js 3.17 kB
build/product-category.js 8.49 kB
build/product-new.js 7.66 kB
build/product-on-sale.js 7.99 kB
build/product-search.js 2.18 kB
build/product-tag.js 7.8 kB
build/product-top-rated.js 7.9 kB
build/products-by-attribute.js 8.39 kB
build/reviews-by-category.js 11.5 kB
build/reviews-by-product.js 12.6 kB
build/reviews-frontend.js 7.35 kB
build/single-product-frontend.js 22.2 kB
build/single-product.js 10 kB
build/stock-filter-frontend.js 6.61 kB
build/stock-filter.js 6.68 kB
build/vendors--atomic-block-components/add-to-cart--cart-blocks/order-summary--checkout-blocks/billing-ad--c5eb4dcd-frontend.js 19 kB
build/vendors--atomic-block-components/add-to-cart-frontend.js 7.51 kB
build/vendors--atomic-block-components/price--cart-blocks/line-items--cart-blocks/order-summary--checkout--8a3571de-frontend.js 5.71 kB
build/vendors--cart-blocks/line-items--checkout-blocks/order-summary-frontend.js 3.14 kB
build/vendors--cart-blocks/order-summary--checkout-blocks/billing-address--checkout-blocks/order-summary---eb4d2cec-frontend.js 4.74 kB
build/wc-blocks-data.js 8.84 kB
build/wc-blocks-google-analytics.js 1.56 kB
build/wc-blocks-middleware.js 949 B
build/wc-blocks-registry.js 2.7 kB
build/wc-blocks-shared-context.js 1.52 kB
build/wc-blocks-shared-hocs.js 1.14 kB
build/wc-blocks-style-rtl.css 21.9 kB
build/wc-blocks-style.css 21.9 kB
build/wc-blocks-vendors-style-rtl.css 1.28 kB
build/wc-blocks-vendors-style.css 1.28 kB
build/wc-blocks-vendors.js 69.7 kB
build/wc-blocks.js 2.62 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.61 kB

compressed-size-action

Copy link
Member

@alexflorisca alexflorisca left a comment

Choose a reason for hiding this comment

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

Look good, thanks @ralucaStan, let's keep an eye out on Gutenberg and see if they revert the absolute positioning in the future.

@github-actions github-actions bot added this to the 7.0.0 milestone Feb 9, 2022
Copy link
Contributor

@gigitux gigitux left a comment

Choose a reason for hiding this comment

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

Thanks for fixing Mini Cart too!

LGTM :shipit:

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
block: cart Issues related to the cart block. block: checkout Issues related to the checkout block. type: bug The issue/PR concerns a confirmed bug.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

"Add Block" button overlaps content on the Checkout block in the editor
3 participants