Commit Graph

1417 Commits

Author SHA1 Message Date
Joshua T Flowers d14fd4dbe1 Migrate onboarding data store to wp data (https://github.com/woocommerce/woocommerce-admin/pull/4433)
* 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
2020-05-28 11:51:40 +03:00
Jeff Stieler cd146b388e Update TaskList design (https://github.com/woocommerce/woocommerce-admin/pull/4434)
* 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>
2020-05-27 10:08:39 -06:00
Bec Scott 925db4dfd6 Add install Jetpack CTA to stats on home page (https://github.com/woocommerce/woocommerce-admin/pull/4442)
* 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>
2020-05-27 12:38:57 +10:00
Jason Conroy 308a14ff38 Bind onClick event handler for marketing kb article click (https://github.com/woocommerce/woocommerce-admin/pull/4437) 2020-05-26 08:33:58 +09:30
Paul Sealock 96a4856940 OBW: Get utils plugins data from wp.data (https://github.com/woocommerce/woocommerce-admin/pull/4362)
* OBW: utils, get plugins from dataStore

* better

* add installedPlugins argument
2020-05-25 12:26:08 +12:00
Joshua T Flowers 3a88b6f980 Add setting to see if WcPay is configured (https://github.com/woocommerce/woocommerce-admin/pull/4145) 2020-05-22 13:40:10 +03:00
Jeff Stieler 3c8490c26b Add existing TaskList component to new home screen (https://github.com/woocommerce/woocommerce-admin/pull/4378)
* 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.
2020-05-21 11:15:08 -06:00
Paul Sealock fbd41ceca7 Homepage: Style summary numbers (https://github.com/woocommerce/woocommerce-admin/pull/4370)
* Homwpage: add SummaryNumbers to display data

* fixup merge styles

* move style overrides to stats-list
2020-05-21 10:15:18 +12:00
Paul Dechov 0972cac0d0 Task List: Small fixes and adjustments to WCPay task (https://github.com/woocommerce/woocommerce-admin/pull/4373)
* Fix WCPay task Settings link

Fixes woocommerce/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.
2020-05-20 14:25:28 -04:00
Ron Rennick 756dd8c1de make revenue total sales column optional (https://github.com/woocommerce/woocommerce-admin/pull/4397) 2020-05-20 13:03:30 -03:00
Matt Sherman 039626649b Home Screen: Switch to @wordpress/icons on Store Management (Quick Links) card (https://github.com/woocommerce/woocommerce-admin/pull/4400) 2020-05-20 09:34:49 -04:00
Joshua T Flowers 1f11358cfb Separate Jetpack connection logic in shipping task (https://github.com/woocommerce/woocommerce-admin/pull/4381)
* Separate Jetpack connection logic in shipping task

* Don't check for Jetpack activation on Connect step
2020-05-20 12:43:09 +03:00
Daniel Bitzer c6371c32db Fix in app purchase back link for recommend marketing extensions card (https://github.com/woocommerce/woocommerce-admin/pull/4301)
* 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>
2020-05-20 15:03:58 +09:30
Matt Sherman d1ec055035 Home Screen: Add Store Management (Quick Links) card (https://github.com/woocommerce/woocommerce-admin/pull/4350) 2020-05-19 09:16:19 -04:00
Paul Sealock f45fecfbed Advanced Filters: fix currency initialization (https://github.com/woocommerce/woocommerce-admin/pull/4356)
* Advanced Filters: fix currency initialization

* fix readme

* get formatCurrency method
2020-05-19 14:38:02 +12:00
Joshua T Flowers 65145bf92c Add Jetpack connection to plugin benefits step (https://github.com/woocommerce/woocommerce-admin/pull/4374)
* 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
2020-05-19 12:47:25 +12:00
Joshua T Flowers 35616d5f22 Enable tracking on the fly during onboarding (https://github.com/woocommerce/woocommerce-admin/pull/4368)
* Enable the tracking scripts from client-side on opt-in

* Add more info to tracks debug

* Disable tracks if opted out
2020-05-18 13:35:50 -06:00
Paul Sealock 8430b1cba7 Homepage: Add stats numbers (https://github.com/woocommerce/woocommerce-admin/pull/4288) 2020-05-14 15:23:03 +12:00
Jeff Stieler 3e48eba385 Get installed plugins from new plugin settings object. (https://github.com/woocommerce/woocommerce-admin/pull/4357) 2020-05-12 18:29:41 -06:00
Paul Sealock 4beb28ce20 Homepage: Add layout with sticky columns (https://github.com/woocommerce/woocommerce-admin/pull/4347)
* Add homepage layout

* temp tests

* remove test placeholder

* functional component

* remove errant comment
2020-05-13 11:14:08 +12:00
Bec Scott 88a9f1c415 Guard against null themes (https://github.com/woocommerce/woocommerce-admin/pull/4244)
Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-05-08 17:12:37 +10:00
Paulo Iankoski 015fc89dbd Increase selector specificity (https://github.com/woocommerce/woocommerce-admin/pull/4289)
* Increase selector specificity

* Include exception for some WC pages

Co-authored-by: Paulo Iankoski <me@wpdev.com.br>
2020-05-07 09:17:50 +10:00
Jeff Stieler 4f48ae9fb7 Fix Dashboard flash before OBW chunk loads. (https://github.com/woocommerce/woocommerce-admin/pull/4259)
* 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.
2020-05-06 06:56:23 -06:00
Paul Sealock 3fc69b9739 Homepage: Add stats overview selection (https://github.com/woocommerce/woocommerce-admin/pull/4264)
* 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
2020-05-05 10:58:39 +12:00
Joshua T Flowers 586760c561 Adds the onboarding payments note (https://github.com/woocommerce/woocommerce-admin/pull/4157)
* 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
2020-05-04 14:33:11 +03:00
David Stone 8ebd33fe6b Use Route based code splitting to optimize bundle size (https://github.com/woocommerce/woocommerce-admin/pull/4094)
* 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>
2020-04-29 12:01:27 -06:00
Chris Shultz f401b852f1 Make button hover color match WCS modal button hover color. (https://github.com/woocommerce/woocommerce-admin/pull/4230) 2020-04-28 07:25:28 -07:00
Paul Sealock 612790227c Add React Testing Library (https://github.com/woocommerce/woocommerce-admin/pull/4221) 2020-04-28 10:15:40 +12:00
Jeff Stieler e893ce3c54 Fix OBW when new home screen is enabled. (https://github.com/woocommerce/woocommerce-admin/pull/4215)
* 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.
2020-04-27 08:56:15 -06:00
Jeff Stieler 6140e7994f New home screen pageview tracking (https://github.com/woocommerce/woocommerce-admin/pull/4189)
* 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.
2020-04-27 08:41:26 -06:00
Ron Rennick 5b201365dd POC store navigation (https://github.com/woocommerce/woocommerce-admin/pull/3202)
* 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>
2020-04-27 12:30:32 +03:00
Daniel Bitzer 16fdae3d06 Hide Marketing Tab Recomended Extensions card if marketing suggestions are disabled (https://github.com/woocommerce/woocommerce-admin/pull/4194)
* Add allowMarketplaceSuggestions to woocommerce_shared_settings

* Convert to functional component

* Hide ReccomendedExtensions card if opted out from marketing suggestions
2020-04-24 15:41:57 -07:00
Job 41f3859ad5 Change "Demo" to "Sample" products (https://github.com/woocommerce/woocommerce-admin/pull/4184)
* 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.
2020-04-24 12:23:45 +02:00
Rasmy Nguyen 4fd6a17154 Remove auto connect functionality from Stripe payment task (https://github.com/woocommerce/woocommerce-admin/pull/4164)
* 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.
2020-04-24 09:28:29 +09:00
Paul Sealock 2f8ba63ec0 Homepage: Add Hello World, routing, and feature flag (https://github.com/woocommerce/woocommerce-admin/pull/4169)
* Homepage: Add hello world

* check feature flag

* homepage folder

* whitespace
2020-04-23 09:32:44 +12:00
Jeff Stieler 267c95e8d5 Reduce queries in Inbox Panel. (https://github.com/woocommerce/woocommerce-admin/pull/3977)
* Notes panel: only request fields needed for render.

* Avoid retrieving post meta for WC_Admin_Note objects.

It's an ID collision anyhow.
2020-04-22 10:05:11 -06:00
Fernando 9712f4259c OBW: "activated" success message upon continuing with existing theme (https://github.com/woocommerce/woocommerce-admin/pull/4148)
* 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>
2020-04-21 09:13:04 -03:00
Joshua T Flowers acd158057c Add profiler step view tracks (https://github.com/woocommerce/woocommerce-admin/pull/4141)
* Add profiler step view tracks

* Track plugins to install on benefits screen

* Use getCurrentStep method instead of prop query to check step
2020-04-21 12:19:32 +03:00
Paul Sealock 8e22e30228 OBW: respect Store Location async (https://github.com/woocommerce/woocommerce-admin/pull/4149)
* OBW: respect Store Location async

* Fix "Configure" button on "Configure tax rates" step

* Wait and check for settings errors when updating automated tax

* remove this.completeStep() froom async callback

* Revert "remove this.completeStep() froom async callback"

This reverts commit 51a43b31d779db6aa4587ee1dd0a8fb012728439.

* Check if update hasn't already put user on success screen

Co-authored-by: Matt Sherman <matt@jam123.com>
2020-04-21 12:12:38 +12:00
Paul Sealock 28c85668fb Plugins: Move API out of Onboarding (https://github.com/woocommerce/woocommerce-admin/pull/4093)
* 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
2020-04-20 14:04:13 +12:00
Daniel Bitzer bceb25ba0f Improve layout of Installed Extensions marketing card for tablet and mobile screens (https://github.com/woocommerce/woocommerce-admin/pull/4063)
* Set a max word length for the installed extension descriptions

* Improve InstalledExtensions layout for tablet and mobile

Mobile still needs work…

* Align product icon to top

* Tweak WelcomeCard mobile appearance

* Fix alignment
2020-04-17 11:27:22 -07:00
Paul Sealock c500d3fa98 Plugins DataStore: decouple from onboarding (https://github.com/woocommerce/woocommerce-admin/pull/4048)
* Plugins DataStore: Add client side store
2020-04-17 11:58:36 +12:00
Daniel Bitzer ae526f7e1e Fix confusing UX when knowledge base card fails to retreive posts (https://github.com/woocommerce/woocommerce-admin/pull/4133)
* Use EmptyContent component when there are no knowledge base posts

* Reduce transient timeout to 15 mins when remote get fails

* Satisfy phpcs

* Satisfy jslint
2020-04-16 10:19:20 +09:30
Paul Sealock 67b417af03 Store details: check if industries exist before trimming (https://github.com/woocommerce/woocommerce-admin/pull/4120) 2020-04-14 11:46:41 -07:00
Paul Sealock 61f650a2a2 OBW: allow CBD only for US stores (https://github.com/woocommerce/woocommerce-admin/pull/4117)
* OBW: allow CBD only for US stores

* fix if user goes back

* industry.js feedback

* store-details feedback

* better naming
2020-04-14 13:41:51 +12:00
Fernando b96ee37992 Onboarding - business details step: increase max-height on competitors listbox (https://github.com/woocommerce/woocommerce-admin/pull/4111)
* Enlarged competitors' Listbox in the Onboarding

Onboarding - Added a new class to enlarge the competitors' Listbox in the Business details step.

* Replaced fixed height with unset

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2020-04-13 11:43:57 -03:00
Harris Wong 75522436f4 Overwrite button overflow css from Wordpress 5.4 defaults (https://github.com/woocommerce/woocommerce-admin/pull/4108) 2020-04-10 09:54:06 -06:00
Jeff Stieler 9973e7e36f Handle orphaned order statuses in analytics settings. (https://github.com/woocommerce/woocommerce-admin/pull/4090)
* Add method to retrieve all synced order statuses.

* Determine what unregistered order statuses we have and add to client-side settings object.

* Stop filtering out unregistered statuses from analytics settings.

* Add unregistered statuses to analytics settings fields.
2020-04-10 08:42:03 -06:00
Fernando 1e1daaa6bb Added check to show WC Pay option only when Jetpack is connected (https://github.com/woocommerce/woocommerce-admin/pull/4105)
* Added check to show WC Pay option only when Jetpack is connected

A verification was added to the Setup Checklist payment step, to show WC Pay option only when Jetpack is connected

* Changed the solution approach

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2020-04-10 11:10:47 +12:00
Fernando 866487ee27 Bugfix on payments step in CBD flow (https://github.com/woocommerce/woocommerce-admin/pull/4061)
* Bugfix on payments step in CBD flow

The `array_search` method was changed to `in_array`

* After pressing Connect a new tab opens with the Square webpage

* Updated behavior for non CBD Square payment connection

* Square option's name updated

* Replaced <p> tag with a <div> tag

Since there was a `validateDOMNesting` warning because we weren't adding only text inside a <p> tag, the `p` tag was changed to a `div`.

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2020-04-08 16:17:32 -07:00