diff --git a/src/digital-components/modal/modal.vue b/src/digital-components/modal/modal.vue index 3c3efd05b..9f2be7764 100644 --- a/src/digital-components/modal/modal.vue +++ b/src/digital-components/modal/modal.vue @@ -160,6 +160,10 @@ export default { return this.staticBackdrop ? "static" : "true"; }, }, + unmounted() { + // remove any modal effects before leaving page (e.g. user hits browser back button) + this.closeModal(); + }, components: { modalButtonMain, }, diff --git a/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue b/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue index fe49fe30e..3bcc1a7a4 100644 --- a/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue +++ b/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue @@ -57,10 +57,6 @@ export default { modalWidgetName: String, pageName: String, }, - unmounted() { - // remove any modal effects before leaving page (e.g. user hits browser back button) - this.modal?.closeModal(); - }, computed: { buttonText() { return this.getCmsContent(this.modalWidgetName, "SubheaderText"); diff --git a/src/fmg-components/save-progress-popup-question/save-progress-popup-question.vue b/src/fmg-components/save-progress-popup-question/save-progress-popup-question.vue index 19b1b3629..318d11793 100644 --- a/src/fmg-components/save-progress-popup-question/save-progress-popup-question.vue +++ b/src/fmg-components/save-progress-popup-question/save-progress-popup-question.vue @@ -54,10 +54,6 @@ export default { mounted() { if (this.showSaveProgressPopup) this.modal.openModal(); }, - unmounted() { - // remove any modal effects before leaving page (e.g. user hits browser back button) - this.modal.closeModal(); - }, emits: ["close-save-progress-popup", "save-progress"], // <--- should remove oodles of warnings in dev tools props: { modelValue: Object, diff --git a/src/layouts/schedule/schedule.vue b/src/layouts/schedule/schedule.vue index 5c54c07f3..d3d382980 100644 --- a/src/layouts/schedule/schedule.vue +++ b/src/layouts/schedule/schedule.vue @@ -167,6 +167,7 @@ :timeSlotsForSelectedDate="timeSlotsForSelectedDate" :isSameDay="isSameDay" :selectedRouteCodeData="selectedRouteCodeData" + :isDatePickerDoneInitializing="isDatePickerDoneInitializing" @waitListRequested="handleWaitListRequested" />
@@ -133,6 +137,7 @@ export default { isSameDay: Boolean, displayWaitList: Boolean, selectedRouteCodeData: Object, + isDatePickerDoneInitializing: Boolean, }, data() { return { @@ -186,6 +191,9 @@ export default { this.updateDropoffAndTimeSlotAnswersFromSelectedRouteCodeData(newValue); }, timeSlotsForSelectedDate() { + if (!this.isDatePickerDoneInitializing) { + return; + } // needed otherwise it nulls these too early and prevents a previously selected time slot from auto-selecting this.selectedAnswerForDropOffOrInshop = null; this.selectedAnswerForTimeSlots = null; this.autoSelectTimeSlotIfOnlyOneIsAvailable(); @@ -389,7 +397,7 @@ export default { this.answersForDropOffQuestion[0].value !== PICK_A_TIME_BUTTON_VALUE ); }, - shouldDisplayTimeSlotQuestion() { + displayTimeSlotQuestion() { return ( this.selectedAnswerForDropOffOrInshop == PICK_A_TIME_BUTTON_VALUE || !this.isDropOffAppointmentAvailable