From 164af7f515ab5890486dfc1ba969bd48854d3f95 Mon Sep 17 00:00:00 2001 From: Philipp Stracker Date: Mon, 28 Oct 2024 18:11:04 +0100 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20MInor=20reorganization=20o?= =?UTF-8?q?f=20code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/js/data/onboarding/actions.js | 26 +++++++++---------- .../resources/js/data/onboarding/hooks.js | 26 +++++++++---------- 2 files changed, 25 insertions(+), 27 deletions(-) diff --git a/modules/ppcp-settings/resources/js/data/onboarding/actions.js b/modules/ppcp-settings/resources/js/data/onboarding/actions.js index d60fba409..3abf80e65 100644 --- a/modules/ppcp-settings/resources/js/data/onboarding/actions.js +++ b/modules/ppcp-settings/resources/js/data/onboarding/actions.js @@ -16,19 +16,6 @@ export const setIsSaving = ( isSaving ) => { }; }; -/** - * Persistent.Set the "onboarding completed" flag which shows or hides the wizard. - * - * @param {boolean} completed - * @return {{type: string, payload}} The action. - */ -export const setCompleted = ( completed ) => { - return { - type: ACTION_TYPES.SET_ONBOARDING_COMPLETED, - completed, - }; -}; - /** * Persistent. Set the full onboarding details, usually during app initialization. * @@ -42,6 +29,19 @@ export const setOnboardingDetails = ( payload ) => { }; }; +/** + * Persistent.Set the "onboarding completed" flag which shows or hides the wizard. + * + * @param {boolean} completed + * @return {{type: string, payload}} The action. + */ +export const setCompleted = ( completed ) => { + return { + type: ACTION_TYPES.SET_ONBOARDING_COMPLETED, + completed, + }; +}; + /** * Persistent. Sets the onboarding wizard to a new step. * diff --git a/modules/ppcp-settings/resources/js/data/onboarding/hooks.js b/modules/ppcp-settings/resources/js/data/onboarding/hooks.js index 62cb6d1a8..6d489e0dd 100644 --- a/modules/ppcp-settings/resources/js/data/onboarding/hooks.js +++ b/modules/ppcp-settings/resources/js/data/onboarding/hooks.js @@ -3,10 +3,9 @@ import { STORE_NAME } from '../constants'; export const useOnboardingDetails = () => { const { - setOnboardingStep, + persist, setSandboxMode, setManualConnectionMode, - persist, setClientId, setClientSecret, } = useDispatch( STORE_NAME ); @@ -25,10 +24,6 @@ export const useOnboardingDetails = () => { return select( STORE_NAME ).getPersistentData().clientSecret; }, [] ); - const onboardingStep = useSelect( ( select ) => { - return select( STORE_NAME ).getPersistentData().step || 0; - }, [] ); - const isSandboxMode = useSelect( ( select ) => { return select( STORE_NAME ).getPersistentData().useSandbox; }, [] ); @@ -43,7 +38,6 @@ export const useOnboardingDetails = () => { }; return { - onboardingStep, isSaving, isSandboxMode, isManualConnectionMode, @@ -52,8 +46,6 @@ export const useOnboardingDetails = () => { clientSecret, setClientSecret: ( value ) => setDetailAndPersist( setClientSecret, value ), - setOnboardingStep: ( step ) => - setDetailAndPersist( setOnboardingStep, step ), setSandboxMode: ( state ) => setDetailAndPersist( setSandboxMode, state ), setManualConnectionMode: ( state ) => @@ -62,9 +54,10 @@ export const useOnboardingDetails = () => { }; export const useOnboardingStep = () => { - const { setOnboardingStep, setCompleted } = useDispatch( STORE_NAME ); + const { persist, setOnboardingStep, setCompleted } = + useDispatch( STORE_NAME ); - const onboardingStep = useSelect( ( select ) => { + const step = useSelect( ( select ) => { return select( STORE_NAME ).getPersistentData().step || 0; } ); @@ -72,10 +65,15 @@ export const useOnboardingStep = () => { return select( STORE_NAME ).getPersistentData().completed; } ); + const setDetailAndPersist = async ( setter, value ) => { + setter( value ); + await persist(); + }; + return { - onboardingStep, - setOnboardingStep: ( step ) => setOnboardingStep( step ), + step, + setStep: ( value ) => setDetailAndPersist( setOnboardingStep, value ), completed, - setCompleted: ( state ) => setCompleted( state ), + setCompleted: ( state ) => setDetailAndPersist( setCompleted, state ), }; };