diff --git a/src/router/index.js b/src/router/index.js index da3c1914c..6b11edff5 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -619,7 +619,14 @@ async function DisplayPageError() { type: globalEventTypes.Danger, } ); - store.commit(storeMutations.UPDATE_IS_EXTERNAL_PARAMETER, externalParameterStatus.INACTIVE); + if ( + store.getters.externalParameterState?.isExternalParameter == + externalParameterStatus.ACTIVE || + store.getters.externalParameterState?.isExternalParameter == + externalParameterStatus.INACTIVE + ) { + store.commit(storeMutations.UPDATE_IS_EXTERNAL_PARAMETER, externalParameterStatus.NOT_SET); + } baseMixin.methods.dispatchStoreAction(storeActions.RESET_SAVE_SESSION_PROMISE); const pageError = getQuerystringParameter(queryStrings.PAGE_ERROR); @@ -700,22 +707,6 @@ function getRedirectedStartPage() { } function updateExternalParameterState() { - // if there is an existing external parameter state then they have already been through from an external source(LeadGen) and - // are returning. clear out prior related things that need to be selected again like parts and damage type. - if ( - store.getters.externalParameterState?.isExternalParameter == - externalParameterStatus.INACTIVE - ) { - store.dispatch(storeActions.RESET_VEHICLE_STATE_AND_DEPENDENCIES); - store.dispatch(storeActions.SAVE_SERVICE_ZIP_CODE_INFO, { - state: null, - zipCode: null, - zipCodeCtu: null, - }); - store.dispatch(storeActions.SAVE_EMAIL, null); - store.dispatch(storeActions.RESET_DAMAGE_STATE_AND_DEPENDENCIES); - } - const externalParameterYear = getQuerystringParameter(queryStrings.VEHICLE_YEAR); const externalParameterMake = getQuerystringParameter(queryStrings.VEHICLE_MAKE); const externalParameterModel = getQuerystringParameter(queryStrings.VEHICLE_MODEL); @@ -734,6 +725,7 @@ function updateExternalParameterState() { externalParameterModel && externalParameterStyle ) { + resetStoreForExternalParameter(); store.commit(storeMutations.UPDATE_IS_EXTERNAL_PARAMETER, externalParameterStatus.ACTIVE); store.commit(storeMutations.UPDATE_EXTERNAL_PARAMETER_YEAR, externalParameterYear); store.commit(storeMutations.UPDATE_EXTERNAL_PARAMETER_MAKE, externalParameterMake); @@ -784,4 +776,22 @@ function updateExternalParameterState() { } } +// if there is an existing external parameter state then they have already been through from an external source(LeadGen) and +// are returning. clear out prior related things that need to be selected again like parts and damage type. +function resetStoreForExternalParameter() { + if ( + store.getters.externalParameterState?.isExternalParameter == + externalParameterStatus.INACTIVE + ) { + store.dispatch(storeActions.RESET_VEHICLE_STATE_AND_DEPENDENCIES); + store.dispatch(storeActions.SAVE_SERVICE_ZIP_CODE_INFO, { + state: null, + zipCode: null, + zipCodeCtu: null, + }); + store.dispatch(storeActions.SAVE_EMAIL, null); + store.dispatch(storeActions.RESET_DAMAGE_STATE_AND_DEPENDENCIES); + } +} + export default router;