Merge remote-tracking branch 'origin/release/2024.02.08' into feature/skiener/promo-unit-tests
This commit is contained in:
commit
9fd8c7aac4
6 changed files with 29 additions and 20 deletions
|
|
@ -129,7 +129,7 @@ export default {
|
|||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
outline: 0;
|
||||
background: $gray-100;
|
||||
background: $white;
|
||||
|
||||
&.full-screen {
|
||||
top: 0;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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 },
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,6 @@ const fmgPageValues = {
|
|||
CONFIRMATION: "confirmation",
|
||||
};
|
||||
|
||||
const homepageName = fmgPageValues.VEHICLE;
|
||||
const funnelStartPageName = fmgPageValues.VEHICLE;
|
||||
|
||||
export { fmgPageValues, homepageName };
|
||||
export { fmgPageValues, funnelStartPageName };
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue