* Return formatted cost and sales price for MarketingCampaigns.
* Display formatted cost and sales number in Campaigns card.
* Use price formatting.
* Format decimal places based on currency.
* Add changelog.
* Fix type issue is useCampaigns.test.ts.
* Use wp_strip_all_tags to respect currency symbol positioning settings.
Without wp_strip_all_tags, the result contains <bdi> element, and it causes browser to show the currency symbol in unexpected unwanted position.
* Fix PHP linting issue.
* Fix tests in useCampaigns.test.ts.
* Use html_entity_decode to remove dangerouslySetInnerHTML usage.
* Remove unneeded code formatting in Campaigns.tsx.
* Add explanation comment for `get_formatted_price`.
* Fix PHP lint error.
* Use map instead of filter to get price format.
* Add code comment.
* Get currency info based on user locale or default locale.
* Use locales in locale-info.php instead of currency-info.php.
Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
* Code formatting and fix code comment.
* Fix lint errors.
---------
Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
* Add sales property to MarketingCampaign class.
* Return campaign sales data in API.
* Display Sales in Campaigns card.
* Fix test for useCampaigns.
* Display a "-" when there are no cost or sales value in Campaigns card.
* Add changelog.
* Fix test for useCampaigns hook.
* Fix PHP lint issue.
* Add tests for the `useCampaigns` hook in the woocommerce-admin marketing.
* Add `channels` to the deps of `useSelect` in the `useCampaigns` hook to avoid outdated hook states.
* Make the `useCampaigns` hook support being used with multiple instances.
- Include the `perPage` in the page key of campaigns in the multichannel's data store.
- Move the processing of querying the campaigns paging to the selector of the multichannel's data store.
- Move `total` in each campaign's paging of the multichannel's data store.
- Remove unused properties and their types: `state.campaigns.perPage` and `state.campaigns.total`
* Add changelog
* Multichannel data store - Move the `total` from `campaigns.pages[*]` to `campaigns.meta` to have only one total value.
Related to:
- https://github.com/woocommerce/woocommerce/pull/41211#discussion_r1409634640
- https://github.com/woocommerce/woocommerce/pull/41211#discussion_r1409590559
* Multichannel data store - Return the pagination meta of campaigns along with the `getCampaigns` selector.
Address: https://github.com/woocommerce/woocommerce/pull/41211#discussion_r1412266127
100 is the maximum limit allowed by the API.
We do this because the API does not return total number of rows, so we use 100 to get "all" rows, to support pagination in the UI.