Merge pull request #2131 from Safelite/rlsmerge/2024.11.21-to-dev-freeze
Rlsmerge/2024.11.21 to dev freeze
This commit is contained in:
commit
413a01dc68
9 changed files with 79 additions and 57 deletions
|
|
@ -14,6 +14,8 @@ This will compile and output .css files (into the public/css folder) that can be
|
||||||
|
|
||||||
From a windows machine, I ran an install for sass even though it is listed in node_modules. It would not run unless I did an install:
|
From a windows machine, I ran an install for sass even though it is listed in node_modules. It would not run unless I did an install:
|
||||||
npm install -g sass
|
npm install -g sass
|
||||||
|
|
||||||
|
Then from \git\DigitalConsumer.FixMyGlass\public
|
||||||
sass --no-source-map --watch scss:css
|
sass --no-source-map --watch scss:css
|
||||||
|
|
||||||
Then committed the css files and reverted the package.json file so I didn't commit an upgraded version of sass
|
Then committed the css files and reverted the package.json file so I didn't commit an upgraded version of sass
|
||||||
|
|
@ -299,7 +299,15 @@ body .cc-error-container #alert-message {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
#fmg-checkout-shared #other-payments-container .italicSmall {
|
#fmg-checkout-shared #other-payments-container .italicSmall {
|
||||||
margin-top: 10px;
|
margin-top: 24px;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #525656;
|
||||||
|
}
|
||||||
|
#fmg-checkout-shared #other-payments-container .disclaimerContainerv2 {
|
||||||
|
margin-bottom: 24px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #525656;
|
||||||
}
|
}
|
||||||
@media only screen and (max-device-width: 767px) {
|
@media only screen and (max-device-width: 767px) {
|
||||||
#fmg-checkout-shared #applepay-and-paypal-container {
|
#fmg-checkout-shared #applepay-and-paypal-container {
|
||||||
|
|
|
||||||
|
|
@ -379,8 +379,17 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
.italicSmall {
|
.italicSmall {
|
||||||
margin-top: 10px;
|
margin-top: 24px;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #525656;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.disclaimerContainerv2 {
|
||||||
|
margin-bottom: 24px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #525656;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (max-device-width: 767px) {
|
@media only screen and (max-device-width: 767px) {
|
||||||
|
|
|
||||||
|
|
@ -341,12 +341,6 @@ describe("cart.vue", () => {
|
||||||
expect(wrapper.vm.servicePackageDiscountCartItem).not.toBeNull();
|
expect(wrapper.vm.servicePackageDiscountCartItem).not.toBeNull();
|
||||||
expect(wrapper.vm.servicePackageDiscountCartItem.subTotal).toEqual(-70);
|
expect(wrapper.vm.servicePackageDiscountCartItem.subTotal).toEqual(-70);
|
||||||
expect(wrapper.vm.servicePackageDiscountCartItem.salesTax).toEqual(0);
|
expect(wrapper.vm.servicePackageDiscountCartItem.salesTax).toEqual(0);
|
||||||
|
|
||||||
const found =
|
|
||||||
wrapper.vm.cartItems.findIndex(
|
|
||||||
(cartItem) => cartItem == wrapper.vm.servicePackageDiscountCartItem
|
|
||||||
) >= 0;
|
|
||||||
expect(found).toBe(true);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Other Supporting Items Cart Item
|
// Other Supporting Items Cart Item
|
||||||
|
|
|
||||||
|
|
@ -162,10 +162,15 @@ import promoModalQuestion from "@/fmg-components/promo-modal-question/promo-moda
|
||||||
|
|
||||||
// Mixins
|
// Mixins
|
||||||
import baseMixin from "@/mixins/base-mixin.js";
|
import baseMixin from "@/mixins/base-mixin.js";
|
||||||
|
import experimentMixin from "@/mixins/experiment-mixin.js";
|
||||||
|
|
||||||
// Helpers
|
// Helpers
|
||||||
import { deepClone } from "@/helpers/object-helper";
|
import { deepClone } from "@/helpers/object-helper";
|
||||||
import { getHighestFullySatisfiedTier, getPackageContents } from "@/helpers/service-package-helper";
|
import {
|
||||||
|
getHighestFullySatisfiedTier,
|
||||||
|
getPackageContents,
|
||||||
|
getDiscountPackageName,
|
||||||
|
} from "@/helpers/service-package-helper";
|
||||||
import { getPromoCodeWithoutBundleIdentifier } from "@/helpers/promotions-helper";
|
import { getPromoCodeWithoutBundleIdentifier } from "@/helpers/promotions-helper";
|
||||||
import { storeActions } from "@/constants/store-actions";
|
import { storeActions } from "@/constants/store-actions";
|
||||||
|
|
||||||
|
|
@ -174,6 +179,7 @@ import { partTypeStrings } from "@/constants/part-type-strings";
|
||||||
import { cartItemCategories } from "@/constants/cart-item-categories";
|
import { cartItemCategories } from "@/constants/cart-item-categories";
|
||||||
import { cartItemTypes } from "@/constants/cart-item-types";
|
import { cartItemTypes } from "@/constants/cart-item-types";
|
||||||
import { coverageStatus, cartItemTypesCoveredByInsurance } from "@/constants/insurance";
|
import { coverageStatus, cartItemTypesCoveredByInsurance } from "@/constants/insurance";
|
||||||
|
import { experimentSettings } from "@/constants/experiments";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "cart",
|
name: "cart",
|
||||||
|
|
@ -424,7 +430,10 @@ export default {
|
||||||
cartItems.push(this.mobileFeeCartItem);
|
cartItems.push(this.mobileFeeCartItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.servicePackageDiscountCartItem) {
|
if (
|
||||||
|
this.servicePackageDiscountCartItem &&
|
||||||
|
this.discountPackageNames == this.packageLevel
|
||||||
|
) {
|
||||||
cartItems.push(this.servicePackageDiscountCartItem);
|
cartItems.push(this.servicePackageDiscountCartItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -441,6 +450,12 @@ export default {
|
||||||
return cartItems;
|
return cartItems;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
discountPackageNames() {
|
||||||
|
const discountServicePackage = experimentMixin.methods.getSettingValue(
|
||||||
|
experimentSettings.PROMO_ON_PACKAGE
|
||||||
|
);
|
||||||
|
return getDiscountPackageName(discountServicePackage);
|
||||||
|
},
|
||||||
servicePackageTitleWidget() {
|
servicePackageTitleWidget() {
|
||||||
const servicePackageNames = this.getCmsContent(
|
const servicePackageNames = this.getCmsContent(
|
||||||
this.servicePackageOptionsCmsName,
|
this.servicePackageOptionsCmsName,
|
||||||
|
|
|
||||||
|
|
@ -294,8 +294,8 @@ export default {
|
||||||
margin: 0 0 0 7px;
|
margin: 0 0 0 7px;
|
||||||
color: #1574a1;
|
color: #1574a1;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
font-weight: 500;
|
font-weight: 600;
|
||||||
font-family: "Roboto";
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
.add-to-calendar button {
|
.add-to-calendar button {
|
||||||
border: 0;
|
border: 0;
|
||||||
|
|
@ -307,7 +307,8 @@ export default {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
.calendar-section .add-to-calendar {
|
.calendar-section .add-to-calendar {
|
||||||
padding-top: 15px;
|
padding: 1rem 0;
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
.calendar-section .add-to-calendar .add-to-calendar-span {
|
.calendar-section .add-to-calendar .add-to-calendar-span {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
:scheduleStartTime="ScheduleStartTime"
|
:scheduleStartTime="ScheduleStartTime"
|
||||||
:scheduleEndTime="ScheduleEndTime" />
|
:scheduleEndTime="ScheduleEndTime" />
|
||||||
|
|
||||||
<div class="appoinmenttext" v-html="AppointmentWordingText"></div>
|
<div class="appointment-text" v-html="AppointmentWordingText"></div>
|
||||||
|
|
||||||
<textBlock
|
<textBlock
|
||||||
:customText="AppointmentDuration"
|
:customText="AppointmentDuration"
|
||||||
|
|
@ -344,7 +344,9 @@ export default {
|
||||||
}
|
}
|
||||||
if (this.AppointmentType == AppointmentTypeStrings.DROP_OFF) {
|
if (this.AppointmentType == AppointmentTypeStrings.DROP_OFF) {
|
||||||
if (
|
if (
|
||||||
this.submittedOrder?.schedule?.routeCode.includes(RouteCodeFlags.OVERNIGHT_DROP_OFF)
|
this.submittedOrder?.schedule?.routeCode.includes(
|
||||||
|
RouteCodeFlags.OVERNIGHT_DROP_OFF
|
||||||
|
)
|
||||||
) {
|
) {
|
||||||
return `Drop off before 5:30 PM`;
|
return `Drop off before 5:30 PM`;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -486,41 +488,7 @@ export default {
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.calendar-section[data-v-8004c52c] {
|
|
||||||
display: table;
|
|
||||||
position: relative;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-section .add-to-calendar {
|
|
||||||
padding: 1rem 0;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.add-to-calendar button {
|
|
||||||
border: 0;
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.appoinmenttext p {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-section .add-to-calendar .add-to-calendar-span {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.calendar-section .add-to-calendar .add-to-calendar-img {
|
|
||||||
display: inline;
|
|
||||||
width: 20px;
|
|
||||||
}
|
|
||||||
.add-to-calendar-text {
|
|
||||||
margin: 0 0 0 7px;
|
|
||||||
color: #0070d1;
|
|
||||||
vertical-align: middle;
|
|
||||||
font-weight: 500;
|
|
||||||
font-family: "Roboto";
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
.header-container {
|
.header-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -540,8 +508,13 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.appoinmenttext strong {
|
.appointment-text {
|
||||||
color: $black;
|
p {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
strong {
|
||||||
|
color: $black;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.emailtext {
|
.emailtext {
|
||||||
|
|
|
||||||
|
|
@ -533,11 +533,23 @@ export default {
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
this.dispatchStoreAction(
|
if (this.isInsuranceSelected && this.isServicePackageDiscountOnOrder) {
|
||||||
this.storeActions.SAVE_SUPPORTING_ITEMS,
|
let supportingItems = this.lineItems.supportingItems;
|
||||||
this.lineItems.supportingItems,
|
supportingItems = supportingItems.filter((item) => {
|
||||||
false
|
return item.partType != this.servicePackageDiscountParts[0].partType;
|
||||||
);
|
});
|
||||||
|
this.dispatchStoreAction(
|
||||||
|
this.storeActions.SAVE_SUPPORTING_ITEMS,
|
||||||
|
supportingItems,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
this.dispatchStoreAction(
|
||||||
|
this.storeActions.SAVE_SUPPORTING_ITEMS,
|
||||||
|
this.lineItems.supportingItems,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
}
|
||||||
this.dispatchStoreAction(this.storeActions.SAVE_VAPS, this.lineItems.vaps, false);
|
this.dispatchStoreAction(this.storeActions.SAVE_VAPS, this.lineItems.vaps, false);
|
||||||
this.dispatchStoreAction(
|
this.dispatchStoreAction(
|
||||||
storeActions.SAVE_ACTIVE_AND_OR_INACTIVE_PROMOS,
|
storeActions.SAVE_ACTIVE_AND_OR_INACTIVE_PROMOS,
|
||||||
|
|
|
||||||
|
|
@ -939,7 +939,7 @@ export const getters = {
|
||||||
.reduce((r, c) => Object.assign(r, c), {}) ?? {},
|
.reduce((r, c) => Object.assign(r, c), {}) ?? {},
|
||||||
|
|
||||||
isVerifiedAndDeductibleZeroConfirmed: (state) => {
|
isVerifiedAndDeductibleZeroConfirmed: (state) => {
|
||||||
// used as a CMS variable on /payment-method, needed for FunnelSubHeaderWidget on cart pages
|
// used in CMS on /payment-method in Header Sub Text, for FunnelSubHeaderWidget on cart pages
|
||||||
if (
|
if (
|
||||||
state.order.policy.currentDeductible === 0 &&
|
state.order.policy.currentDeductible === 0 &&
|
||||||
getters.coverageIsVerified(state) &&
|
getters.coverageIsVerified(state) &&
|
||||||
|
|
@ -949,6 +949,14 @@ export const getters = {
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
isItacOrNoComp: (state) => {
|
||||||
|
// used in CMS on /payment-method in Header Sub Text, for FunnelSubHeaderWidget on cart pages
|
||||||
|
if (state.order.policy.isNoComp || state.order.policy.isItac) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
requiresVerifiedRedirecting: (state) => {
|
requiresVerifiedRedirecting: (state) => {
|
||||||
return state.order?.referralNumber?.length === 6;
|
return state.order?.referralNumber?.length === 6;
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue