diff --git a/src/digital-components/button-question/button-question.vue b/src/digital-components/button-question/button-question.vue
index b060167cb..f9c1b6279 100644
--- a/src/digital-components/button-question/button-question.vue
+++ b/src/digital-components/button-question/button-question.vue
@@ -226,7 +226,7 @@ export default {
if (this.buttonTypeString == "radio") {
classes += " radio-button-container";
} else if (this.buttonTypeString == "servicePackageRadio") {
- classes = "package-wrapper col-md-4";
+ classes = "package-wrapper col";
}
if (this.buttonTypeString == "listCard" && this.buttonsInfo.length > 2) {
diff --git a/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue b/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue
index a25224f69..48973c2e5 100644
--- a/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue
+++ b/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue
@@ -99,9 +99,6 @@ export default {
// hide save progress button; show success message alert
this.isProgressSaved = true;
- // communicate to parent the new status
- this.$emit("save-progress-saved");
-
this.modal.closeModal();
},
},
diff --git a/src/fmg-components/save-progress-popup-question/save-progress-popup-question.vue b/src/fmg-components/save-progress-popup-question/save-progress-popup-question.vue
index 4ab1213c4..808163fe6 100644
--- a/src/fmg-components/save-progress-popup-question/save-progress-popup-question.vue
+++ b/src/fmg-components/save-progress-popup-question/save-progress-popup-question.vue
@@ -148,7 +148,7 @@ export default {
position: relative;
color: $black;
border: none;
- border-radius: .25rem;
+ border-radius: 0.25rem;
font-weight: 900;
font-size: 0.875rem;
text-align: center;
diff --git a/src/layouts/quote/quote.vue b/src/layouts/quote/quote.vue
index 221eae723..7256acc69 100644
--- a/src/layouts/quote/quote.vue
+++ b/src/layouts/quote/quote.vue
@@ -20,7 +20,7 @@
-
+
-
+
+ pageName="quote" />
2) {
+ return "col-xl-8";
+ } else {
+ return "col-xl-6";
+ }
+ },
+ currentNumberOfPackagesAction(packageNumber) {
+ this.packageNumber = packageNumber;
+ },
openModalAction(modalName) {
this.$refs[modalName].openModal();
},
diff --git a/src/layouts/quote/service-package-question/service-package-question.vue b/src/layouts/quote/service-package-question/service-package-question.vue
index 7df8dab5f..b39213267 100644
--- a/src/layouts/quote/service-package-question/service-package-question.vue
+++ b/src/layouts/quote/service-package-question/service-package-question.vue
@@ -150,6 +150,7 @@ export default {
: "Special: Save $" + this.getServicePackageDiscountPrice(),
},
}));
+ this.$emit("currentNumberOfPackages", modifiedAnswers.length);
return modifiedAnswers;
},
isServicePackageDiscountOnOrder() {
diff --git a/src/layouts/quote/service-package-question/service-package-radio/service-package-radio.vue b/src/layouts/quote/service-package-question/service-package-radio/service-package-radio.vue
index 1ad393650..f16ff4821 100644
--- a/src/layouts/quote/service-package-question/service-package-radio/service-package-radio.vue
+++ b/src/layouts/quote/service-package-question/service-package-radio/service-package-radio.vue
@@ -141,6 +141,9 @@ export default {
.package-main {
.package-wrapper {
margin: 1rem 0;
+ &:first-child {
+ margin: 1rem 0 0 0;
+ }
&:last-child {
margin: 1rem 0 0 0;
}
@@ -148,6 +151,12 @@ export default {
margin: 1rem 0.5rem 0 0.5rem;
display: flex;
flex-direction: column;
+ &:first-child {
+ margin: 1rem 0.5rem 0 0;
+ }
+ &:last-child {
+ margin: 1rem 0 0 0.5rem;
+ }
}
label {
diff --git a/src/mixins/analytics-mixin.js b/src/mixins/analytics-mixin.js
index 136c0ef14..6f7f67c6f 100644
--- a/src/mixins/analytics-mixin.js
+++ b/src/mixins/analytics-mixin.js
@@ -27,6 +27,9 @@ import store from "@/store";
import baseMixin from "@/mixins/base-mixin";
import { applicationConfig } from "../constants/application-config";
import { getFunnelCookie } from "@/helpers/heritage-integration/cookie-helper";
+import { fmgPageValues } from "@/router/router-constants/fmgPage-values";
+import router from "@/router/index.js";
+import { getQuerystringParameter } from "@/helpers/querystring-helper";
export default {
methods: {
@@ -714,14 +717,19 @@ export default {
// The sid cookie for analytics will expire every 30 minutes and get recreated in initSession. If this happens
// and we also have the funnel cookie present, that indicates they have an existing session that is now expired
// so route them to the return user page.
+ const fromHeritage = getQuerystringParameter(queryStrings.FROM_HERITAGE) === "true";
const funnelCookieLastTouched = getFunnelCookie()?.LastTouched;
if (
this.noSession() &&
+ !fromHeritage &&
funnelCookieLastTouched !== null &&
funnelCookieLastTouched !== undefined
) {
await this.initSession();
- window.location.href = applicationConfig.RETURN_USER_PAGE;
+ router.push({
+ path: "/",
+ query: { fmgPage: fmgPageValues.RETURN_USER },
+ });
return;
}
diff --git a/src/router/index.js b/src/router/index.js
index f04c0613d..118e39cd1 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -80,8 +80,9 @@ const routes = [
return;
}
- const fromHeritage = getQuerystringParameter(queryStrings.FROM_HERITAGE) === "true";
const fromReturnUser = from?.name === fmgPageValues.RETURN_USER;
+ const fromContentSite = getQuerystringParameter(queryStrings.START_TYPE) === "fmg";
+ const toReturnUserPage = to.query?.fmgPage === fmgPageValues.RETURN_USER;
// Intercept all navigation if a submitted order exists in storage
if (window.sessionStorage.getItem("submittedOrder") !== null) {
@@ -92,18 +93,20 @@ const routes = [
}
// On entering the funnel "fresh", read cookie information, decide what to do next.
else if (from.redirectedFrom === undefined || fromReturnUser) {
- // if entering the funnel from non-funnel check and see if there is already a funnel cookie.
- // if so, send them to return-user page
+ // if entering the funnel from the content site, check and see if there is already a funnel cookie.
+ // if so, send them to return-user page.
const funnelCookieLastTouched = getFunnelCookie()?.LastTouched;
- if (
- to?.query?.fmgPage !== fmgPageValues.RETURN_USER &&
- !fromReturnUser &&
- !fromHeritage &&
+ if (fromContentSite &&
funnelCookieLastTouched !== null &&
- funnelCookieLastTouched !== undefined
+ funnelCookieLastTouched !== undefined &&
+ !toReturnUserPage
) {
- log(" --navigate to return user");
- NavigateToReturnUser(next, to);
+ log(" --from content site navigate to return user");
+ router.push({
+ path: "/",
+ query: { fmgPage: fmgPageValues.RETURN_USER },
+ });
+ return;
}
// clear the saveSessionPromise - if it exists in the vuex store but a new instance was created
@@ -651,42 +654,6 @@ function GetRouteInfoFromPageName(pageName) {
return routeData;
}
-async function NavigateToReturnUser(next, to) {
- const returnRoute = GetRouteInfoFromPageName(fmgPageValues.RETURN_USER);
- log("--returnRoute:", returnRoute);
-
- if (router.hasRoute(to.query.fmgPage)) {
- // Since our route is already in scope, we can grab the component from it and call the arePagePrerequisitesValid function.
- let component = router
- .getRoutes()
- .filter((x) => x.name === fmgPageValues.RETURN_USER)[0].components;
-
- log("--return-user component:", component);
-
- // If the component hasn't been loaded fully, load it before we check prerequisites.
- if (component.default.methods === undefined) {
- component = await component.default();
- }
-
- log(" --has route for return-user:", fmgPageValues.RETURN_USER);
- return next({ name: fmgPageValues.RETURN_USER, query: to.query, params: to.params });
- } else {
- log(" --add route for return-user:", fmgPageValues.RETURN_USER);
- router.addRoute({
- path: returnRoute[0].path, // Always the same path, because we control it with query strings.
- name: returnRoute[0].name,
- component: returnRoute[0].component,
- });
-
- next({
- name: returnRoute[0].name,
- query: Object.assign(to.query, { fmgPage: returnRoute[0].name }),
- params: to.params,
- });
- return;
- }
-}
-
// Go to our start page on a 404.
function GoToFunnelStartOn404(next, errorPayload = null) {
if (errorPayload !== null) {
diff --git a/src/ux-components/button-main/button-main.vue b/src/ux-components/button-main/button-main.vue
index 848cf3866..7980adf99 100644
--- a/src/ux-components/button-main/button-main.vue
+++ b/src/ux-components/button-main/button-main.vue
@@ -5,7 +5,7 @@
:class="[
isPrimary ? 'btn-primary' : 'btn-secondary',
isFloat ? 'float-end' : '',
- (isLoaderDisplayed && !suppressLoader) ? 'has-loader' : '',
+ isLoaderDisplayed && !suppressLoader ? 'has-loader' : '',
]"
@click="clicked">
{{ this.buttonText }}