Fix shipping tour layout context error (#38183)
* Add LayoutContextProvider to embedded body layout to fix shipping tour error * Show an error notice and record track when failing to update shipping option * Add changelog * Update error message * Remove unused import
This commit is contained in:
parent
378b297a65
commit
956d09c34b
|
@ -4,6 +4,10 @@
|
|||
import { applyFilters } from '@wordpress/hooks';
|
||||
import { useEffect } from '@wordpress/element';
|
||||
import { triggerExitPageCesSurvey } from '@woocommerce/customer-effort-score';
|
||||
import {
|
||||
LayoutContextProvider,
|
||||
getLayoutContextValue,
|
||||
} from '@woocommerce/admin-layout';
|
||||
|
||||
/**
|
||||
* Internal dependencies
|
||||
|
@ -56,6 +60,7 @@ export const EmbeddedBodyLayout = () => {
|
|||
) as React.ElementType< EmbeddedBodyProps >[];
|
||||
|
||||
return (
|
||||
<LayoutContextProvider value={ getLayoutContextValue( [ 'page' ] ) }>
|
||||
<div
|
||||
className="woocommerce-embedded-layout__primary"
|
||||
id="woocommerce-embedded-layout__primary"
|
||||
|
@ -64,5 +69,6 @@ export const EmbeddedBodyLayout = () => {
|
|||
return <Comp key={ index } { ...queryParams } />;
|
||||
} ) }
|
||||
</div>
|
||||
</LayoutContextProvider>
|
||||
);
|
||||
};
|
||||
|
|
|
@ -205,6 +205,7 @@ export const ShippingTour: React.FC< {
|
|||
const { updateOptions } = useDispatch( OPTIONS_STORE_NAME );
|
||||
const { show: showTour } = useShowShippingTour();
|
||||
const [ step, setStepNumber ] = useState( 0 );
|
||||
const { createNotice } = useDispatch( 'core/notices' );
|
||||
|
||||
const tourConfig: TourKitTypes.WooConfig = {
|
||||
placement: 'auto',
|
||||
|
@ -282,10 +283,24 @@ export const ShippingTour: React.FC< {
|
|||
},
|
||||
},
|
||||
],
|
||||
closeHandler: ( steps, stepIndex, source ) => {
|
||||
updateOptions( {
|
||||
closeHandler: async ( steps, stepIndex, source ) => {
|
||||
const update = await updateOptions( {
|
||||
[ REVIEWED_DEFAULTS_OPTION ]: 'yes',
|
||||
} );
|
||||
|
||||
if ( ! update.success ) {
|
||||
createNotice(
|
||||
'error',
|
||||
__(
|
||||
'There was a problem marking the shipping tour as completed.',
|
||||
'woocommerce'
|
||||
)
|
||||
);
|
||||
recordEvent(
|
||||
'walkthrough_settings_shipping_updated_option_error'
|
||||
);
|
||||
}
|
||||
|
||||
if ( source === 'close-btn' ) {
|
||||
recordEvent( 'walkthrough_settings_shipping_dismissed', {
|
||||
step_name: steps[ stepIndex ].meta.name,
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
Significance: patch
|
||||
Type: fix
|
||||
|
||||
Fix shipping tour layout context error
|
Loading…
Reference in New Issue