* Migrate onboarding from wc-api to wp-data store
* Add tests for onboarding reducer
* Update references to onboarding data store
* Update tests for replacing profileItems
* Add onboarding hydration for profile items
* Prevent store from being registered twice
* Add requesting state to onboarding store
* Prevent duplicate registration on all wp data stores
* Update more components to use new wp data onboarding store
* Add tests for onboarding requesting state
* Update isRequesting to use isOnboardingRequesting
* Add method to send WC profile data after profiler completion
* Send profiler data if complete on a newly connected site
* Check for put method existence before using the helper API
* Only send wc profile data if opted into tracking
* Update task list to closer match new designs.
* Update TaskList placeholder to match the new design.
* Hook up store details task click.
* Don't show "skip" prompt for task list on new home screen.
* Update time estimates for tasks.
* Add progress indicator to TaskList.
* Use null container for store details task.
* Fix progress bar styling.
* Just use card menu for TaskList dismissal.
* Don't show TaskList on analytics overview if homepage feature is enabled.
* Initial refactor of TaskList to use WP card.
* Style TaskList items and card header.
* Style "hide" button for TaskList.
* Don't show TaskList after it's completion.
* Don't show TaskList placeholder when options are still loading.
Avoid a potential flash of the placeholder without showing the TaskList.
* Fix border radius on progress bar.
* Fix TaskList header style with homepage feature disabled.
* Remove defunct function.
* Remove unnecessary import.
* Some minor color tweaks (https://github.com/woocommerce/woocommerce-admin/pull/4436)
* Colors
* Only show time estimation for incomplete tasks
* Don't show chevron on completed tasks.
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
* Preload task list completed option, show placeholder when loading.
* Fix alignment of "hide this" button.
Co-authored-by: James Koster <james@jameskoster.co.uk>
* Allow plugins API to install multiple plugins at once
* Update wpdata to handle installing multiple plugins and errors
* Remove client-side error message switch
* Update plugin tests for multiple plugins param
* Update plugins API to WP standards
* Add error for non-allowed plugins instead of silently failing
* Allow error handling for individual plugins
* Fix up js tests for new API response
* Add installed plugin to response on successful install
* Add install Jetpack CTA to stats on home page
* Fix installed/activated logic and change the install text depending on the plugin state
* Hold user data properly so it works
* Fix hover and focus styles for the primary button
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Add note traits to check for existence and generic conditions
* Add new note type for marketing notes
* Delete marketing notes when opted out
* Add tests for marketing notes
* Move TaskList component up in directory tree.
* Render the TaskList on the new home screen.
* Render single tasks in isolation on new home screen.
* Fix "is requesting" selection for options API.
* Add loading placeholder for TaskList.
* Add initial test for the task list on the home screen.
* Fix dynamic imports under test.
* Add test for inline TaskList on home screen.
* Test that single task view works on new home screen.
* Restore Jest mocks between tests.
* Fix linting errors.
* Fix WCPay task Settings link
Fixeswoocommerce/woocommerce-admin#4293 by setting link type for new pageload.
* Check for success query param to show notice
* Shrink WCPay task footnote so it fits in one line
* Remove unnecessary Fragment wrapper
* Omit option update from client side
The payment method is already enabled when the connection is finalized on redirect.
* Add getInAppPurchaseUrl lib function
* Implement getInAppPurchaseUrl for marketing tab
* Include the directory with the wccom-site param
* use getInAppPurchaseUrl helper function in onboarding CartModal component
* Fix 'addQueryArgs' is defined but never used
* Fix Missing JSDoc @return description
* Make connectNonce setting a global setting rather than a marketing once
Co-authored-by: Jason Conroy <jason@findingsimple.com>
* Allow updateActivePlugins to add new plugins instead of replace
* Add autoConnect prop to Jetpack Connect component
* Add connect component to plugin benefits screen
* Add onError and missing prop types for Connect
* Update redirect URL after Jetpack connection
* Add tests for added active plugins
* Skip install if plugin error exists
* Update active and installed plugins to use replace flag
* Update tests to handle replace flag
* Refactor plugin install flow pending state
* Release: 1.2.0
* Updates per feedback.
* Get installed plugins from new plugin settings object. (https://github.com/woocommerce/woocommerce-admin/pull/4357)
* Bumping version numbers
* synch package-lock.json with master
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
* Move allowed report analytics data to separate function
* Add function to retrieve allowed Jetpack module endpoints
* Fix API urls
* Add number format as default for jetpack modules
* Add module permissions and format to array
* Add filter for returned data from performance indicators API
* Filter jetpack stats by queried dates
* Fix empty date query filtering
* Mock the Jetpack API response
* Add tests for Jetpack stats in allowed endpoints
* Add tests for filtering Jetpack stats based on time
* Add tests for default args
* Fixwoocommerce/woocommerce-admin#4086 misaligned 'required' text on selects
* rework this so that the issue is fixed in the select control itself
Co-authored-by: Rebecca Scott <me@becdetat.com>
* New notification: How to draw attention to your online store
# Conflicts:
# src/FeaturePlugin.php
* Get the option from the arguments
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Add Storybook console addon.
* Add Link stories for all link types.
* Add unit tests for Link component.
* Add unit tests for List component.
* Add support for List item `listItemTag`.
* Document the `woocommerce_admin_is_loading` filter.
* Prevent dashboard from being visible during ProfileWizard chunk load.
* Delay removing loading class rather than adding full screen class prematurely.
* Remove welcome note
* Remove store notice setting note
* Remove review your experience note
* Add tests for delete_notes_with_name
* Add filter support so that other code can add notes to be deleted on upgrade.
* Homwpage: add stats overview stat toggle
* toggle stats
* fix
* tests
* better hook name
* clean up
* add back in Fragment
* remove extra prop
* better test name
* Save payment skipped and event timestamp to options
* Add payments note
* Convert payments task timestamp to seconds
* Skip payments note if skip timestamp is not set
* Use lazy loading to split up the size of the js downloaded
* Use lazy loading to split up the size of the js downloaded
* Add Moment Timezone plugin to reduce size of data file.
* Lazy load header panels and use Dashicons for faster loading
* Load assets from the correct publicPath
* Load assets from the correct publicPath
* PHP cs fixes
* Fix missing quotes on string literal.
* Fix PropType warning for lazy loaded component.
* Separate the task list and dashboard chunks.
* Lazy load dashboard sections.
* Restore original icons and reduce size by importing only the icons needed
* Lazy load alerts to save more Kb on initial load
* Minify built JS in production mode.
* Add preload tags for WC Admin assets. (https://github.com/woocommerce/woocommerce-admin/pull/4162)
* Fix linting errors.
* Add modified UnminifiedWebpackPlugin.
* Produce minified and unminified bundles for all builds.
* Remove unused variable from webpack config.
* Run unminify after sourcemap generation.
* Only hook after optimization if we're using a devtool.
* Add minification suffix in Loader::get_url().
* Lazy load OBW on new home screen.
* Move OBW style up a level to layout.
* Hydrate ProfileWizard independently of withSelect and withDispatch
* Fix order of composition and fallback function when using hydration.
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Fix sorting to push Storefront to the top of the theme list
* Add test to ensure Storefront is sorted in get_themes()
* copy paste cleanup
* Refactor sorting logic.
* Fix linting errors
* Updates per feedback.
* Add check for products property
* Fix for 5.6 CI.
* Oh hey another CI fix
Co-authored-by: Timmy Crawford <timmydcrawford@gmail.com>
* Move ProfileWizard component out of Dashboard.
* Don't trigger the OBW from the Analytics Dashboard (with new home screen).
* Trigger OBW from the new home screen.
* Fix duplicate import.
* Specify home screen in tracks event when enabled.
* Add Jetpack info to home page Tracks event.
* Use @wordpress/data's withSelect - no need for wc-api.
* Add plugins hydration to existing compose() call.
* Safer access of wcSettings object in plugins hydration.
* Remove redundant plugins hydration from TaskList and ProfileWizard.
* Add base nav component
* Check if current screen is WC registered page
* Add core menu items
* Add param for menu items to migrate and hide old menu items
* Add body classes for wc navigation
* Check capability before adding menu items
* Add submenu items to frontend component
* Hide wc nav behind option
Co-authored-by: Joshua Flowers <joshuatf@gmail.com>
* Add allowMarketplaceSuggestions to woocommerce_shared_settings
* Convert to functional component
* Hide ReccomendedExtensions card if opted out from marketing suggestions
* Change "Demo" to "Sample" products
A few years ago we had a discussion on the name of the files for test products and we choose "sample" data over "dummy" data. I think we should likely stick to that naming (which is also the name of the folder and the files in WC core: https://github.com/woocommerce/woocommerce/tree/master/sample-data)
This commit changes that wording
* Small update in caps of "Build a better WooCommerce"
All titles and questions in the new onboarding wizards only capitalise names and the first letter of the sentence. This seemed a tiny bit off.
* Remove auto connect steps from Stripe payment task
As of May 31 the API for stripe account auto creation will no longer be
supported. As a result, the Stripe payment on-boarding step will no
longer be able to auto create accounts for users.
This removes all auto connect functionality from this step, and instead
falls back to the oAuth setup flow.
See:
https://wcpay.wordpress.com/2020/02/06/stripe-ending-support-for-the-deferred-account-activation-api-on-may-31/#comment-2080
* Fix logic to decide which connect method to render
When the Stripe component renders for the first time, it
always returns the manual connect method. This is because there is
an additional call to requiresManualConfig() in getConnectStep which
looks for values in activePlugins that won't be present on the initial
component render.
This removes this check and instead relies on the isPending state to
help decide to render a connect method or wait for oAuth connectURL
to finish fetching.
* Remove redundant error modal render method
This removes the error modal render method as it is also no longer
needed with the removal of auto account creation.
This also removes errorMessage and errorTitle state along with any
references to these values.
* Changed email marketing note and the old filter was removed
The email marketing note was modified. Also, the old filter was removed.
* This note is not using NoteTraits anymore.
The NoteTraits reference was removed because the note is not using it anymore.
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Changed element that is compared after choosing a theme
Onboarding - There was a problem in the theme verification where at the end of the profiler it always went into the installation flow. This problem was solved in this commit.
* Added check to choose the right flow (install or activate plugin)
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Plugins DataStore: decouple from onboarding (https://github.com/woocommerce/woocommerce-admin/pull/4048)
* Plugins DataStore: Add client side store
* change active_plugins to public static function
* don't change shape of allowed plugins