diff --git a/assets/js/editor-components/incompatible-extension-notice/index.tsx b/assets/js/editor-components/incompatible-extension-notice/index.tsx index 3e41b2e5d13..18a0e40f6e4 100644 --- a/assets/js/editor-components/incompatible-extension-notice/index.tsx +++ b/assets/js/editor-components/incompatible-extension-notice/index.tsx @@ -66,7 +66,7 @@ export function IncompatibleExtensionsNotice( { sprintf( // translators: %s is the name of the parent block. __( - 'The following extensions may be incompatible with the block-based %s. Learn more', + 'Some extensions do not yet support the new %s and may impact the shopper experience. Learn more', 'woo-gutenberg-products-block' ), blockLabel @@ -81,7 +81,7 @@ export function IncompatibleExtensionsNotice( { sprintf( // translators: %1$s is the name of the extension, %2$s is the name of the parent block. __( - '%1$s may be incompatible with the block-based %2$s. Learn more', + '%1$s does not yet support the new %2$s and may impact the shopper experience. Learn more', 'woo-gutenberg-products-block' ), Object.values( incompatiblePaymentMethods )[ 0 ], diff --git a/src/Domain/Bootstrap.php b/src/Domain/Bootstrap.php index 9448126ab1a..301a93a9ea7 100644 --- a/src/Domain/Bootstrap.php +++ b/src/Domain/Bootstrap.php @@ -36,6 +36,7 @@ use Automattic\WooCommerce\Blocks\Shipping\ShippingController; use Automattic\WooCommerce\Blocks\Templates\SingleProductTemplateCompatibility; use Automattic\WooCommerce\Blocks\Templates\ArchiveProductTemplatesCompatibility; +use Automattic\WooCommerce\Blocks\Domain\Services\OnboardingTasks\TasksController; /** * Takes care of bootstrapping the plugin. @@ -129,6 +130,7 @@ function() { $this->container->get( DraftOrders::class )->init(); $this->container->get( CreateAccount::class )->init(); $this->container->get( ShippingController::class )->init(); + $this->container->get( TasksController::class )->init(); // Load assets in admin and on the frontend. if ( ! $is_rest ) { @@ -137,6 +139,7 @@ function() { $this->container->get( AssetsController::class ); $this->container->get( Installer::class )->init(); $this->container->get( GoogleAnalytics::class )->init(); + } // Load assets unless this is a request specifically for the store API. @@ -431,6 +434,12 @@ function ( $container ) { return new ShippingController( $asset_api, $asset_data_registry ); } ); + $this->container->register( + TasksController::class, + function() { + return new TasksController(); + } + ); } /** diff --git a/src/Domain/Services/OnboardingTasks/ReviewCheckoutTask.php b/src/Domain/Services/OnboardingTasks/ReviewCheckoutTask.php new file mode 100644 index 00000000000..5dbaff95929 --- /dev/null +++ b/src/Domain/Services/OnboardingTasks/ReviewCheckoutTask.php @@ -0,0 +1,86 @@ + 0; + } + + /** + * Action URL. + * + * @return string + */ + public function get_action_url() { + $checkout_page_id = wc_get_page_id( 'checkout' ); + + return admin_url( 'site-editor.php?postType=page&postId=' . $checkout_page_id ); + } +} diff --git a/src/Domain/Services/OnboardingTasks/TasksController.php b/src/Domain/Services/OnboardingTasks/TasksController.php new file mode 100644 index 00000000000..2e1258b2bcc --- /dev/null +++ b/src/Domain/Services/OnboardingTasks/TasksController.php @@ -0,0 +1,29 @@ +