diff --git a/modules/ppcp-settings/resources/js/data/onboarding/action-types.js b/modules/ppcp-settings/resources/js/data/onboarding/action-types.js index b5f634ea5..5d719f417 100644 --- a/modules/ppcp-settings/resources/js/data/onboarding/action-types.js +++ b/modules/ppcp-settings/resources/js/data/onboarding/action-types.js @@ -13,4 +13,6 @@ export default { SET_MANUAL_CONNECTION_MODE: 'SET_MANUAL_CONNECTION_MODE', SET_CLIENT_ID: 'SET_CLIENT_ID', SET_CLIENT_SECRET: 'SET_CLIENT_SECRET', + SET_IS_CASUAL_SELLER: 'SET_IS_CASUAL_SELLER', + SET_PRODUCTS: 'SET_PRODUCTS', }; diff --git a/modules/ppcp-settings/resources/js/data/onboarding/actions.js b/modules/ppcp-settings/resources/js/data/onboarding/actions.js index 635e72da6..1409c471a 100644 --- a/modules/ppcp-settings/resources/js/data/onboarding/actions.js +++ b/modules/ppcp-settings/resources/js/data/onboarding/actions.js @@ -129,6 +129,32 @@ export const setClientSecret = ( clientSecret ) => { }; }; +/** + * Persistent. Sets the "isCasualSeller" value. + * + * @param {boolean} isCasualSeller + * @return {{type: string, isCasualSeller}} The action. + */ +export const setIsCasualSeller = ( isCasualSeller ) => { + return { + type: ACTION_TYPES.SET_IS_CASUAL_SELLER, + isCasualSeller, + }; +}; + +/** + * Persistent. Sets the "products" array. + * + * @param {string[]} products + * @return {{type: string, products}} The action. + */ +export const setProducts = ( products ) => { + return { + type: ACTION_TYPES.SET_PRODUCTS, + products, + }; +}; + /** * Saves the persistent details to the WP database. * diff --git a/modules/ppcp-settings/resources/js/data/onboarding/reducer.js b/modules/ppcp-settings/resources/js/data/onboarding/reducer.js index 47c0b034d..c0a47cb5e 100644 --- a/modules/ppcp-settings/resources/js/data/onboarding/reducer.js +++ b/modules/ppcp-settings/resources/js/data/onboarding/reducer.js @@ -12,6 +12,8 @@ const defaultState = { useManualConnection: false, clientId: '', clientSecret: '', + isCasualSeller: null, // null value will uncheck both options in the UI. + products: [], }, // Read only values, provided by the server. @@ -87,6 +89,12 @@ export const onboardingReducer = ( useManualConnection: action.useManualConnection, } ); + case ACTION_TYPES.SET_IS_CASUAL_SELLER: + return setPersistent( { isCasualSeller: action.isCasualSeller } ); + + case ACTION_TYPES.SET_PRODUCTS: + return setPersistent( { products: action.products } ); + default: return state; }