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

Make the header and footer patterns text visible on all themes #7524

Merged
merged 9 commits into from
Nov 4, 2022

Conversation

albarin
Copy link
Contributor

@albarin albarin commented Oct 28, 2022

The goal of this PR is to make the text visible on all themes on the WooCommerce header/footer patterns.
The light patterns will inherit styles from the theme and the dark ones will have black background and white text.

Fixes woocommerce/woocommerce#35248

Testing

User Facing Testing

  1. Create a new page and insert all the WooCommerce Header and Footer patterns (dark & light, 12 patterns in total)
  2. Save, go to the frontend and check the text and icons are visible.
  3. Change the theme to TT3 and check again. Test with a few more different TT3 theme styles.

WooCommerce Visibility

  • WooCommerce Core
  • Feature plugin
  • Experimental

Changelog

Fix the text color for the header and footer WooCommerce patterns.

@github-actions
Copy link
Contributor

The release ZIP for this PR is accessible via:

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

@albarin albarin marked this pull request as ready for review October 28, 2022 14:52
@rubikuserbot rubikuserbot requested review from a team and Aljullu and removed request for a team October 28, 2022 14:53
@github-actions
Copy link
Contributor

github-actions bot commented Oct 28, 2022

Script Dependencies Report

There is no changed script dependency between this branch and trunk.

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

@github-actions
Copy link
Contributor

github-actions bot commented Oct 28, 2022

Size Change: 0 B

Total Size: 1000 kB

