Merge branch 'develop' into feature/CSR-1072

This commit is contained in:
CarlNation 2024-01-22 08:35:12 -05:00
commit d00dad061d
2 changed files with 13 additions and 6 deletions

View file

@ -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 {
@ -49,12 +50,13 @@ const routes = [
// If the saved session has timed out, clear the session, execute 404 logic.
if (getFunnelCookie() !== null && !isSavedSessionStillActive()) {
await baseMixin.methods.dispatchStoreAction(storeActions.RESET_STATE);
deleteFunnelCookie();
GoToFunnelStartOn404(next);
}
// 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 +143,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 +192,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();
@ -403,7 +410,7 @@ function GoToFunnelStartOn404(next) {
next({
path: "/",
query: { fmgPage: homepageName },
query: { fmgPage: funnelStartPageName },
});
}

View file

@ -21,6 +21,6 @@ const fmgPageValues = {
CONFIRMATION: "confirmation",
};
const homepageName = fmgPageValues.VEHICLE;
const funnelStartPageName = fmgPageValues.VEHICLE;
export { fmgPageValues, homepageName };
export { fmgPageValues, funnelStartPageName };