From 4a0c92a0f776b9c6a0e8f15667361322fe7e89c8 Mon Sep 17 00:00:00 2001 From: Chloe Herd Date: Thu, 18 Jan 2024 14:19:39 -0500 Subject: [PATCH] Clear state when erroring on nav to funnel start --- src/router/index.js | 14 ++++++++++---- src/router/router-constants/fmgPage-values.js | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/router/index.js b/src/router/index.js index 04c934769..2f30feb58 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -9,7 +9,7 @@ import { queryStrings } from "@/constants/query-strings"; import { getQuerystringParameter } from "@/helpers/querystring-helper"; import { getDeviceIdValue } from "@/helpers/heritage-integration/cookie-helper"; import { showFmgLoadingModal } from "@/helpers/loading-modal-helper"; -import { fmgPageValues, homepageName } from "@/router/router-constants/fmgPage-values"; +import { fmgPageValues, funnelStartPageName } from "@/router/router-constants/fmgPage-values"; // Heritage integration import { isSavedSessionStillActive } from "@/helpers/heritage-integration/session-helper"; @@ -17,6 +17,7 @@ import { updateOrCreateFunnelCookie, getFunnelCookie, updateSessionIdCookie, + deleteFunnelCookie, } from "@/helpers/heritage-integration/cookie-helper"; import { loadSessionIfPresent, saveSession } from "@/helpers/heritage-integration/order-helper"; import { @@ -54,7 +55,7 @@ const routes = [ // Intercept all navigation if a submitted order exists in storage if (store.getters.hasSubmittedOrder) { - if (to.query.fmgPage !== homepageName) { + if (to.query.fmgPage !== funnelStartPageName) { to.query.fmgPage = fmgPageValues.CONFIRMATION; } } @@ -141,6 +142,11 @@ const routes = [ } catch (error) { console.log(error); + if(to.query?.fmgPage === funnelStartPageName) { + deleteFunnelCookie(); + await baseMixin.methods.dispatchStoreAction(storeActions.RESET_STATE); + } + // If we don't have a route, go to our 404 page. GoToFunnelStartOn404(next); } @@ -185,7 +191,7 @@ router.beforeEach(async (to, from, next) => { // Refresh page if navigating to self to prevent locking. // For now only carved out for vehicle; all modals are opened through anchor tags at the moment, // which also self navigate, but relied on the page remaining the same on self-navigation. - } else if (toQueryPage === fromQueryPage && toQueryPage === homepageName) { + } else if (toQueryPage === fromQueryPage && toQueryPage === funnelStartPageName) { router.go(0); } else { next(); @@ -399,7 +405,7 @@ function GoToFunnelStartOn404(next) { next({ path: "/", - query: { fmgPage: homepageName }, + query: { fmgPage: funnelStartPageName }, }); } diff --git a/src/router/router-constants/fmgPage-values.js b/src/router/router-constants/fmgPage-values.js index 3bd994ad3..d22dfb121 100644 --- a/src/router/router-constants/fmgPage-values.js +++ b/src/router/router-constants/fmgPage-values.js @@ -21,6 +21,6 @@ const fmgPageValues = { CONFIRMATION: "confirmation", }; -const homepageName = fmgPageValues.VEHICLE; +const funnelStartPageName = fmgPageValues.VEHICLE; -export { fmgPageValues, homepageName }; +export { fmgPageValues, funnelStartPageName };