From 000baf14eea9b37b57be894fd9b6ab379e54a573 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Wed, 9 Oct 2024 07:41:05 -0400 Subject: [PATCH] CSR-2179-again: restore missing recal bullets et al changes --- src/layouts/quote/quote.vue | 9 +++------ .../service-package-question.vue | 7 +++++-- src/mixins/base-mixin.js | 4 ++-- src/store/index.js | 8 +++++++- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/layouts/quote/quote.vue b/src/layouts/quote/quote.vue index 6a0a5de24..7722e2c09 100644 --- a/src/layouts/quote/quote.vue +++ b/src/layouts/quote/quote.vue @@ -71,7 +71,7 @@ cmsWidgetName="quoteDisclaimer" justifyText="left" typeStyle="caption" - class="mt-6" /> + class="mt-6 quote-disclaimer" /> @@ -393,7 +393,7 @@ export default { return Object.assign({}, this.lineItems); }, isRecalibrationOnOrder() { - return containsRecalParts(this.lineItems); + return store.getters.isRecalibrationOnOrder; }, isServicePackageDiscountOnOrder() { return containsLineItemWithPartType( @@ -408,10 +408,7 @@ export default { ); }, shouldHideRecalibration() { - return ( - this.getSettingValue(experimentSettings.RECAL_PRICE_REMOVE)?.toLowerCase() === - "true" && this.isRecalibrationOnOrder - ); + return store.getters.shouldHideRecalibration; }, showAfterpayBanner() { return ( 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 afd592e72..2a544e8ce 100644 --- a/src/layouts/quote/service-package-question/service-package-question.vue +++ b/src/layouts/quote/service-package-question/service-package-question.vue @@ -201,6 +201,9 @@ export default { this.nullSafeAvailableLineItems ); }, + showRecalInServicePackages() { + return this.isRecalibrationOnOrder && !this.shouldHideRecalibration; + }, }, methods: { processIfStatements, @@ -357,8 +360,8 @@ export default { }, getCustomValueFromString(str) { switch (str) { - case "isRecalibrationOnOrder": - return this.isRecalibrationOnOrder; + case "showRecalInServicePackages": + return this.showRecalInServicePackages; case "frontWipersApplicableForTierTwo": return this.frontWipersApplicableForTierTwo; case "rearWiperApplicableForTierTwo": diff --git a/src/mixins/base-mixin.js b/src/mixins/base-mixin.js index 12b9a99a2..b6d3e0074 100644 --- a/src/mixins/base-mixin.js +++ b/src/mixins/base-mixin.js @@ -97,8 +97,8 @@ export default { filterOutFees(lineItems) { const filteredLineItems = lineItems?.filter((item) => { return ( - (!item.partType.includes("FEE") && !item.partType.includes("EARLY BIRD")) || - (item.partType === "REPAIR FEE" && item.partNumber != "SUPPLIES-REPAIR") + (!item?.partType?.includes("FEE") && !item?.partType?.includes("EARLY BIRD")) || + (item?.partType === "REPAIR FEE" && item?.partNumber != "SUPPLIES-REPAIR") ); }); return filteredLineItems; diff --git a/src/store/index.js b/src/store/index.js index f100a09eb..65c1d64d4 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -43,6 +43,8 @@ import { } from "@/constants/insurance"; import { containsRecalParts } from "@/helpers/recal-helper"; import { externalParameterStatus } from "@/constants/external-parameters"; +import { experimentSettings } from "@/constants/experiments"; +import experimentMixin from "@/mixins/experiment-mixin.js"; // Export State const getDefaultState = () => { @@ -807,6 +809,10 @@ export const getters = { return false; }, + shouldHideRecalibration: (state) => { + return (experimentMixin.methods.getSettingValue(experimentSettings.RECAL_PRICE_REMOVE) + ?.toLowerCase() === "true" && getters.isRecalibrationOnOrder); + }, areRearWipersOnOrder: (state) => { return !!state.order.lineItems.vaps?.some( (vap) => vap.partType.toUpperCase() === partTypeStrings.REAR_WIPER.toUpperCase() @@ -908,6 +914,7 @@ export const getters = { .filter((x) => !!x.isActive) .map((x) => x.settings) .reduce((r, c) => Object.assign(r, c), {}) ?? {}, + isVerifiedAndDeductibleZeroConfirmed: (state) => { // used as a CMS variable on /payment-method, needed for FunnelSubHeaderWidget on cart pages if ( @@ -917,7 +924,6 @@ export const getters = { ) { return true; } - return false; }, requiresVerifiedRedirecting: (state) => {