ℹ️ View Unchanged
Filename Size
build/active-filters-frontend.js 7.72 kB
build/active-filters-wrapper-frontend.js 6 kB
build/active-filters.js 7.3 kB
build/all-products-frontend.js 26.5 kB
build/all-products.js 33.7 kB
build/all-reviews.js 7.79 kB
build/attribute-filter-frontend.js 22.6 kB
build/attribute-filter-wrapper-frontend.js 7.12 kB
build/attribute-filter.js 12.3 kB
build/blocks-checkout.js 17.5 kB
build/cart-blocks/cart-accepted-payment-methods-frontend.js 1.38 kB
build/cart-blocks/cart-cross-sells-frontend.js 253 B
build/cart-blocks/cart-cross-sells-products--product-add-to-cart-frontend.js 5.63 kB
build/cart-blocks/cart-cross-sells-products-frontend.js 4.68 kB
build/cart-blocks/cart-express-payment--checkout-blocks/express-payment-frontend.js 5.1 kB
build/cart-blocks/cart-express-payment-frontend.js 785 B
build/cart-blocks/cart-items-frontend.js 299 B
build/cart-blocks/cart-line-items--mini-cart-contents-block/products-table-frontend.js 5.31 kB
build/cart-blocks/cart-line-items-frontend.js 1.07 kB
build/cart-blocks/cart-order-summary-frontend.js 1.11 kB
build/cart-blocks/cart-totals-frontend.js 320 B
build/cart-blocks/empty-cart-frontend.js 346 B
build/cart-blocks/filled-cart-frontend.js 783 B
build/cart-blocks/order-summary-coupon-form-frontend.js 2.73 kB
build/cart-blocks/order-summary-discount-frontend.js 2.16 kB
build/cart-blocks/order-summary-fee-frontend.js 272 B
build/cart-blocks/order-summary-heading-frontend.js 456 B
build/cart-blocks/order-summary-shipping--checkout-blocks/order-summary-shipping-frontend.js 6.61 kB
build/cart-blocks/order-summary-shipping-frontend.js 428 B
build/cart-blocks/order-summary-subtotal-frontend.js 273 B
build/cart-blocks/order-summary-taxes-frontend.js 433 B
build/cart-blocks/proceed-to-checkout-frontend.js 1.19 kB
build/cart-frontend.js 54.5 kB
build/cart.js 47.5 kB
build/checkout-blocks/actions-frontend.js 1.79 kB
build/checkout-blocks/billing-address--checkout-blocks/shipping-address-frontend.js 4.98 kB
build/checkout-blocks/billing-address-frontend.js 952 B
build/checkout-blocks/contact-information-frontend.js 3.02 kB
build/checkout-blocks/express-payment-frontend.js 1.13 kB
build/checkout-blocks/fields-frontend.js 343 B
build/checkout-blocks/order-note-frontend.js 1.14 kB
build/checkout-blocks/order-summary-cart-items-frontend.js 3.67 kB
build/checkout-blocks/order-summary-coupon-form-frontend.js 2.88 kB
build/checkout-blocks/order-summary-discount-frontend.js 2.28 kB
build/checkout-blocks/order-summary-fee-frontend.js 275 B
build/checkout-blocks/order-summary-frontend.js 1.11 kB
build/checkout-blocks/order-summary-shipping-frontend.js 603 B
build/checkout-blocks/order-summary-subtotal-frontend.js 273 B
build/checkout-blocks/order-summary-taxes-frontend.js 433 B
build/checkout-blocks/payment-frontend.js 7.86 kB
build/checkout-blocks/shipping-address-frontend.js 1.06 kB
build/checkout-blocks/shipping-methods-frontend.js 4.89 kB
build/checkout-blocks/terms-frontend.js 1.64 kB
build/checkout-blocks/totals-frontend.js 323 B
build/checkout-frontend.js 56.7 kB
build/checkout.js 41.2 kB
build/featured-category.js 13.2 kB
build/featured-product.js 13.5 kB
build/filter-wrapper-frontend.js 13.8 kB
build/filter-wrapper.js 2.88 kB
build/general-style-rtl.css 1.29 kB
build/general-style.css 1.29 kB
build/handpicked-products.js 7.33 kB
build/legacy-template.js 2.83 kB
build/mini-cart-component-frontend.js 20.1 kB
build/mini-cart-contents-block/empty-cart-frontend.js 367 B
build/mini-cart-contents-block/filled-cart-frontend.js 230 B
build/mini-cart-contents-block/footer-frontend.js 2.97 kB
build/mini-cart-contents-block/items-frontend.js 236 B
build/mini-cart-contents-block/products-table-frontend.js 590 B
build/mini-cart-contents-block/shopping-button-frontend.js 287 B
build/mini-cart-contents-block/title-frontend.js 367 B
build/mini-cart-contents.js 17.2 kB
build/mini-cart-frontend.js 1.82 kB
build/mini-cart.js 4.28 kB
build/price-filter-frontend.js 13.6 kB
build/price-filter-wrapper-frontend.js 7.01 kB
build/price-filter.js 8.37 kB
build/price-format.js 1.19 kB
build/product-add-to-cart--product-button--product-category-list--product-image--product-price--product-r--a0326d00.js 228 B
build/product-add-to-cart--product-button--product-image--product-rating--product-title.js 151 B
build/product-add-to-cart-frontend.js 1.25 kB
build/product-add-to-cart.js 8.57 kB
build/product-best-sellers.js 7.7 kB
build/product-button--product-category-list--product-image--product-price--product-rating--product-sale-b--e17c7c01.js 431 B
build/product-button--product-image--product-rating--product-sale-badge--product-title.js 301 B
build/product-button-frontend.js 1.89 kB
build/product-button.js 3.87 kB
build/product-categories.js 2.36 kB
build/product-category-list-frontend.js 884 B
build/product-category-list.js 502 B
build/product-category.js 8.69 kB
build/product-image-frontend.js 1.92 kB
build/product-image.js 3.99 kB
build/product-new.js 7.69 kB
build/product-on-sale.js 8.02 kB
build/product-price-frontend.js 1.92 kB
build/product-price.js 1.53 kB
build/product-query.js 2.89 kB
build/product-rating-frontend.js 1.2 kB
build/product-rating.js 788 B
build/product-sale-badge-frontend.js 1.15 kB
build/product-sale-badge.js 817 B
build/product-search.js 2.61 kB
build/product-sku-frontend.js 378 B
build/product-sku.js 377 B
build/product-stock-indicator-frontend.js 1 kB
build/product-stock-indicator.js 624 B
build/product-summary-frontend.js 1.29 kB
build/product-summary.js 920 B
build/product-tag-list-frontend.js 877 B
build/product-tag-list.js 497 B
build/product-tag.js 8.05 kB
build/product-title-frontend.js 1.34 kB
build/product-title.js 3.36 kB
build/product-top-rated.js 7.93 kB
build/products-by-attribute.js 8.61 kB
build/rating-filter-frontend.js 7.13 kB
build/rating-filter-wrapper-frontend.js 5.39 kB
build/rating-filter.js 6.2 kB
build/reviews-by-category.js 11.3 kB
build/reviews-by-product.js 12.4 kB
build/reviews-frontend.js 7.01 kB
build/single-product-frontend.js 32.3 kB
build/single-product.js 10.1 kB
build/stock-filter-frontend.js 7.78 kB
build/stock-filter-wrapper-frontend.js 6.03 kB
build/stock-filter.js 6.7 kB
build/vendors--attribute-filter-wrapper--mini-cart-contents-block/footer-frontend.js 6.86 kB
build/vendors--attribute-filter-wrapper-frontend.js 8.22 kB
build/vendors--cart-blocks/cart-cross-sells-products--cart-blocks/cart-line-items--cart-blocks/cart-order--671ca56f-frontend.js 5.26 kB
build/vendors--cart-blocks/cart-cross-sells-products--cart-blocks/order-summary-shipping--checkout-blocks--18f9376a-frontend.js 19.1 kB
build/vendors--cart-blocks/cart-cross-sells-products--product-add-to-cart-frontend.js 7.53 kB
build/vendors--cart-blocks/cart-line-items--checkout-blocks/order-summary-cart-items--mini-cart-contents---233ab542-frontend.js 3.14 kB
build/vendors--cart-blocks/order-summary-shipping--checkout-blocks/billing-address--checkout-blocks/order--5b8feb0b-frontend.js 4.85 kB
build/wc-blocks-data.js 18.3 kB
build/wc-blocks-editor-style-rtl.css 5.24 kB
build/wc-blocks-editor-style.css 5.24 kB
build/wc-blocks-google-analytics.js 1.56 kB
build/wc-blocks-middleware.js 932 B
build/wc-blocks-registry.js 2.93 kB
build/wc-blocks-shared-context.js 1.52 kB
build/wc-blocks-shared-hocs.js 1.72 kB
build/wc-blocks-style-rtl.css 24.2 kB
build/wc-blocks-style.css 24.2 kB
build/wc-blocks-vendors-style-rtl.css 1.95 kB
build/wc-blocks-vendors-style.css 1.95 kB
build/wc-blocks-vendors.js 62.4 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.6 kB

