Commit Graph

3291 Commits

Author SHA1 Message Date
Moon acfd7dc53f
Prefetch Jetpack connection and auth info (#38929)
* prefetch Jetpack connection and auth info when Jetpack is selected

* Add changelog

* Use pre-exisiting hasJetpackSelected cond
2023-06-26 17:30:46 -07:00
Chi-Hsuan Huang 5fb8183682
Fix Core Profiler UI issues (#38872)
* Fix overlapping button position when the height is less than 667px (iphone SE)

* Fix misaligned check icon on mobile

* Prevent the menu from closing when clicking on a selected item

* Add changelog

* Fix lint

---------

Co-authored-by: moon <moon.kyong@automattic.com>
2023-06-22 20:54:14 -07:00
Moon 30ea01c047
Refresh onboarding profile values on the Homescreen (#38861)
* Use window.location.href for redirection to refresh the page to get the latest onboarding profile values

* Add changelog

* Remove unused import
2023-06-21 22:40:42 -07:00
Joshua T Flowers 6bbc4dad1a
Add missing tracks events to product editor (#38728)
* Only record product update on already published products

* Add source into published product tracks event

* Add missing tracks options to product update event

* Track tab clicks in the editor

* Add source to tab clicks

* Record tracks on preview click

* Add events for media gallery, description, and attributes

* Add tracks events to more menu

* Replace new_product_page with source

* Add changelog entry

* Fix lint errors

* Add tracks for About the Editor menu item

* Add onClick event to AboutTheEditor menu item

* Use dropdown option event for classic editor menu click
2023-06-21 09:38:04 -07:00
Gan Eng Chin f31eca2ec5
Marketing: Do not show "Create a campaign" button if there are no campaign types (#38825) 2023-06-21 19:43:35 +08:00
Gan Eng Chin 04294c4ec8
Simplify code to display buttons in IntroductionBanner. 2023-06-21 18:53:45 +08:00
Ismael Martín Alabarce d31b7866af
Add missing spacing in WCPay welcome incentive page cards (#38819)
* Add missing card spacing for the WCPay welcome incentive cards

* Add changelog entry
2023-06-20 11:12:44 -05:00
Gan Eng Chin 617b51c91d
Add and fix tests for Campaigns component. 2023-06-20 23:03:56 +08:00
Gan Eng Chin c6a5e8ba41
Do not show "Add channels" button when create campaign button is not shown. 2023-06-20 22:13:24 +08:00
Gan Eng Chin 2b477fb93f
Show create campaign button in campaigns card when there are campaign types. 2023-06-20 21:05:27 +08:00
Gan Eng Chin 81c34086fe
Display create campaign button when there are campaign types. 2023-06-20 20:54:45 +08:00
Chi-Hsuan Huang 9509ae8136
Fix help panel links (#38817)
* Fix links under "Help" panel on Home screen

* Add changelog
2023-06-20 18:11:44 +08:00
Vlad Olaru 4fffdf5703
Fix lint issue 2023-06-19 18:50:12 +03:00
Vlad Olaru 2a88ed10b1
Encode URL param to be safe 2023-06-19 18:14:42 +03:00
Vlad Olaru a76d979962
Include incentive ID in connect URL 2023-06-19 18:05:45 +03:00
Ismael Martín Alabarce 1ae97495de
Update WooPayments welcome page incentive logic (#38797)
* Update orders status query to ensure it exclude trash.

* Add incentive ID to every track event

on the welcome incentive page.

* Remove unnecessary SCSS after #38775 fix

* Add changelog entry

* Replace tos_url with tc_url for accurate naming

* Fix phpcs errors

---------

Co-authored-by: Vlad Olaru <vlad@pixelgrade.com>
2023-06-19 15:23:33 +02:00
Vlad Olaru 5e1b6a71f4
Replace tos_url with tc_url for accurate naming 2023-06-19 14:32:57 +03:00
Ismael Martín Alabarce 9b0e5dc89a Remove unnecessary SCSS after #38775 fix 2023-06-19 13:05:01 +02:00
Ismael Martín Alabarce 4afd148e0e Add incentive ID to every track event
on the welcome incentive page.
2023-06-19 13:04:14 +02:00
Moon bc827cf16b
Update/38743 loading changes in core profiler (#38750)
* Skip teh plugin page when all the plugins are activated

* Fix the if statement so that stageIndex becomes 2 when progress is over 60

* Add a 2nd loader stage for the skipped guided setup

* Add changelog

* Lint fix -- css

* fix: banished core profiler page spinners

* addressed pr comments

* update jest snapshot

---------

Co-authored-by: rjchow <me@rjchow.com>
2023-06-19 13:33:28 +08:00
Moon cea0bc143c
Decode HTML entities from store name (#38791)
* Decode store name with HTML entities

* Add changelog
2023-06-18 21:58:16 -07:00
Moon 00e4e94c89
Change select option hover color on core profiler pages (#38724)
* Use theme color for the option hover

* Add Changelog

* Remvoe absolute position -- can't predict correct value for bottom

* Fix css lint error

* Fix button width

* Use gray-0 for dropdown item hover color

* Fix border style for Give your store a name field

* Fix hover color for the platform options

* Remove light color on hover

---------

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2023-06-19 11:03:55 +08:00
Ilyas Foo b490e56a40
Various UI fixes in Core profiler steps (#38759)
* Fix font heading font style and adjust main component max width to match design

* Remove redundant #FunWooFact

* Reset button font color to follow admin theme

* Fix Installed label vertical alignment

* Changelog

* Remove permanent borders from consent checkbox, lint fix

* Remove box shadow on checkboxes in plugins page

* Standardize checkbox styling across core profiler

* Fix heading font styling

* Lint

* More lint

* Update snapshot
2023-06-17 13:14:13 +08:00
Ilyas Foo 71a039852f
Fix payment gateway suggestions display logic (#38658)
* add: updated payment gateways for 2023 Q3

* Update payment gateway suggestions display logic, better comments and variable names, added core onboarding profiler option to support offline venue, added IN to paypal visibility rule

* Lint

* Update for better WCPay logic

* Remove accidental imports

* Added return object comment

* More lint

* Changelog

---------

Co-authored-by: rjchow <me@rjchow.com>
2023-06-16 23:46:37 +08:00
Ismael Martín Alabarce 9a49ff72da
Update WCPay welcome page incentives (#38689)
* Initial refactor of components

Move out from index every UI component to make it easier to maintain.

* Initial implementation of new design

Some minor adjustments are missing, and I've added a few TODOs to complete later.

* Add changelog entry

* Finish design update

* Compress menu icon

* Add user's first name to heading copy

* Fetch and cache eligible incentive from WCPay API

Sharing its properties under `window.WcSettings.admin`

* Filter `allowed_promo_notes`

To be able to add those form WCPay API request

* Update JS side to use the new shared incentive details

* Ensure we cache requests even if there are no eligible incentives

* Fix a typo in WCPayBanner

* Move incentive preloaded data from wcSettings

to a new window variable which will be only loaded on WCPay welcome page.

* Simplify `has_wcpay` check

* Render sanitized HTML from incentive description

* Update get incentive logic to also cache non success responses

* Add incentive ID to page view track

* Add changelog entry for the onboarding package

* Update used options names

and add them to `get_default_option_permissions

* Differentiate every dismissed incentive

Reuse WCPay welcome page logic for notes display conditions

* Use tos_url instead of tos_link to match response

* Fix incentives endpoint request payload

* Back to preload incentive on admin shared settings

* Move promo notes filter to where it's used

to avoid any possible race conditions.

* Replace every occurrence of `WooCommerce Payments` with `WooPayments`

* Prevent modal large padding-bottom

* Prevent another global style override on modal

* Fix TS error coming from trunk merge

* Fix wrong style property

* Further restrict WCPay incentives to plugin not active and countries supported

* Adjust the meaning of has_wcpay

* Wait for dismiss option update before redirect

to prevent the side menu entry to be visible after redirecting back to WC admin.

* Enforce TOS asterix at the end of incentive description

* Remove underscore from priavate instance var.

* Fix ESLint error

* Fix SCSS linting issues

* Refine `has_wcpay` and `has_orders`

* Enforce consistent WooPayments branding

* Enforce stricter i18n calls with escape

* Update page title to match new branding

* docs: Enforce branding in code docs also

* Remove method that is unreliable to be used outside of onboarding

* Remove unused constant

* Missing new line

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

---------

Co-authored-by: Vlad Olaru <vlad@pixelgrade.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2023-06-16 16:32:58 +02:00
Ilyas Foo 0a50173976
Fix infinite redirect from homescreen to core profiler (#38768)
* Fix infinite redirect using useEffect to remove unintentional rerendering

* Changelog
2023-06-16 20:28:25 +08:00
Ilyas Foo 1e72bb0401
Allow `plugins_page_skipped` parameter in Onboarding API endpoint (#38764)
* Append plugins_page_skipped parameter to onboarding API

* Changelog

* Rename property to is_plugins_page_skipped and fixed tests

* Changelog

* Fix lint
2023-06-16 18:06:58 +08:00
Moon 1a42094e5e
Fix Jetpack redirection issue when the auth endpoint returns an invalid url (#38760)
* Return full response from getJetpackAuth

* Add success and errors

* Redirect to Home in case of an error from getJetpackAuth endpoint

* Add changelog

* Use redirectToJetpackAuthPage

* Replace window.location.href with navigateTo

* Fix type issue with getJetpackAuthUrl

* Update plugins/woocommerce-admin/client/core-profiler/index.tsx

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

---------

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2023-06-16 00:56:30 -07:00
Moon 630faadb81
Update/implement connect to jetpack (#38674)
* Add install-and-activate-plugins-async action to onboarding

* Add label and learn_more_link types

* Use label and learn_more_link

* Remove unused imports

* ts fixes

* Visual changes on the plugin page

* Change CTA font size from 13px to 14px
* Change spacing between the chebox and logo to 24px
* Change heading font-weight to 500

* Fix css lint error

* Add back learn more link that was removed from rebase

* Add required packages

* Load Jetpack Config

* Add getJetpackAuthUrl to data/onboarding

* Add Connection Rest Auth -- seems like this is required for Jetpack to communicate back to the connected site

* Add jetpack-authorization-url REST API

* Redirect to Jetpack Auth page after the installatino process if jetpack was selected

* Require can_install_plugins permission for jetpack auth url endpoint

* Update packages/js/data/src/onboarding/resolvers.ts

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Update plugins/woocommerce/src/Admin/API/OnboardingPlugins.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Remove automattic/jetpack-sync and its config

* Support redirect_url and from params

* Do not redirect to Jetpack auth if it is already connected

* Add installed_ext_success=1

* Use woocommerce-core-profiler for from value

* Revert unrelated lock file changes

* Minor refactor

* Extracted out isJetpackConnected cond to a guard

* Added meta data for isJetpackConnected to prevent unwanted spinner

* Add Changelog

* Lint fix

* Move Jetpack Connection config init to class-woocommerce

* Add changelog

* Remove unnecessary require

* Note jetpack-authorization-url endpoint is experimental

* Fix broken test

* Add component to sendToJetPackAuthPage state

* Fix lint error

---------

Co-authored-by: rjchow <me@rjchow.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2023-06-15 20:28:18 -07:00
Moon d51f69d2d7
Update track name prefix for core profiler (#38710)
* Use coreprofiler_ prefix

* Add Changelog

* Track name changes

* Rename intro_optin to intro_opt_in

* Extracted out recordFailedPluginInstallations and recordSuccessfulPluginInstallation to tracks

* Fix js lint error -- remove unused import
2023-06-15 13:37:14 -07:00
RJ 723c68e240
fix: core profiler plugins list race condition (#38732) 2023-06-15 12:45:54 -07:00
Maikel David Pérez Gómez fe7933e7a9
Implement experiment within code for new users (#38700)
* Configure the expiriment to redirect variation treatment to the new product editor

* Add changelog file

* Fix experiment name

* Fix changelog description
2023-06-15 14:42:57 -04:00
Nathan Silveira bfd720c28f
Extract usePublishedProductsCount hook and use it in about-the-editor-menu-item (#38742) 2023-06-15 13:03:18 -03:00
Maikel David Pérez Gómez 2471dcba05
Replace 'use classic editor' with 'Turn off the new product editor' in options menu (#38693)
* Options menu in product editor view should show Turn off the new product editor with some subtext

* Record event product_editor_options_turn_off_editor_click when clicking Turn off the new product form menu item

* Add changelog file
2023-06-15 10:55:11 -04:00
Nathan Silveira 5f94b411f0
Product Editor Onboarding: Add About the editor... option the more menu in product block editor (#38691)
* Add 'About the Editor' menu item

* Show the guide when clicking the menu item

* Add track event when clicking about the editor

* Add changelog

* Remove from product more menu
2023-06-15 10:07:46 -03:00
Matt Sherman 9d7b68b82c
Update product editor tour design (#38726) 2023-06-15 08:23:13 -04:00
Moon e50fb51b26
Set skipped flag when guided setup is skipped (#38730)
* Set woocommerce_onboarding_profile.skipped when guided setup is skipped

* Add Changelog
2023-06-14 21:12:03 -07:00
Chris Runnells 1e19d186c2
Fix task list header overlap (#38707) 2023-06-14 11:44:30 -10:00
Matt Sherman de6f77d8be
Fix transient notices overlapping product editor footer (take 2) (#38698)
* Use WooFooterItem for Footer

* Use WooFooterItem fill for TransientNotices

* Adjust TransientNotices styling to work in footer

* Fix footer width when in setup wizard

* Change export of TransientNotices from default to named

* Add border to footer

* Changelog

* Changelog

* Mock WooFooterItem to allow unit tests to pass

* Fix lint error in test
2023-06-14 16:32:28 -04:00
Fernando Marichal 47481490d8
CES modal modifications (#38643)
* Add extraFields prop

# Conflicts:
#	packages/js/product-editor/src/components/product-mvp-ces-footer/product-mvp-ces-footer.tsx

* Add changelog

* Add changelogs

* Fix styles

# Conflicts:
#	packages/js/product-editor/src/components/product-mvp-ces-footer/style.scss

* Add extraFields validation

* Remove files

* Add styles and js

* Modify the other share feedback form

* Change modal title

* Fix feedback-bar

* Fix return

* Fix params types

* Rename `extraFields` to `getExtraFieldsToBeShown`

* Fix styles

* Fix error handling

* Fix styles

* Rename prop

* Fix error message
2023-06-14 11:25:51 -03:00
Moon 604132391a
Visual changes for Intro, guided setup, and skipped guided setup pages (#38709)
* Change Skip this setup to Skip this step

* Visual changes on intro, user profile, and skip guided page

* Always check tracking agreement

* Change border to 2px

* Change Give yoru store a name font-size to 13

* Add Changelog

* Update test to reflect the text change

* Remove !important

* Update test snapshot

* Update test snapshot

* Remove test that is no longer necessary
2023-06-13 22:10:43 -07:00
Moon 620ff93e5a
Additional changes for the core profiler plugins page (#38616)
* Add install-and-activate-plugins-async action to onboarding

* Add label and learn_more_link types

* Use label and learn_more_link

* Fix type

* Add changelog

* Add changelog

* Add install_priority -- this will be used in the core profiler

* Sort selected plugins by install_priority for installation

* Remove unused imports

* dev: refactor installAndActivatePlugins to xstate

* ts fixes

* Sort plugins by install_priority

* Make sure WooCommerce Shipping is always visible

* Update free extension list content

* Updated WC payment description
* Updated logo images

* Visual changes on the plugin page

* Change CTA font size from 13px to 14px
* Change spacing between the chebox and logo to 24px
* Change heading font-weight to 500

* Fix css lint error

* Fix gray-900 variable name

* Hide learn more link on mobile view

* Add back learn more link that was removed from rebase

* Send pluginsAvailable to pluginInstallermachine

* Use is_activated to determine plugin availability and install status

* Update packages/js/data/src/onboarding/types.ts

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Update plugins/woocommerce/src/Internal/Admin/RemoteFreeExtensions/DefaultFreeExtensions.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Add back recordTracksPluginsLearnMoreLinkClicked

* Use install-and-activate-plugins-async when timer is up

* Record plugin and link with learn more linked clicked event

* Fix failign tests

* Add comment for install_priority

---------

Co-authored-by: rjchow <me@rjchow.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2023-06-13 15:03:03 -07:00
Chris Runnells 6e39164cea Update task list CSS to prevent text from overlapping the background image 2023-06-13 12:02:43 -10:00
Nathan Silveira bc3edb0ae1
Update style of Block product editor TourKit (#38640)
* Increment style of first step of block editor tour

* Changelog
2023-06-13 16:44:01 -03:00
Nathan Silveira 0fc765beb3
Product Editor Onboarding: Add "tell me more" button to wc.com page (#38639)
* Copy Guide component from @wordpress/components and fix focus issue

* Add 'tell me more' button and behavior

* Move Guide component from components package to admin package
Implement assigning an href to the finish button, sending the current page and origin as a parameter on the onFinish callback

* Remove dependency

* Restore pnpm-lock.yaml

* Add changelog

* Add comment in Guide component

* Dismiss modal only when it's finished or X button is clicked

* Add 'rel' when opening link in a new tab
2023-06-12 14:54:29 -03:00
Matt Sherman 2039d8915e
Show feedback bar after product editor tour/guide (#38669) 2023-06-12 12:43:19 -04:00
Nathan Silveira 18f2de2bc4
Always show pricing group fields, disable if not available for a product type (#38531)
* Always show General product tab

* Add info messages for variable and grouped products

* Add logic to disable/enable fields and labels based on product type

* Tweak CSS and fix links

* Add tracks events for links

* Add filters to pricing disabled message

* Tweak logic to only enable fields on certain product types instead of disabling in the opposite ones

Add fallback message when pricing is disabled but it's not Variable or Grouped product

* Add docblocks

* Fix more lint issues

* Fix last lint issues

* Update selector in e2e test

* Refactor PHP echo

* Attach to #woocommerce-product-data instead of attaching to body
2023-06-12 12:58:26 -03:00
Maikel David Pérez Gómez 72f7e6ebbb
Publishing product in classic editor redirects back to new editor (#38551)
* Changes the feature given it's id and a toggle value as a query param

* Swap classic editor and new product block editor url when product_block_editor feature changes

* Turn off the product_block_editor feature when user choose to use the classic editor

* Add changelog files

* Fix linter errors

* Add nonce to each feature change request

* Change the hooks name for better readability

* Use get_current_screen function to better identify if the current screen is the product creation or edition

* Add wp_die if the nonce verification failed

* Change regex for explode/parse_url for better reading
2023-06-09 11:18:40 -04:00
RJ 622711c48b
dev: refactor installAndActivatePlugins to xstate (#38577)
* dev: refactor installAndActivatePlugins to xstate

* ts fixes

* fixed first plugin install progress bar reset issue

* clean up todo comments

* fixed bug where errors were not reported if past 30s timeout

* fix lint
2023-06-09 15:08:45 +08:00
Matt Sherman dadc0eb777
Show feedback footer on product editor page (#38599) 2023-06-08 20:56:07 -04:00
RJ 5c4746cefc
add: core profiler url routing (#38620)
* added url routing

* fixed tests and changelog
2023-06-08 12:52:22 +08:00
Gan Eng Chin 99dbdbe3f2
Fix WooCommerce name typo in Codisto extension description in test (#38302) 2023-06-07 23:45:52 +08:00
RJ 1b1f86066f
dev: refactor core profiler pages (#38606)
* dev: refactor core-profiler - modularise each page

- wrapped each page's pre, post, and main states into their top level states for tidiness
- tagged them with id so that we can easily jump to them when doing routing
- generalised component finder code such that it recursively traverses the state meta object until it finds a component key
- fixed css label to use top level state key

* moved initializing into introOptIn so it's not a special case by itself
2023-06-07 11:39:38 +08:00
Nathan Silveira 52fe3c4a5a
Product Editor Onboarding: Show spotlight for first time visitors (#38590)
* Add placeholder TourKit in product-page

* Create component and configure it to show to the right of wp menu

* Finish TourKit and start creating features guide

* Implement CSS changes and background color

* Create Wrapper to facilitate showing the tour and guide without relying on the options in the future

* Refactor
Add tracks events

* Add changelog

* Fix lint problems

* Fix CSS

* Refactor styles

* General refactor and extract BlockEditorGuide component

* Add changelog

* Fix lint issues
2023-06-06 12:06:26 -03:00
RJ e1bdd2f73b
dev: refactor core profiler tracks actions (#38603)
* dev: refactor core-profiler - consolidate tracks

* dev: refactor core-profiler - moved tracks out

* dev: moved tracks up one level

* dev: fixed spawn warning

- caused by this xstate bug https://github.com/statelyai/xstate/issues/1429

* dev: standardised ctx -> context
2023-06-06 15:20:34 +08:00
Chris Runnells a5bbe0ed7c
Add Core Profiler loading spinner (#38598) 2023-06-05 10:32:07 -10:00
Tomek Wytrębowicz f569f333a1
Fix Layout Controller forwarding arrays from the URL query string. (#38593)
* Revert part of "Remove `qs` dependency from `woocommerce-admin` (#35128)"

This reverts Layout- and Filter-related changes from commit 00c151f9aa, reversing
changes made to eef417fe39.

Removes the fix (keeping the test) from https://github.com/woocommerce/woocommerce/pull/38542 as it's not needed for `qs`

Fixes https://github.com/woocommerce/woocommerce/issues/38582.

* Simplify the use of query params in `ProductTour`

* Add changelog entry
2023-06-05 04:55:20 -03:00
Chris Runnells 3ae3a0df8d Lint fixes 2023-06-02 15:08:33 -10:00
Chris Runnells 3082b21b1e Added ProfileSpinner component to display when Core Profiler assets are loading 2023-06-02 14:27:17 -10:00
Adrian Duffell bb2fcce173 Update task header max width
Fixes a bug where on 2-col layouts, text was overlapping the image because the overall container size is less than 500px.

75% is the equivelent of 500px for single-col layout.
2023-06-02 21:51:32 +08:00
louwie17 7d4f65b8c7
Fix save settings error within Analytics (#38542)
* Filter out undefined query params

* Add changelog
2023-05-31 09:35:54 -03:00
Sam Seay b076a7b521
Fix linter issues and update Syncpack (#38523) 2023-05-31 11:45:10 +12:00
Ilyas Foo edf95bf3f4
Update shipping partner suggestions to use data from API (#38457)
* Added shipping partner suggestions data handling in JS

* Add woocommerce services real info

* Add dynamic layout components, remove unused JS, added images to proper asset paths

* Changelog

* Update changelog and removed unused variable

* Remove console.log

* Lint fix

* Add shipping methods module in woocommerce/data

* Update data usage

* Revert "Added shipping partner suggestions data handling in JS"

This reverts commit 6a87ef2658.

* Lint fix
2023-05-30 15:56:32 +08:00
RJ ab18828e84
add: core profiler business info page (#38412)
* add: core profiler business info page
2023-05-30 15:05:38 +08:00
Maikel David Pérez Gómez b0ac1607b9
View should scroll to the top when navigating between tabs (#38484)
Override the interface skeleton container so it can be scrollable
2023-05-29 15:28:50 -04:00
Moon 6946ef384a
Core Profiler - Add extensions page (#38405)
* Initial design impl. without the full functionality

* Delete unused icons

* Add is_installed and plugins_page_skipped

* Add plugin-card component to render an installable plugin

* Implement plugins page

* Add loaders for plugins

* Add changelog

* Remove unused type

* Add changelog

* Remove unnecessary return statement

* Add obw/core-profiler

* Replace extensions with plugins

* Temp -- use window.location.href for Woo Home redirection

* Minor: code refactor

* Refactor isntallAndActivatedPlugins

* Skip plugins page when there is no available plugin

* Apply mobile styles

* Update plugins/woocommerce-admin/client/core-profiler/components/plugin-card/plugin-card.scss

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce-admin/client/core-profiler/components/plugin-card/plugin-card.scss

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce-admin/client/core-profiler/style.scss

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Bold errored plugin name

* Fix checkbox alignment

* Update changelog

* Fix object type for formatToParts function

* Fix lint issues

* Fix CSS lint issues

* Fallback to en-US when locale is not available

* Fix error with siteLocale

---------

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2023-05-29 07:45:30 -07:00
Nathan Silveira c44ee9649f
Filter by date_paid and date_completed on list table orders (#38428)
* Filter by date_paid and date_completed on list table orders based on configuration

* Use separate query param 'order_date_type' to filter orders

* Add clarifying comment

* Add missing phpcs ignore

* Refactor to use 'm' and 'order_date_type' query parameters
2023-05-26 05:19:01 -03:00
RJ 80f6d0a6a6
add: wccom migrate link in nux (#38441)
* add: wccom migrate link in nux

* Update plugins/woocommerce-admin/client/profile-wizard/steps/business-details/flows/selective-bundle/style.scss
2023-05-25 20:25:03 +10:00
Chi-Hsuan Huang af26209886
Update "Set up additional payment options" task view & complete logic (#38273)
* Cache WooCommercePayments task is_complete() result

* Update Set up additional payment task view logic

* Add changelog

* Update additional payment task view & complete logic

* Add changelog

* Fix lint and view logic

* Fix lint

* Fix lint

* Update payment task section heading logic
2023-05-25 12:24:15 +08:00
Chi-Hsuan Huang 4547922f3f
Add core profiler user profile page (#38328) 2023-05-22 11:21:16 +08:00
Maikel David Pérez Gómez ebf0b92960
Use feature the new feature flags engine to guard the access to the new product blocks experience (#37122)
Unregister the product-block-editor feature flag from WC Admin Test Helper, and enable product block editor feature.
2023-05-19 12:53:55 -04:00
Nathan Silveira 869b897ddd
Rename tracks event `product_attributes_add` to `product_attributes_save` on the product page and update attributes (#38278)
* Change attributes of tracks event product_attributes_add

* Don't send used_for_variations_count if it's not variable product type

* Explicitly add null values in product_attributes_add when the attribute is sent on the other call

* Rename product_attributes_add on the product page to product_attributes_save
Fix inverted local and global attributes count
Remove unnecessary parameters
Refactor code

* Update changelog
2023-05-19 12:44:54 -03:00
louwie17 2843fbb7a8
Fix editor header hidden in Firefox (#38247)
* Update page config to add support for layout header/footer

* Fix lint error
2023-05-18 13:00:42 -03:00
Joshua T Flowers 81e92392d5
Fix double scrollbars on product editor page (#38281)
* Refactor Layout component to functional component

* Add class to pages based on page path

* Add styling for interface skeleton on product pages

* Add changelog entries

* Move product page styles out of product editor package and into client

* Fix linting issues

* Check for location before checking path in page tracking

* Dont add body classes when no page path exists

* Record page view without router location for embed pages
2023-05-18 05:25:36 -03:00
RJ 00952e8b95
add: core profiler fetch extensions (#38270)
add: fetch extensions and countries from API for core profiler

- prefetch it once in the machine init so that it's instant when used later
- fetch it again in preExtensions state and store it to context
- added prefetch for getCountries as well
2023-05-18 10:50:59 +08:00
Chi-Hsuan Huang dcbfbe2748
Cleanup task list and re-organize file structure (#38271)
* Deprecate onboarding task snooze APIs

* Cleanup task list and organize tasks file structure

* Add changelog

* Fix lint

* Fix tests

* Remove two-columns check logic

* Fix mock path
2023-05-17 09:54:31 +08:00
Maikel David Pérez Gómez 4b3479595b
Only register blocks when user navigates to the product edit page (#38303)
* Remove block registration from within the Editor component

* Expose the initBlocks function to be used outside of the product package

* Register blocks within the ProductPage component

* Add changelog files

* Unregister blocks when product page gets unmounted
2023-05-16 07:41:26 -03:00
RJ 38dc82b4b1
dev: add core profiler state machine tests (#38154)
dev: added tests for core profiler state machine

- added tests to demonstrate model based testing with @xstate/test
2023-05-16 08:56:39 +08:00
Gan Eng Chin 57220390b9
Update Codisto extension description and fix WooCommerce name typo in test. 2023-05-16 00:42:15 +08:00
Moon 0bf6859383
Add Business Location page to the core profiler (#38019)
* Add core profiler - welcome to woo page

* Update checkbox styles

* Add tracks

* Update default tracking value

* Update copies

* using invoked promise instead of useState

- take advantage of xstate's built ins for side effects instead of  useEffect/hooks
- discovered that error result wasn't really handled in original useEffect
- use text labels instead of inline functions so that we can decouple the implementation from the machine model
- todo: can move the invoked function out elsewhere and also tests if needed (not necessary here because it's a simple call)

* add: core profiler scaffolding using xstate

* Add navigation and progress-bar components

* fix css lint error

* Update plugins/woocommerce-admin/client/core-profiler/components/navigation/woologo.tsx

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce-admin/client/core-profiler/components/progress-bar/progress-bar.tsx

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce-admin/client/core-profiler/components/navigation/navigation.tsx

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Remove var from __ function

* Use woocommerce prefix for classnames

* Fix css lint error

* Fix broken tests

* Add business location page

* Remove unwanted changes from rebase

* Remove unwanted changes from rebase

* Redirect to Woo Home on exit

* Add tracks

* Fix js lint error

* Add loader page

* Support meta value from nested states

* Use navigateTo

* Add tests for getCountryStateOptions

* Use Country type from navigation package

* Rename useStages to getLoaderStageMeta

* Add changelog

* Move progress from 20 to 80

* Fix xstate warning

* Fix broken pnpm lock

* Fix eslint errors

* Update plugins/woocommerce-admin/client/core-profiler/services/country.ts

Co-authored-by: RJ <27843274+rjchow@users.noreply.github.com>

* Update plugins/woocommerce-admin/client/core-profiler/index.tsx

Co-authored-by: RJ <27843274+rjchow@users.noreply.github.com>

* Save country to option

* Fix jslint error

* Update plugins/woocommerce-admin/client/core-profiler/services/country.ts

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce-admin/client/core-profiler/style.scss

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Fix eslint error

* Use decodeEntities directly

* Update comment for artificial 3 seconds wait

* Disable Go to my store button when country is empty

* Style for mobile devices

* Style updates for the country dropdown

* Fix js lint error

* Update country dropdown border color

* Style the loader

* Fix css lint

---------

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Co-authored-by: rjchow <me@rjchow.com>
Co-authored-by: RJ <27843274+rjchow@users.noreply.github.com>
2023-05-15 04:56:47 +08:00
Nathan Silveira 345cca1e09
Fix activity panel not showing unread when closed (#38173)
* Create new attribute to calculate more accurately if activity tab has something "new"

* Fix wrong attribute name

* Revert previous change, rename functions and remove isPanelOpen clause from hasAbbreviatedNotifications logic

* Rename functions
2023-05-11 16:07:13 -03:00
Nathan Silveira f668ce72ac
Add tests to tracks events fired through JS (#38124)
* Add test for inbox_note_view event

* Add tracks test for Layout's page_view

* Add test to inbox_action_click

* Add tests to analytics_filter tracks event

* Add tracks event test to activity_panel_open

* Add tests to tracks event activity_panel_orders_orders_begin_fulfillment

* Add tracks tests to activity_panel_stock_update_stock

* Improve tests based on code review comments

* Mock recordEvent and recordPageView globally

* Add missing mock

* Improve inbox panel tests
2023-05-10 09:36:42 -03:00
Chi-Hsuan Huang 687549dc6b
Fix "Marketing & Merchandising" padding on store management panel (#38088)
* Add a 24px spacing between the Manage my store header and the Marketing & Merchandising heading

* Add changelog

* Update store management card style

* Update .woocommerce-store-management-links__card-body padding
2023-05-10 13:02:22 +08:00
Chi-Hsuan Huang 956d09c34b
Fix shipping tour layout context error (#38183)
* Add LayoutContextProvider to embedded body layout to fix shipping tour error

* Show an error notice and record track when failing to update shipping option

* Add changelog

* Update error message

* Remove unused import
2023-05-10 13:01:37 +08:00
Matt Sherman d11f50b5a3
Update empty state for product attributes tab (#38126)
* Remove empty state HTML

* Add empty attribute when product has no attributes

* Remove unused woocommerce_admin_meta_boxes.has_local_attributes

* Remove unused toggle_add_global_attribute_layout

* Remove unused button.add_attribute click handling (button doesn't exist anymore)

* Fix positioning of Expand / Close

* Remove unnecessary add-attribute-container div

* Refactor attribute search selection handling

* Remove empty attribute if adding an existing attribute

* Update e2e test clicking of "Add new" attribute button

* Update Tracks handling for "Add new" attribute button

* Changelog

* Fix action recorded when "Add new" button is clicked

* Remove console.log statements

* Allow propagation of click event on "Create value" button

* Move Tracks wcadmin_product_attributes_buttons action: 'add_existing' to product-tracking TS

* Make function names more descriptive. Add comment to clarify why event.preventDefault is used.
2023-05-09 20:04:29 -04:00
Tomek Wytrębowicz 00c151f9aa
Remove `qs` dependency from `woocommerce-admin` (#35128) 2023-05-09 21:03:25 +02:00
Tomek Wytrębowicz bbf4f47c9c Remove qs dependency from `WCAddonsTour` ,
use native `URLSearchParams` instead.
2023-05-09 14:57:39 +02:00
Chi-Hsuan Huang 2189cb181a
Hide "Upload a logo" step in Personalize task if theme doesn't support it (#38161)
* Hide upload logo step in Personalize task if theme doesn't support it

* Add changelog

* Fix lint
2023-05-09 18:20:18 +08:00
Chi-Hsuan Huang 0148c3eafd
Make all fields in the tax location form mandatory (#38137)
* Make all fields in the tax location form mandatory

* Add changelog
2023-05-09 17:01:37 +08:00
Chi-Hsuan Huang 4a237ca476
Migrate Purchase task and dashboard utils to TS (#37725)
* Fix onboarding productTypes TS define type

* Rename purchase.js -> purchase.tsx

* Rename utils.js -> utils.ts

* Migrate dashboard/util to TS

* Rename tasks fills to index.ts

* Migrate purchase task to TS

* Add changelog

* Fix types

* Update changelog
2023-05-09 11:28:57 +08:00
Jeffrey Paul df0583f9b8
Fix/37502: Correct spelling errors. (#37887)
* change reference of Catpure to Capture

Co-Authored-By: Vikram  <93216400+vikrampm1@users.noreply.github.com>

* change reference of expicitly to explicitly

Co-Authored-By: Vikram  <93216400+vikrampm1@users.noreply.github.com>

* change reference 'cutted' to 'cut'

* change reference 'determening' to 'determining'

* change reference 'retreive' to 'retrieve'

* change reference 'neccessary' to 'necessary'

* change reference 'Fitler' to 'Filter'

* change reference of "seperate" to "separate"

Co-Authored-By: Ankit K Gupta <ankit.himcs@gmail.com>

* change reference of "wether" to "whether"

Co-Authored-By: Sumit Bagthariya <67687255+qasumitbagthariya@users.noreply.github.com>

* change reference of "staus" to "status"

* change reference of "retrive" to "retrieve"

* change references of "gatways" to "gateways"

* change references of "existant" to "existent"

* change reference of "requries" to "requires"

* change reference of "configuation" to "configuration"

* change reference of "processsing" to "processing"

* change reference of "represenation" to "representation"

* change reference of "dimentions" to "dimensions"

* change references of "reigster" to "register"

* change reference of "colum" to "column"

* change reference of "transtions" to "transitions"

* change references of "intially" to "initially"

* change references of "orignal" to "original"

* change references of "deprected" to "deprecated"

* change references of "paramter" to "parameter"

* change reference of "intance" to "instance"

* change reference of "elemets" to "elements"

* change references of "funcitons" to "functions"

* change reference of "specificed" to "specified"

* change references of "atributes" to "attributes"

* change reference of "tast" to "task"

* change reference of "chaning" to "changing"

* change reference of "retreiving" to "retrieving"

* change reference of "caluclation" to "calculation"

* change references of "Invaid" to "Invalid"

* change references of "paramaters" to "parameters"

* change reference of "Additonal" to "Additional"

* change reference of "teh" to "the"

* change reference of "evalutes" to "evaluates"

* change reference of "addedd" to "added"

* change reference of "excempt" to "exempt"

* change reference of "sequencially" to "sequentially"

* change reference of "previos" to "previous"

* change reference of "elegible" to "eligible"

* change references of "Boostrap" to "Bootstrap"

* change references of "compability" to "compatibility"

* change reference of "heirarchy" to "hierarchy"

* change references of "visibilty" to "visibility"

* change reference of "comparsion" to "comparison"

* change reference of "capabilties" to "capabilities"

* change reference of "datatores" to "datastores"

* change reference of "occured" to "occurred"

* change reference of "coresponding" to "corresponding"

* change references of "thier" to "their"

* change reference of "sucessfully" to "successfully"

* change reference of "insde" to "inside"

* change reference of "nagivation" to "navigation"

* change references of "visiblity" to "visibility"

* change reference of "documentaiton" to "documentation"

* change reference of "anayltics" to "analytics"

* change reference of "intalling" to "installing"

* change reference of "mininum" to "minimum"

* change references of "intial" to "initial"

* change reference of "Feld" to "Field"

* change reference of "taks" to "task"

* change reference of "trasnfer" to "transfer"

* change reference of "respone" to "response"

* change reference of "Extenstions" to "Extensions"

* change reference of "detault" to "default"

* change reference of "simultanious" to "simultaneous"

* change reference of "overides" to "overrides"

* change references of "Indvidual" to "Individual"

* change reference of "refering" to "referring"

* change reference of "aginst" to "against"

* change reference of "execuatable" to "executable"

* change reference of "repsonse" to "response"

* change reference of "documention" to "documentation"

* change reference of "asumed" to "assumed"

* change reference of "Minium" to "Minimum"

* change reference of "unqiue" to "unique"

* change references of "existance" to "existence"

* change reference of "compatability" to "compatibility"

* change reference of "Taxnomy" to "Taxonomy"

* change reference of "quering" to "querying"

* change reference of "retrun" to "return"

* change reference of "informations" to "information"

Co-Authored-By: Viktor Szépe <viktor@szepe.net>

* Add changelog

* Add changelog

* Fix typo

---------

Co-authored-by: Vikram  <93216400+vikrampm1@users.noreply.github.com>
Co-authored-by: Ankit K Gupta <ankit.himcs@gmail.com>
Co-authored-by: Sumit Bagthariya <67687255+qasumitbagthariya@users.noreply.github.com>
Co-authored-by: Viktor Szépe <viktor@szepe.net>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2023-05-08 15:55:09 +08:00
Chi-Hsuan Huang 3f0219b1bc
Fix misaligned loading sample product's progress message (#38107)
* Fix misaligned loading sample products modal

* Add changelog

* Fix misaligned loading sample product confirm modal
2023-05-08 12:19:55 +08:00
Tomek Wytrębowicz 0d45b0f107 Merge branch 'trunk' into remove/qs 2023-05-07 16:18:32 +02:00
aezazs-multidots 24a59c8d59
updated product description tips text (#38070)
* updated product description tips text

* Add Description in changelog
2023-05-05 20:10:58 +08:00
Chi-Hsuan Huang 208ac81ba3
Fix tasklist completion message when no tasks are completed (#38092)
* Fix task list progress title

* Add changelog
2023-05-05 17:48:10 +08:00
Chi-Hsuan Huang ef7bf6a28b
Update Payfast logo and title (#38090)
* Update Payfast title

* Update Payfast logo

* Add changelog

* Update Payfast 72x72 logo
2023-05-05 15:42:47 +08:00
Chi-Hsuan Huang ea58ae339a
Add core profiler "Welcome to Woo!" page (#37952)
* Add core profiler - welcome to woo page

* Add changelog

* Update checkbox styles

* Update copies

* Add test

* Add enable prop to window.wcTracks type

* Add tracks

* Add explat changelog

* Fix import

* Update default tracking value

* Update copies

* Fix test

* using invoked promise instead of useState

- take advantage of xstate's built ins for side effects instead of  useEffect/hooks
- discovered that error result wasn't really handled in original useEffect
- use text labels instead of inline functions so that we can decouple the implementation from the machine model
- todo: can move the invoked function out elsewhere and also tests if needed (not necessary here because it's a simple call)

* use actions.choose instead of branching inside action 

- https://stately.ai/docs/xstate/transitions-and-choices/guarded-actions#the-choose-action
- makes it so that the machine model is serializeable
- todo: in the distant future i wonder if it might be tidier to have tracks be its own actor that just receives the same events that this machine does, that way it's just standalone instead of mixing up tracks with the implementation

* use dispatch instead of useDispatch

- decouples the implementation of the handler from the react component
- makes the handler testable on its own if needed
- makes the state machine testable without relying on external dependencies

* decoupled remaining function calls

* Fix lint error

* Fix style lint

* address xstate console warnings

- .withConfig() is a function call that returns a new object every invocation so we need to wrap it in useMemo to keep it stable

* Add optInDataSharing is false test

* Fix lint

---------

Co-authored-by: rjchow <me@rjchow.com>
2023-05-03 15:54:28 +08:00
Joel Thiessen 3679f019bb
Adding attributes block to product block editor. (#38051) 2023-05-02 21:13:48 -07:00
Matt Sherman 94599a14cf
Add product type options to product tracking (#38017)
* Add product_type_options to wcadmin_product_add_publish
* Add product_type_options to wcadmin_product_update
* Add product_type_options to other wcadmin_product_ events
2023-05-02 13:42:57 -04:00
Nathan Silveira 4145b6e0f7
Await triggerNoteAction before navigating when action is clicked (#38047)
* Await triggerNoteAction before navigating when action is clicked

* Add additional logic and use @woocommerce/navigation to navigate
2023-05-02 11:17:50 -03:00