diff --git a/src/fmg-components/loading-modal/loading-modal.vue b/src/fmg-components/loading-modal/loading-modal.vue index 820ff6f7b..53bb2b2e0 100644 --- a/src/fmg-components/loading-modal/loading-modal.vue +++ b/src/fmg-components/loading-modal/loading-modal.vue @@ -129,7 +129,7 @@ export default { overflow-x: hidden; overflow-y: auto; outline: 0; - background: $gray-100; + background: $white; &.full-screen { top: 0; diff --git a/src/layouts/confirmation/confirmation.vue b/src/layouts/confirmation/confirmation.vue index d9fe2e479..2724dbcb6 100644 --- a/src/layouts/confirmation/confirmation.vue +++ b/src/layouts/confirmation/confirmation.vue @@ -387,7 +387,9 @@ export default { text-decoration: underline; } .header-container { - text-align: center; + display: flex; + align-items: center; + justify-content: center; padding: 1rem 0 1.5rem 0; p { @@ -395,6 +397,11 @@ export default { font-weight: 400; font-size: 1.25rem; color: $black; + margin: 0; + } + + img { + margin-right: 0.5rem; } } diff --git a/src/mixins/experiment-mixin.js b/src/mixins/experiment-mixin.js index a7ffd52f0..11b573683 100644 --- a/src/mixins/experiment-mixin.js +++ b/src/mixins/experiment-mixin.js @@ -9,16 +9,9 @@ export default { return Object.hasOwn(store.getters.experimentSettings, settingName); }, getSettingValue(settingName) { - if (this.hasSetting(settingName)) { - return store.getters.experimentSettings[settingName]; - } else if (store.getters.hasSubmittedOrder) { - const experimentSettings = store.getters.submittedOrder.experiments - .filter((x) => x.isActive) - .reduce((r, c) => ({ ...r, ...c.settings }), {}); - return experimentSettings[settingName] ?? null; - } else { - return null; - } + return this.hasSetting(settingName) + ? store.getters.experimentSettings[settingName] + : null; }, }, }; diff --git a/src/router/index.js b/src/router/index.js index 8c5c83b4c..4a13a8fc7 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 { @@ -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 }, }); } 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 }; diff --git a/src/store/index.js b/src/store/index.js index 687f876d0..12140f66b 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -2514,14 +2514,16 @@ export const actions = { // create a submitted order object from vuex. const submittedOrder = context.state.order; - //add experiments to submittedOrder - submittedOrder.experiments = context.state.applicationUser.experiments; + const experiments = context.state.applicationUser.experiments; // set to local storage window.sessionStorage.setItem("submittedOrder", JSON.stringify(submittedOrder)); // clear vuex context.commit(storeMutations.RESET_STATE); + + //restore user's experiments + context.commit(storeMutations.UPDATE_EXPERIMENTS, experiments); }, resetSubmittedOrder(context) {