compressed-size-action

Copy link
Contributor

@Aljullu Aljullu left a comment

Choose a reason for hiding this comment

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

I wonder if a better approach would be to remove all colors from the patterns and let them "inherit" the ones from the theme. That will ensure the patterns work in all themes, with any color, and maybe it would allow us to only have one variant of them instead of having dark/light ones.

Personally, I think that's a better approach than having one with white background and another one with black background. Specially because with TT3 many style variations have peculiar backgrounds like images and gradients so white/black headers/footers might not work well.

Do you think that's doable, @albarin?

@albarin
Copy link
Contributor Author

albarin commented Oct 31, 2022

I wonder if a better approach would be to remove all colors from the patterns and let them "inherit" the ones from the theme. That will ensure the patterns work in all themes, with any color, and maybe it would allow us to only have one variant of them instead of having dark/light ones.

Personally, I think that's a better approach than having one with white background and another one with black background. Specially because with TT3 many style variations have peculiar backgrounds like images and gradients so white/black headers/footers might not work well.

Do you think that's doable, @albarin?

@Aljullu Yes, I agree, I've been testing the approach you mentioned and it works ok with multiple themes and style variations.
Should we then remove all colors and just have one pattern variant for each header and footer (meaning no dark & light versions)?
Pinging @vivialice and @nerrad to see also what they think about it.

Examples:
Screenshot 2022-10-31 at 09 45 05
Screenshot 2022-10-31 at 09 48 01
Screenshot 2022-10-31 at 09 48 56
Screenshot 2022-10-31 at 09 52 32

@nerrad
Copy link
Contributor

nerrad commented Oct 31, 2022

why not both gif

Seriously though, I think we should have both unopinionated (inherit styles mostly from the theme) and opinionated patterns. So I think it's okay to have some dark header/footer patterns which require more opinionated styling.

I'm also interested in VIv's feedback here.

@vivialice
Copy link

👍 The main/light patterns should take style direction from the theme. I don't know if there's a way to determine that for dark versions, but I think we can define the color there otherwise.

@albarin albarin force-pushed the fix/dark-patterns-text-color branch from 9818167 to 9169dd9 Compare November 1, 2022 09:49
@albarin albarin requested a review from Aljullu November 1, 2022 10:06
@albarin
Copy link
Contributor Author

albarin commented Nov 1, 2022

Thanks all for your feedback.
I've made the light patterns inherit all the styles possible from the theme. Then for dark patterns, I've set the background to black and text/icons to white. It seems to work well for all the themes and variations I've tried.
Could you give it another try @Aljullu? Thanks!

