diff --git a/src/layouts/schedule/schedule.vue b/src/layouts/schedule/schedule.vue index ff723d9cb..3fd83b2ab 100644 --- a/src/layouts/schedule/schedule.vue +++ b/src/layouts/schedule/schedule.vue @@ -24,6 +24,7 @@ { 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; @@ -1849,13 +1857,6 @@ export default { this.forwardButtonAction(); }, }, - watch: { - appointmentTypeFromAppointmentTypeQuestion: { - handler(newValue, oldValue) { - this.handleAppointmentTypeChange(newValue); - }, - }, - }, components: { funnelHeader, navbar,