diff --git a/src/fmg-components/cart/cart.vue b/src/fmg-components/cart/cart.vue index 52049b0c9..024c1f0e8 100644 --- a/src/fmg-components/cart/cart.vue +++ b/src/fmg-components/cart/cart.vue @@ -199,6 +199,7 @@ export default { shouldHideRecalibration: Boolean, isItac: Boolean, isNoComp: Boolean, + isExpandedOnLoad: Boolean, }, data() { return { @@ -217,7 +218,7 @@ export default { this.isExpanded = !this.isExpanded; }, updateIsExpandedWithDefault() { - this.isExpanded = this.shouldHideRecalibration; + this.isExpanded = this.isExpandedOnLoad; }, getVapsPrice(packageName) { const vapsItems = this.getVapsCartItemsForSelectedPackage(packageName); @@ -331,9 +332,8 @@ export default { }, computed: { isCartReadyToLoad() { - var myReturn = this.shouldHideRecalibration !== null; this.updateIsExpandedWithDefault(); - return myReturn; + return this.isExpandedOnLoad !== null; }, lineItems: { get: function () { @@ -749,8 +749,12 @@ export default { recycleFeeCartItemName() { return this.getCmsContent("RecycleFeeTextWidget", "Text"); }, - requiresRecycleFeeCartItem() { - return !this.isRepair; + showRecycleFeeCartItem() { + if (!this.isInsurance || this.isItac || this.isNoComp) { // CASH, ITAC, NOCOMP ORDERS + return !this.isRepair; + } else { + return false; + } }, recycleFeeCartItem() { let cartItem = null; @@ -759,7 +763,7 @@ export default { (supportingItem) => supportingItem.partType == partTypeStrings.REPLACE_FEE ); - if (!recycleFeeLineItem && this.requiresRecycleFeeCartItem) { + if (!recycleFeeLineItem && this.showRecycleFeeCartItem) { recycleFeeLineItem = { partNumber: partTypeStrings.RECYCLE_FEE, partType: partTypeStrings.REPLACE_FEE, diff --git a/src/layouts/confirmation/confirmation.vue b/src/layouts/confirmation/confirmation.vue index 09b666920..b5c934448 100644 --- a/src/layouts/confirmation/confirmation.vue +++ b/src/layouts/confirmation/confirmation.vue @@ -60,6 +60,7 @@ :insuranceCompanyName="insuranceCompanyName" :showInsuranceCoverageAs="showInsuranceCoverageAs" :shouldHideRecalibration="shouldHideRecalibration" + :isExpandedOnLoad="false" :isItac="isItac" :isNoComp="isNoComp" /> @@ -111,6 +112,8 @@ import { containsRecalParts } from "@/helpers/recal-helper.js"; export default { name: "confirmation", async beforeRouteEnter(to, from, next) { + const hasRecalPriceRemoveExperiment = await store.getters.shouldHideRecalibration; + await baseMixin.methods.dispatchStoreAction(storeActions.CREATE_SUBMITTED_ORDER); // This nulls the Store order // Call APIs @@ -155,10 +158,6 @@ export default { const isNoComp = submittedOrder?.policy?.isNoComp; const isItac = submittedOrder?.policy?.isItac; const isRecalibrationOnOrder = containsRecalParts(lineItemsFromSubmittedOrder); - const hasRecalPriceRemoveExperiment = - experimentMixin.methods - .getSettingValue(experimentSettings.RECAL_PRICE_REMOVE) - ?.toLowerCase() === "true"; const shouldHideRecalibration = () => { if (isNoComp || isItac) { diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index f4972a054..ff7e457e4 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -31,6 +31,7 @@ :insuranceCompanyName="insuranceCompanyName" :showInsuranceCoverageAs="showInsuranceCoverageAs" :shouldHideRecalibration="shouldHideRecalibration" + :isExpandedOnLoad="false" :isItac="isItac" :isNoComp="isNoComp" /> @@ -46,7 +47,7 @@ v-bind:isDismissible="false" /> -
+

+ class="d-flex flex-row checkbox-group"> + :isNocomp="isNocomp" + :isExpandedOnLoad="true" />
diff --git a/src/layouts/quote/quote.vue b/src/layouts/quote/quote.vue index 5b8695d3e..357db44dd 100644 --- a/src/layouts/quote/quote.vue +++ b/src/layouts/quote/quote.vue @@ -429,7 +429,11 @@ export default { }, shouldHideRecalibration() { if (this.isInsuranceSelected) return false; - return (experimentMixin.methods.getSettingValue(experimentSettings.RECAL_PRICE_REMOVE)?.toLowerCase() === "true" && this.isRecalibrationOnOrder); + return ( + experimentMixin.methods + .getSettingValue(experimentSettings.RECAL_PRICE_REMOVE) + ?.toLowerCase() === "true" && this.isRecalibrationOnOrder + ); }, showAfterpayBanner() { return ( diff --git a/src/layouts/vehicle-damage/vehicle-damage.vue b/src/layouts/vehicle-damage/vehicle-damage.vue index 732e23ba9..7cce1c120 100644 --- a/src/layouts/vehicle-damage/vehicle-damage.vue +++ b/src/layouts/vehicle-damage/vehicle-damage.vue @@ -436,7 +436,6 @@ export default { policy.policyNumber !== ""; const skipVin = await skipVinLookup(); - if (vehicleChangedDuringPolicyLookupInHeritage) { if (skipVin) { this.$router.navigateWithSaving( @@ -455,13 +454,22 @@ export default { { [routerParams.DISPLAY_VEHICLE_CHANGE_ALERT]: false } ); } else { - this.$router.navigateWithSaving( - this.navigationScenarios - .CLICKED_FORWARD_WITH_REPLACE_AND_VERIFIED_INSURANCE, - this.$route, - {}, - { [routerParams.DISPLAY_VEHICLE_CHANGE_ALERT]: false } - ); + if (store.getters.vehicle.vin) { + this.$router.navigateWithSaving( + this.navigationScenarios + .CLICKED_FORWARD_WITH_REPLACE_AND_VERIFIED_INSURANCE, + this.$route, + {}, + { [routerParams.DISPLAY_VEHICLE_CHANGE_ALERT]: false } + ); + } else { + this.$router.navigateWithSaving( + this.navigationScenarios.CLICKED_FORWARD_WITHOUT_VIN, + this.$route, + {}, + { [routerParams.DISPLAY_VEHICLE_CHANGE_ALERT]: false } + ); + } } } } diff --git a/src/styles/common-styles.scss b/src/styles/common-styles.scss index 32b837dc3..002debed8 100644 --- a/src/styles/common-styles.scss +++ b/src/styles/common-styles.scss @@ -71,15 +71,11 @@ body { // Fix "iOS viewport scroll bug" issue on iPhone // where bottom of page is covered by address bar - @media only screen - and (min-device-width: 375px) - and (max-device-width: 812px) - and (-webkit-min-device-pixel-ratio: 3) - and (orientation: portrait) { - .page-container-grouped-styles { - padding-bottom: 3rem; - } - } + @media only screen and (min-device-width: 375px) and (max-device-width: 812px) and (-webkit-min-device-pixel-ratio: 3) and (orientation: portrait) { + .page-container-grouped-styles { + padding-bottom: 3rem; + } + } } .modal-open { .container-fluid {