Merge remote-tracking branch 'origin/release/2026.08.13' into feature/CASH-2751

This commit is contained in:
Minojhini Valaiyapathi 2026-07-30 14:19:26 -04:00
commit bd5ba3c62b
2 changed files with 39 additions and 3 deletions

View file

@ -150,7 +150,7 @@ export default {
border-radius: 50rem; border-radius: 50rem;
border: none; border: none;
outline: 1px solid $gray-300; outline: 1px solid $gray-300;
box-shadow: 0px 1px 4px 0 rgba(0,0,0,0.2); box-shadow: 0px 1px 4px 0 rgba(0, 0, 0, 0.2);
color: $gray-650; color: $gray-650;
font-weight: 400; font-weight: 400;
padding-left: 1rem; padding-left: 1rem;

View file

@ -10,7 +10,10 @@
{{ serviceLocationText }} {{ serviceLocationText }}
</span> </span>
</h5> </h5>
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" alignLeft /> <funnelSubHeader
cmsWidgetName="FunnelSubHeaderWidget"
:overrideHeaderSubText="estimatedTimeText"
alignLeft />
<schedulingZipSearch <schedulingZipSearch
ref="schedulingZipSearch" ref="schedulingZipSearch"
v-model="zipSearchCode" v-model="zipSearchCode"
@ -107,6 +110,7 @@ import { AppointmentTypeStrings, PREMIUM_FEE_PART_TYPE } from "@/constants/sched
import { fetchCmsContentForPage } from "@/helpers/cms-content-helper"; import { fetchCmsContentForPage } from "@/helpers/cms-content-helper";
import { settleAllPromises } from "@/helpers/layout-helper"; import { settleAllPromises } from "@/helpers/layout-helper";
import { navigateToHeritageFunnel } from "@/helpers/heritage-integration/navigation-helper"; import { navigateToHeritageFunnel } from "@/helpers/heritage-integration/navigation-helper";
import { getDisplayTextForDurationLength } from "@/helpers/duration-length-helper";
import { import {
flushPagePrereqsLogs, flushPagePrereqsLogs,
hasServiceZipInfo, hasServiceZipInfo,
@ -308,6 +312,19 @@ export default {
viewMoreShopsText() { viewMoreShopsText() {
return this.getCmsContent("ViewMoreShopsWidget", "Text"); return this.getCmsContent("ViewMoreShopsWidget", "Text");
}, },
estimatedTimeText() {
if (!this.estimatedServiceMinutesMinimum || !this.estimatedServiceMinutesMaximum) {
return " ";
}
const durationText = getDisplayTextForDurationLength(
this.estimatedServiceMinutesMinimum,
this.estimatedServiceMinutesMaximum
);
return this.getCmsContent("FunnelSubHeaderWidget", "HeaderSubText").replace(
"{custom:DURATION}",
durationText
);
},
serviceZipCode() { serviceZipCode() {
return store.getters.order.serviceLocation.zipCode; return store.getters.order.serviceLocation.zipCode;
}, },
@ -359,6 +376,8 @@ export default {
datesLoaded: false, datesLoaded: false,
datePickerStartDate: toDateString(0), datePickerStartDate: toDateString(0),
datePickerEndDate: toDateString(SCHEDULE_FETCH_DAYS - 1), datePickerEndDate: toDateString(SCHEDULE_FETCH_DAYS - 1),
estimatedServiceMinutesMinimum: null,
estimatedServiceMinutesMaximum: null,
inshopProvidersAndTimeSlots: [], inshopProvidersAndTimeSlots: [],
allShopProviders: [], allShopProviders: [],
mobileProviderAndTimeSlot: null, mobileProviderAndTimeSlot: null,
@ -411,12 +430,29 @@ export default {
includeMobile: Boolean(mobileProviderNumber), includeMobile: Boolean(mobileProviderNumber),
pageNameToLog, pageNameToLog,
}); });
if (timeSlotsResultMap.inshopTimeSlots) {
this.estimatedServiceMinutesMinimum =
timeSlotsResultMap.inshopTimeSlots.estimatedServiceMinutesMinimum;
this.estimatedServiceMinutesMaximum =
timeSlotsResultMap.inshopTimeSlots.estimatedServiceMinutesMaximum;
} else if (timeSlotsResultMap.mobileTimeSlots) {
this.estimatedServiceMinutesMinimum =
timeSlotsResultMap.mobileTimeSlots.estimatedServiceMinutesMinimum;
this.estimatedServiceMinutesMaximum =
timeSlotsResultMap.mobileTimeSlots.estimatedServiceMinutesMaximum;
} else {
this.estimatedServiceMinutesMinimum = null;
this.estimatedServiceMinutesMaximum = null;
}
assignInshopTimeSlotsFromV2Response( assignInshopTimeSlotsFromV2Response(
this.inshopProvidersAndTimeSlots, this.inshopProvidersAndTimeSlots,
timeSlotsResultMap.inshopTimeSlots timeSlotsResultMap.inshopTimeSlots
); );
if (this.mobileProviderAndTimeSlot) { if (this.mobileProviderAndTimeSlot) {
this.mobileProviderAndTimeSlot.timeSlots = timeSlotsResultMap.mobileTimeSlots ?? null; this.mobileProviderAndTimeSlot.timeSlots =
timeSlotsResultMap.mobileTimeSlots ?? null;
} }
this.datesLoaded = true; this.datesLoaded = true;
}, },