Copy link
Contributor

@Aljullu Aljullu 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 updating this PR, @albarin!

I've made the light patterns inherit all the styles possible from the theme. Then for dark patterns, I've set the background to black and text/icons to white. It seems to work well for all the themes and variations I've tried.

Sounds like a good solution. I would however remove the Light word from light patterns name and just have the "regular one" and the "dark one". Ie:

  • WooCommerce Large Footer
  • WooCommerce Large Footer | Dark

I found a couple of small issues, mentioning them below: 👇

  • Some lights patterns have hardcoded color for the social networks icons. I think we should remove it even if that means diverging from the original designs. Otherwise, there is no way to make them look good in all backgrounds:

imatge

  • In WooCommmerce Essential Header | Light and WooCommerce Large Header | Light, links are still dark:

imatge

imatge

@albarin
Copy link
Contributor Author

albarin commented Nov 1, 2022

@Aljullu thanks for the review, just pushed fixes to the 3 issues 🙂

@albarin albarin requested a review from Aljullu November 2, 2022 07:55
Copy link
Contributor

@Aljullu Aljullu 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 updating the PR, @albarin!

I could find another case where the patterns don't look good. I tried with Twenty Twenty Two modifying the colors (making the background black and the text color light):

imatge

then, the light WC patterns don't look good:

imatge

patterns/footer-large.php Outdated Show resolved Hide resolved
@github-actions
Copy link
Contributor

github-actions bot commented Nov 2, 2022

TypeScript Errors Report

Files with errors: 448
Total errors: 2121

🎉 🎉 This PR does not introduce new TS errors.

Copy link
Contributor

@Aljullu Aljullu left a comment

Choose a reason for hiding this comment

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

Style-wise it looks perfect! 👌 I noticed one last issue, however: menus seem to be different in the light and dark patterns:

imatge

I think that's only reproducible if you have created at least one menu (modifying the Navigation block). I left a comment inline where I think the source of the issue might be.

I'm pre-approving, but happy to re-review if you want. 🙂

patterns/footer-large.php Outdated Show resolved Hide resolved
@github-actions github-actions bot added this to the 8.9.0 milestone Nov 3, 2022
@vivialice
Copy link

👋 Looking good! I am wondering if in your screenshot @Aljullu - the site name is in black? Making the text look not quite centred?

@Aljullu
Copy link
Contributor

Aljullu commented Nov 3, 2022

Looking good! I am wondering if in your screenshot @Aljullu - the site name is in black? Making the text look not quite centred?

The site name is latest, it appears after the year. Text doesn't appear centered in my screenshot because of the way I took it (cutting off the right side 😅 ). This is a full-page screenshot in the frontend:

imatge

@github-actions
Copy link
Contributor

github-actions bot commented Nov 4, 2022

TypeScript Errors Report

Files with errors: 448
Total errors: 2121

🎉 🎉 This PR does not introduce new TS errors.

1 similar comment
@github-actions
Copy link
Contributor

github-actions bot commented Nov 4, 2022

TypeScript Errors Report

Files with errors: 448
Total errors: 2121

🎉 🎉 This PR does not introduce new TS errors.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 4, 2022

TypeScript Errors Report

Files with errors: 448
Total errors: 2121

🎉 🎉 This PR does not introduce new TS errors.

@albarin albarin merged commit 27c65d1 into trunk Nov 4, 2022
@albarin albarin deleted the fix/dark-patterns-text-color branch November 4, 2022 10:59
@albarin albarin changed the title Set a the color as white for the dark header/footer patterns Make the header and footer patterns text visible on all themes Nov 7, 2022
@albarin albarin added type: bug The issue/PR concerns a confirmed bug. ▫️ pattern: headers labels Nov 7, 2022
senadir pushed a commit to senadir/woocommerce-blocks that referenced this pull request Nov 12, 2022
…erce#7524)

* Set a the color as white for the dark header/footer patterns

That way we make sure they will be visible no matter which theme is active.

* Adapt light patterns to inherit colors from theme

* Remove light from pattern names and color from social icons

* Make links inherit color

* Remove background

* Remove wp:page-list

Co-authored-by: Albert Juhé Lluveras <[email protected]>

Co-authored-by: Albert Juhé Lluveras <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
type: bug The issue/PR concerns a confirmed bug.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[GlobalStep] Unable to view "Text and Icon" for dark mode on Templates page.
4 participants