* Fix clearing search input in In-App Marketplace
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* ../woocommerce-admin/client/customize-store/transitional/index.tsx
* Delete plugins/woocommerce/bin/composer/phpcs/composer.lock
* Add changefile(s) from automation for the following project(s): woocommerce
* Delete plugins/woocommerce/bin/composer/phpunit/composer.lock
* Delete plugins/woocommerce/composer.lock
* Reverted the changes
* Reverted the changes
* Reverted the changes
* Reverted the changes
* Reverted the changes
* Reverted the changes
* Reverted the changes
* Implemented Suggested Changes
* Implemented Suggested Changes
* IMplemented the Suggestions
* Removed navigateOrParent as it is not needed.
* Updated test case in index.test.tsx
* Revert the change
* Implemented suggestions
* Update transitional.spec.js
* Update transitional.spec.js
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
Co-authored-by: root <root@LAPTOP-I3Q9TGEL>
* Fix a bug in FeaturesController.
The UI for a non-legacy feature was showing up greyed out
("UI disabled") when the setting that controls the feature
was off ("feature disabled").
* Add the CostOfGoodsSoldController class.
* Add COGS related properties/methods to the product and variation classes.
Also update the data stores appropriately.
COGS values will be stored in a "_cogs_total_value" product meta key,
but only when the value is not zero.
For variations, a flag indicating if the COGS value overrides
the parent value will be stored in a "_cogs_value_overrides_parent"
product meta key, but only when the value is true (stored as "yes").
* Add filters to customize the COGS related data as it gets loaded or saved.
* Add COGS related functionality to the REST API
(get/create/modify products and variations endpoints).
* Modify product import file check to use the WP filesystem API.
Otherwise it doesn't work on environments that don't have
a direct filesystem like e.g. WordPress VIP.
* Add the FilesystemUtil::get_wp_filesystem_method_or_direct method
* Fix wrong type passed to `add_meta_boxes` action
* revert changed parameter of `do_meta_boxes` to `WP_Post` object
* Add `woocommerce_order_editor_add_meta_boxes` in order editor
* Move changelog entry to correct directory
* Populate `window.wcMarketplace` for Marketing > Coupons
* TEST CODE: Add promotions dummy data to the endpoint for now
See [this comment](https://github.com/Automattic/woocommerce.com/issues/21783#issuecomment-2376471712) as to how we plan to manage this through WCCOM
* Initial implementation of the `<PromoCard>` component
This commit does the following:
- Implement the `PromoCard` component
- Refactor the existing `Promotions` component
- Extract types
- Add support for conditional rendering based on `pathname`
- Accept optional parameter `promoCardOnly`
- Renders `PromoCard` wherever needed, as requested in the project thread.
Some remaining TODOs:
1. Dismiss functionality
2. Tracking
3. Figma design adjustments
- CSS styling (Flexbox in Marketplace, etc.)
- Percent image, wherever needed
- Background image
4. BWC testing (e.g. ensuring that "Get more for your money" banner still works)
* Make sure that WCCOM also returns path so that earlier versions of in-app marketplace don't break (path undefined error)
* Update T&C link
After https://github.com/Automattic/woocommerce.com/issues/21840
* Implement promo banner dismissal logic and tracks
* Styling the WooCommerce > Extensions version of the promo component.
- Tweaked data on `class-wc-admin-assets.php` to pass `style` and `icon` attributes for that promo.
- Moved promo on this page from the marketplace `Header` component to the `Content`, above the Sales Banner notices.
- Deleted `percent.svg` and moved its content into a React component.
- CSS tweaks for this style of promo.
- Changes to elements of `PromoCard` component to allow the layout for this style.
* Fixed some TypeScript issues.
- Added guard condition in case `promotion.id` is undefined.
- Returning null if it isn't - but below `useState` hook, so we conform to rules of hooks.
- Setting default value for `promotion.cta_label` to satisfy TypeScript, which expects a node.
Style tweaks to `.promo-cta`. Vertical centering of text, hover colour, margins.
* Remove unnecessary unique identifier for each promo, and use a smarter way (URIs) to gather the visibility data
* Lint
* Revert test code
* Changelog
* Better code comments
* Changed `promoCardOnly` attribute of `Promotions` to `format`, to allow for more types in future.
* Update plugins/woocommerce-admin/client/marketplace/components/promotions/promotions.tsx
Co-authored-by: Boro Sitnikovski <buritomath@gmail.com>
* Styling promo cards at different breakpoints.
Moved homescreen promo to after store management links.
* Added condition to merge array of promos with the main `$promotions` array.
* Added `useEffect` so we only record Track event for view of promotion once.
Changed Tracks prefix to the shorter `marketplace_promo_`.
* Added Tracks events for both formats of promotions, `promo-card`, and the original `notice`.
* Merging two style blocks.
* Passing `format` to `recordEvent` instead of hard-coding it.
* Addressing linter errors.
* Moved operation merging promos into the main array into a separate method for greater clarity.
* Moved Promotions component on WooCommerce > Home to below task list.
* Styling tweaks.
Increased schedule of `woocommerce_marketplace_cron_fetch_promotions` cron job to twice daily.
Added guard conditions in `Promotions` in case `window.wcMarketplace.promotions` isn't defined or isn't an array.
* Reduced SVG size to 72px.
* Fixing linter error.
* Style tweaks. Using WP components colour vars for CTA and dismiss links.
* Fixing linter error.
* Reverting change to `schedule_cron_event`, as this method will not be present if only this branch is cherry-picked.
---------
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
In this PR, we update the skip strategy for ci-workflow to use the GitHub actions feature and simply filter out the changed paths (skip docs, changes).
* Add a retry on the setup test environment step
* Minor change to an e2e test to trigger CI
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* Merge all listed /merchant files
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add a retry mechanism to the query to obtain the lock for inserting products in the API
* Add changefile(s) from automation for the following project(s): woocommerce
* Log errors after failed attempts and delay 10ms for each attempt
* Fix lint
---------
Co-authored-by: github-actions <github-actions@github.com>
* Notify wc/admin/options store changes after the data is saved in the server and not before
* Add changelog file
* Remove the subscription to the OPTIONS_STORE_NAME since its trigered many times, using useSelect instead
* Add changelog file
* Add order by sales filter option to product collection
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Replace __experimentalGetGlobalBlocksByName with stable getBlocksByName
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Skip `can remove a coupon` - error 500
* Make elements more specific
* Skip two tests from order-emails.spec.js
* Skip `WooCommerce Page Load`
* Expand WPCOM suite
* Change hardcoded email address
* Unskip tests in order-emails.spec.js
* Add changefile(s) from automation for the following project(s): woocommerce
* ESLint updates
* Check different locator for Marketing channels
* Skip "can receive completed email" for now
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add site_visibility_badge feature
* Update feature check on badge
Previously the WooCommerce Admin LYS feature flag was used, however this is slated to be removed in an upcoming release. This is updated to use the core level feature flag for the badge.
* Add changelog
* Fix lint issues
* Revert "Fix lint issues"
This reverts commit cf05d2b74f.
* Lint fixes
* lint
* Add missing classnames for WP blocks
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix unwanted extra whitespace within class property
* Remove unnecessary whitespace in class attribute for the Product Image block
* Remove unnecessary whitespace in class attribute for the Product Rating block
* Remove unnecessary whitespace in class attribute for the Product Rating blocks
* Fix php lint errors
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Sam Seay <samueljseay@gmail.com>
* Handle notice if displayed
* Make `Reply to comment` more unique, and wait for comment area to disappear
* Skip on WPCOM - error 404
* Fix copy/paste error
* Make area more unique
* Add changefile(s) from automation for the following project(s): woocommerce
* Expand WPCOM suite
---------
Co-authored-by: github-actions <github-actions@github.com>
* Return empty string from template_include filter instead of null
* Update phpdoc return tag
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alba Rincón <albarin@users.noreply.github.com>
In this PR, we are re-iterating the job speedup and leveraging single wp-instance, incremental builds, and baseline reports caching. The original benchmarking tool is still available but bypassed as we evaluate results for this iteration approach.