Implement customize your store task completion logic (#40267)
* Mark CYS task completed when clicking done button * Mark CYS task completed after switching theme * Add changefile(s) from automation for the following project(s): woocommerce --------- Co-authored-by: github-actions <github-actions@github.com>
This commit is contained in:
parent
5e88b001fa
commit
0b7aee458f
|
@ -5,6 +5,8 @@ import { Sender, createMachine } from 'xstate';
|
|||
import { useEffect, useMemo, useState } from '@wordpress/element';
|
||||
import { useMachine, useSelector } from '@xstate/react';
|
||||
import { getQuery, updateQueryString } from '@woocommerce/navigation';
|
||||
import { OPTIONS_STORE_NAME } from '@woocommerce/data';
|
||||
import { dispatch } from '@wordpress/data';
|
||||
|
||||
/**
|
||||
* Internal dependencies
|
||||
|
@ -57,6 +59,12 @@ const updateQueryStep = (
|
|||
}
|
||||
};
|
||||
|
||||
const markTaskComplete = async () => {
|
||||
return dispatch( OPTIONS_STORE_NAME ).updateOptions( {
|
||||
woocommerce_admin_customize_store_completed: 'yes',
|
||||
} );
|
||||
};
|
||||
|
||||
const browserPopstateHandler =
|
||||
() => ( sendBack: Sender< { type: 'EXTERNAL_URL_UPDATE' } > ) => {
|
||||
const popstateHandler = () => {
|
||||
|
@ -81,6 +89,7 @@ export const customizeStoreStateMachineServices = {
|
|||
...introServices,
|
||||
...transitionalServices,
|
||||
browserPopstateHandler,
|
||||
markTaskComplete,
|
||||
};
|
||||
export const customizeStoreStateMachineDefinition = createMachine( {
|
||||
id: 'customizeStore',
|
||||
|
@ -220,6 +229,14 @@ export const customizeStoreStateMachineDefinition = createMachine( {
|
|||
},
|
||||
},
|
||||
postAssemblerHub: {
|
||||
invoke: {
|
||||
src: 'markTaskComplete',
|
||||
onDone: {
|
||||
target: 'waitForSitePreview',
|
||||
},
|
||||
},
|
||||
},
|
||||
waitForSitePreview: {
|
||||
after: {
|
||||
// Wait for 5 seconds before redirecting to the transitional page. This is to ensure that the site preview image is refreshed.
|
||||
5000: {
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
Significance: patch
|
||||
Type: update
|
||||
|
||||
Implement customize your store task completion logic
|
|
@ -214,6 +214,7 @@ class Options extends \WC_REST_Data_Controller {
|
|||
'wcpay_welcome_page_viewed_timestamp',
|
||||
'wcpay_welcome_page_exit_survey_more_info_needed_timestamp',
|
||||
'woocommerce_customize_store_onboarding_tour_hidden',
|
||||
'woocommerce_admin_customize_store_completed',
|
||||
// WC Test helper options.
|
||||
'wc-admin-test-helper-rest-api-filters',
|
||||
'wc_admin_helper_feature_values',
|
||||
|
|
|
@ -16,7 +16,9 @@ class CustomizeStore extends Task {
|
|||
*/
|
||||
public function __construct( $task_list ) {
|
||||
parent::__construct( $task_list );
|
||||
|
||||
add_action( 'admin_enqueue_scripts', array( $this, 'possibly_add_site_editor_scripts' ) );
|
||||
add_action( 'after_switch_theme', array( $this, 'mark_task_as_complete' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -189,4 +191,11 @@ class CustomizeStore extends Task {
|
|||
Jetpack_Gutenberg::enqueue_block_editor_assets();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark task as complete.
|
||||
*/
|
||||
public function mark_task_as_complete() {
|
||||
update_option( 'woocommerce_admin_customize_store_completed', 'yes' );
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue