Merge branch 'develop' into feature/bchalla

This commit is contained in:
JennyNou 2025-12-09 15:13:06 -05:00 committed by GitHub
commit 17e1b6774c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 44 additions and 42 deletions

View file

@ -30,7 +30,7 @@ export class HomePage extends BasePage {
super(page);
this.page = page;
this.letsGetStartedButton = this.page.locator('.hero-content #zipCodeTextboxButton');
this.letsGetStartedButton = this.page.locator('#zipCodeTextboxButton');
this.cusmodalPopup = this.page.locator('#Cusmodalpopup');
this.closePopupButton = this.page.getByRole('button', { name: '×' });

View file

@ -75,17 +75,12 @@ export default {
:deep(a) {
text-decoration: none;
&.new-window-link {
font-family: Urbanist, Arial, Helvetica, sans-serif;
margin: 0 0.75rem;
color: $gray-600;
font-weight: 400;
}
&.new-window-link,
&.navigation-link {
font-family: Urbanist, Arial, Helvetica, sans-serif;
font-family: UrbanistRegular, Arial, Helvetica, sans-serif;
margin: 0 0.75rem;
color: $gray-600;
font-weight: 400;
font-weight: initial;
}
}

View file

@ -986,8 +986,9 @@ export default {
}
}
}
:deep(span.label) {
font-weight: 600;
:deep(span.label),
:deep(span) {
font-family: UrbanistSemibold, Arial, Helvetica, sans-serif;
}
:deep(div.service-questions span) {
color: $black;

View file

@ -581,7 +581,7 @@ export default {
return store.getters.isRecalibrationOnOrder;
},
isQuotePageDiscountOnOrder() {
return this.quotePageDiscountPartsInfo?.length > 0;
return this.quoteDiscountPartsInfo?.length > 0;
},
shouldHideRecalibration() {
return (

View file

@ -294,12 +294,11 @@ export default {
.pricing-info .insurance-pricing span {
font-size: 0.875rem;
font-family: Urbanist, Arial, Helvetica, sans-serif;
font-weight: 500;
font-family: UrbanistSemibold, Arial, Helvetica, sans-serif;
}
p {
font-family: Urbanist, Arial, Helvetica, sans-serif;
font-family: UrbanistSemibold, Arial, Helvetica, sans-serif;
display: flex;
justify-content: space-between;
align-items: center;
@ -312,7 +311,6 @@ export default {
color: $green;
font-size: 0.875rem;
font-family: UrbanistSemibold, Arial, Helvetica, sans-serif;
font-weight: 600;
@include media-breakpoint-up(md) {
position: absolute;
bottom: 0.75rem;

View file

@ -76,6 +76,7 @@ export default {
let selectedTimeSlot = {
timeSlot: this.selectedAppontment.timeSlot,
routeCode: this.selectedAppontment.timeSlot.id,
date: this.selectedAppontment.date,
};
this.$emit("confirm-appointment", selectedTimeSlot);
this.modal.closeModal();

View file

@ -1,6 +1,6 @@
<template>
<Form @submit="onSubmit" @invalid-submit="onInvalidSubmit" ref="theForm">
<loadingModal ref="loadingModal" />
<loadingModal notFullScreen ref="loadingModal" />
<funnelHeader cmsWidgetName="FunnelHeaderWidget" ref="funnelHeader" />
<mobileFirstModal
modalWidgetName="MobileFirstModalWidget"
@ -469,6 +469,11 @@ export default {
navigatingForward: false,
shopListButton: shopListButton,
lastSelectedInshopOrDropoffProvider: null,
selectedMobileFirstAppointment: false,
isShowMobileFirstAppt: experimentMixin.methods.hasSettingEqualTo(
experimentSettings.SHOW_MOBILE_FIRST_APPT,
"true"
),
};
},
async beforeRouteEnter(to, from, next) {
@ -597,7 +602,9 @@ export default {
pricedMobileFeePart,
shopProviderData.data
);
vm.initializeDatePicker();
vm.initializeDatePicker().then(() => {
vm.showMobileFirstModal();
});
});
},
computed: {
@ -858,7 +865,9 @@ export default {
);
},
isMobileFirstModalOpen() {
return this.isMobileSelected ? this.$refs.mobileFirstModal?.getIsModalOpen() : false;
return this.selectableDatesMobile.days
? this.$refs.mobileFirstModal?.getIsModalOpen()
: false;
},
},
methods: {
@ -1187,12 +1196,12 @@ export default {
moreShopTimeSlots.mobileTimeSlotsData.days
);
this.showMobileFirstModal();
return moreShopTimeSlots;
},
async initializeDatePicker() {
this.isShowMobileFirstAppt && this.showLoadingModal();
this.selectedDate = null;
const includeMobileTimeSlots = this.isServiceableMobile;
@ -1230,6 +1239,8 @@ export default {
this.setDisplayWaitList();
}
}
this.isShowMobileFirstAppt && this.hideLoadingModal();
},
getScheduleApiResponse,
getServiceZipCtuCodeFromStore() {
@ -1346,6 +1357,9 @@ export default {
showLoadingModal() {
this.$refs.loadingModal.showModal();
},
hideLoadingModal() {
this.$refs.loadingModal.hideModal();
},
async forwardButtonAction() {
this.navigatingForward = true;
var ctu = this.zipCodeCtu;
@ -1678,7 +1692,9 @@ export default {
this.zipCode = newZipCode.zipCode;
this.zipCodeCtu = newZipCode.zipCodeCtu;
this.selectedDate = null;
this.initializeDatePicker();
this.initializeDatePicker().then(() => {
this.showMobileFirstModal();
});
});
},
updateSelectedProviderAndZipCode(newZipCode, newProvider) {
@ -1716,7 +1732,6 @@ export default {
}
this.appointmentType = AppointmentTypeStrings.MOBILE;
this.updateSelectedProvider();
this.showMobileFirstModal();
} else if (newAppointmentType) {
if (this.appointmentType != AppointmentTypeStrings.MOBILE) {
// Clear last shop selected if appointment type was changed in any manner other than from Mobile
@ -1742,11 +1757,7 @@ export default {
this.selectedDate = this.getFirstAvailableDate();
},
async showMobileFirstModal() {
if (this.appointmentType == AppointmentTypeStrings.MOBILE) {
const isShowMobileFirstAppt = experimentMixin.methods.hasSettingEqualTo(
experimentSettings.SHOW_MOBILE_FIRST_APPT,
"true"
);
if (!this.selectedRouteCodeData?.routeCode) {
const pmMobileDays = experimentMixin.methods.getSettingValue(
experimentSettings.SHOW_PM_MOBILE_DAYS
);
@ -1801,7 +1812,7 @@ export default {
);
}
if (isShowMobileFirstAppt) {
if (this.isShowMobileFirstAppt) {
if (firstMobilePMDate && numberOfDaysToFirstMobilePMDate <= pmMobileDays) {
preSelectedMobileAppointment = firstMobilePMAppt;
} else if (
@ -1824,9 +1835,6 @@ export default {
}
},
async getFirstAvailableMobileApptByTOD(timeOfDay) {
if (!this.selectableDatesMobile.days) {
await this.initializeDatePicker();
}
if (!this.selectableDatesMobile?.days?.length) {
return null;
} else {
@ -1853,6 +1861,10 @@ export default {
}
},
updateTimeSlotandNavigateForward(timeSlotObj) {
this.selectedMobileFirstAppointment = true;
this.appointmentType = AppointmentTypeStrings.MOBILE;
this.selectedDate = timeSlotObj.date;
this.updateSelectedProvider();
this.updateTimeSlot(timeSlotObj);
this.forwardButtonAction();
},
@ -1872,7 +1884,7 @@ export default {
const hasValueChanged = newValue !== oldValue;
const isDateDifferent = (newValue || oldValue) !== selectedDate;
if (hasValueChanged && isDateDifferent) {
if (hasValueChanged && isDateDifferent && !this.selectedMobileFirstAppointment) {
this.selectedTimeSlotInfo = {
timeSlot: {
date: null,

View file

@ -109,10 +109,10 @@ export default {
border-radius: $border-radius-pill;
a {
font-family: UrbanistSemibold;
display: inline-block;
text-decoration: none;
color: $white;
font-weight: $font-weight-600;
line-height: 1.5rem;
padding: 0.75rem 3rem;
}

View file

@ -123,8 +123,8 @@ $body-color: $gray-600;
//Fonts
$font-family-sans-serif: UrbanistRegular, Arial, Helvetica, sans-serif;
$font-family-monospace: UrbanistRegular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New",
monospace;
$font-family-monospace:
UrbanistRegular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
// stylelint-enable value-keyword-case
$font-family-base: $font-family-sans-serif;
$font-family-code: $font-family-monospace;

View file

@ -63,13 +63,13 @@ export default {
<style lang="scss">
.btn {
font-family: UrbanistSemibold, Arial, Helvetica, sans-serif;
&.btn-primary {
position: relative;
background: $red;
border: none;
color: $white;
justify-content: center;
font-weight: 500;
@media (hover: hover) {
background: $red;
}
@ -92,7 +92,6 @@ export default {
background: $gray-200 !important;
background: $red !important;
color: $white !important;
font-weight: 400;
height: 48px;
border: none;
cursor: pointer;
@ -116,7 +115,6 @@ export default {
background: transparent;
border: 1px solid $blue;
color: $blue;
font-weight: 500;
transition: all 150ms linear;
height: 3rem;
&:hover {
@ -137,7 +135,6 @@ export default {
&:disabled {
background: transparent;
color: $red !important;
font-weight: 400;
height: 48px;
border: 1px solid $red;
cursor: pointer;
@ -157,7 +154,6 @@ export default {
background: $green-100;
border: 1px solid $green-400;
color: $black;
font-weight: 500;
transition: all 150ms linear;
height: 3rem;
&:hover {
@ -177,7 +173,6 @@ export default {
&:disabled {
background: transparent;
color: $gray-550 !important;
font-weight: 400;
height: 48px;
border: 1px solid $gray-550;
cursor: pointer;