32 lines
1012 B
TypeScript
32 lines
1012 B
TypeScript
|
/**
|
||
|
* External dependencies
|
||
|
*/
|
||
|
import { registerPlugin } from '@wordpress/plugins';
|
||
|
import { WooOnboardingTaskListItem } from '@woocommerce/onboarding';
|
||
|
import { getAdminLink } from '@woocommerce/settings';
|
||
|
|
||
|
const CustomizeStoreTaskItem = () => (
|
||
|
<WooOnboardingTaskListItem id="customize-store">
|
||
|
{ ( {
|
||
|
defaultTaskItem: DefaultTaskItem,
|
||
|
}: {
|
||
|
defaultTaskItem: ( props: { onClick: () => void } ) => JSX.Element;
|
||
|
} ) => (
|
||
|
<DefaultTaskItem
|
||
|
onClick={ () => {
|
||
|
// We need to use window.location.href instead of navigateTo because we need to initiate a full page refresh to ensure that all dependencies are loaded.
|
||
|
window.location.href = getAdminLink(
|
||
|
'admin.php?page=wc-admin&path=%2Fcustomize-store'
|
||
|
);
|
||
|
} }
|
||
|
/>
|
||
|
) }
|
||
|
</WooOnboardingTaskListItem>
|
||
|
);
|
||
|
|
||
|
registerPlugin( 'woocommerce-admin-task-customize-store', {
|
||
|
// @ts-expect-error scope is not defined in the type definition but it is a valid property
|
||
|
scope: 'woocommerce-tasks',
|
||
|
render: CustomizeStoreTaskItem,
|
||
|
} );
|