Merge branch 'release/2026.01.08' into feature/CASH-2036

This commit is contained in:
Chris 2025-12-16 15:17:18 -05:00 committed by GitHub
commit bf0fd2f5c1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -24,6 +24,7 @@
<appointmentTypeQuestion
v-model="appointmentTypeFromAppointmentTypeQuestion"
v-show="isAppointmentTypeDisplayed"
@handle-appointment-type-change="handleAppointmentTypeChange"
:isServiceableMobile="isServiceableMobile"
:isServiceableInshop="isServiceableInshop"
:isDisplayed="isAppointmentTypeDisplayed"
@ -438,8 +439,8 @@ export default {
pricingByDayBasePrice: null,
pricingByDayUpcharge: null,
showPricingByDay: null,
selectableDatesInshop: [],
selectableDatesMobile: [],
selectableDatesInshop: null,
selectableDatesMobile: null,
preSelectedDate: null,
streetAddress: this.getServiceAddressFromStore(),
apartmentNumberOrBusinessName: this.getServiceAddress2FromStore(),
@ -602,6 +603,7 @@ export default {
);
vm.initializeDatePicker().then(() => {
vm.showMobileFirstModal();
vm.setSelectedDateToFirstAvailable();
});
});
},
@ -827,13 +829,13 @@ export default {
},
estimatedServiceMinutesMinimum() {
return this.isMobileSelected
? this.selectableDatesMobile.estimatedServiceMinutesMinimum
: this.selectableDatesInshop.estimatedServiceMinutesMinimum;
? this.selectableDatesMobile?.estimatedServiceMinutesMinimum
: this.selectableDatesInshop?.estimatedServiceMinutesMinimum;
},
estimatedServiceMinutesMaximum() {
return this.isMobileSelected
? this.selectableDatesMobile.estimatedServiceMinutesMaximum
: this.selectableDatesInshop.estimatedServiceMinutesMaximum;
? this.selectableDatesMobile?.estimatedServiceMinutesMaximum
: this.selectableDatesInshop?.estimatedServiceMinutesMaximum;
},
timeSlotsForSelectedDate() {
if (!this.selectedDate) return null;
@ -841,11 +843,11 @@ export default {
if (this.isMobileSelected) {
const selectedDateString = selectedDate.replace("-mobile", "");
return this.selectableDatesMobile.days?.find(
return this.selectableDatesMobile?.days?.find(
(selectableDate) => selectableDate.date === selectedDateString
);
} else {
return this.selectableDatesInshop.days?.find(
return this.selectableDatesInshop?.days?.find(
(selectableDate) => selectableDate.date === this.selectedDate
);
}
@ -863,7 +865,7 @@ export default {
);
},
isMobileFirstModalOpen() {
return this.selectableDatesMobile.days
return this.selectableDatesMobile?.days
? this.$refs.mobileFirstModal?.getIsModalOpen()
: false;
},
@ -1015,7 +1017,9 @@ export default {
return store.getters.order.serviceLocation.isVehicleProtected;
},
getAppointmentTypeFromStore() {
return store.getters.order.serviceLocation.appointmentType;
const appointmentTypeFromStore = store.getters.order.serviceLocation.appointmentType;
this.handleAppointmentTypeChange(appointmentTypeFromStore);
return appointmentTypeFromStore;
},
getSelectedProviderFromStore() {
return store.getters.order.serviceLocation.provider;
@ -1036,6 +1040,7 @@ export default {
this.appointmentType = null;
this.selectedProvider = null;
this.appointmentTypeFromAppointmentTypeQuestion = null;
this.handleAppointmentTypeChange();
this.preSelectedDate = null;
},
setServiceabilityDetails(serviceabilityDetails) {
@ -1288,7 +1293,7 @@ export default {
}
}
*/
this.$refs.navbar.updateButtonText(navbarButtonText);
this.$refs.navbar?.updateButtonText(navbarButtonText);
},
convertSelectedDateToShortMonthAndDay(selectedDate) {
// This conversion ensures we don't get get GMT induced date changes
@ -1463,9 +1468,12 @@ export default {
this.showLoadingModal();
},
setDisplayWaitList() {
const dateString = this.isMobileSelected
? this.selectableDatesMobile?.days[0]?.date
: this.selectableDatesInshop?.days[0]?.date;
let dateString;
if (this.isMobileSelected && this.selectableDatesMobile?.days?.length) {
dateString = this.selectableDatesMobile.days[0].date;
} else if (this.selectableDatesInshop?.days?.length) {
dateString = this.selectableDatesInshop.days[0].date;
}
if (
experimentMixin.methods.hasSettingEqualTo(
experimentSettings.DISPLAY_WAITLIST,
@ -1634,9 +1642,9 @@ export default {
},
getFirstAvailableDate() {
let dateToSelect;
if (this.isMobileSelected) {
if (this.isMobileSelected && this.selectableDatesMobile?.days?.length) {
dateToSelect = returnFirstDate(this.selectableDatesMobile);
} else {
} else if (this.selectableDatesInshop?.days?.length) {
dateToSelect = returnFirstDate(this.selectableDatesInshop);
}
if (!dateToSelect) return null;
@ -1857,13 +1865,6 @@ export default {
this.forwardButtonAction();
},
},
watch: {
appointmentTypeFromAppointmentTypeQuestion: {
handler(newValue, oldValue) {
this.handleAppointmentTypeChange(newValue);
},
},
},
components: {
funnelHeader,
navbar,