CASH-2098

CASH-2098 additional experiment settings to control the mobile first modal on schedule page.
This commit is contained in:
CarlNation 2026-01-29 08:47:00 -05:00
parent 1e822acc0b
commit bef358aff7
2 changed files with 53 additions and 6 deletions

View file

@ -36,6 +36,9 @@ const experimentSettings = {
SHOW_PM_MOBILE_DAYS: "Show_PMmobileDays",
SHOW_NO_PM_MOBILE_DAYS: "Show_NoPMmobileDays",
SHOW_NO_MOBILE_AVAILABLE_DAYS: "Show_NoMobileAvailableDays",
SHOW_MOBILE_FIRST_POPUP_REPAIR: "Show_Mobile_First_Popup_Repair",
SHOW_MOBILE_FIRST_POPUP_REPLACE_WITHOUT_MSR: "Show_Mobile_First_Popup_Replace_Without_MSR",
SHOW_MOBILE_FIRST_POPUP_REPLACE_WITH_MSR: "Show_Mobile_First_Popup_Replace_With_MSR",
OFFER_OEM: "OfferOem",
USE_ADYEN_PAYMENT: "UseAdyenPayment",
};

View file

@ -1840,7 +1840,19 @@ export default {
const noMobileAvailableDays = experimentMixin.methods.getSettingValue(
experimentSettings.SHOW_NO_MOBILE_AVAILABLE_DAYS
);
const mobileFirstPopupRepairSetting = experimentMixin.methods.getSettingValue(
experimentSettings.SHOW_MOBILE_FIRST_POPUP_REPAIR
);
const mobileFirstPopupReplaceWithoutMsrSetting = experimentMixin.methods.getSettingValue(
experimentSettings.SHOW_MOBILE_FIRST_POPUP_REPLACE_WITHOUT_MSR
);
const mobileFirstPopupReplaceWithMsrSetting = experimentMixin.methods.getSettingValue(
experimentSettings.SHOW_MOBILE_FIRST_POPUP_REPLACE_WITH_MSR
);
const order = this.$store.getters.order;
const isRepair = order.damage.isRepair;
let preSelectedMobileAppointment = null;
const todaysDate = getTodayDate();
let firstMobileAMAppt = await this.getFirstAvailableMobileApptByTOD("AM");
@ -1856,12 +1868,44 @@ export default {
(new Date(firstMobilePMDate) - todaysDate) / (1000 * 60 * 60 * 24);
const shouldExposeMobileFirstAppointment = () => {
return (
(firstMobileAMDate &&
numberOfDaysToFirstMobileAMDate <= noMobileAvailableDays) ||
(firstMobilePMDate &&
numberOfDaysToFirstMobilePMDate <= noMobileAvailableDays)
);
const mobileFirstDaysCheck = (firstMobileAMDate && numberOfDaysToFirstMobileAMDate <= noMobileAvailableDays) ||
(firstMobilePMDate && numberOfDaysToFirstMobilePMDate <= noMobileAvailableDays);
debugLog("MSR::: Mobile First Days Check:", mobileFirstDaysCheck);
if (mobileFirstPopupRepairSetting === "false" &&
mobileFirstPopupReplaceWithoutMsrSetting === "false" &&
mobileFirstPopupReplaceWithMsrSetting === "false") {
debugLog("MSR::: Mobile First Damage Popup settings are all false, using default check.");
return mobileFirstDaysCheck;
}
if (isRepair) {
if (mobileFirstPopupRepairSetting === "true") {
debugLog("MSR::: Mobile First Popup Repair setting is true, showing mobile first appointment for repair.");
return mobileFirstDaysCheck;
} else {
debugLog("MSR::: Mobile First Popup Repair setting is false, not showing mobile first appointment for repair.");
return false;
}
}
if (this.isMobileStaticRecalibrationApplicable) {
if (mobileFirstPopupReplaceWithMsrSetting === "true") {
debugLog("MSR::: Mobile First Popup Replace with MSR setting is true, showing mobile first appointment for replace with MSR.");
return mobileFirstDaysCheck;
} else {
debugLog("MSR::: Mobile First Popup Replace with MSR setting is false, not showing mobile first appointment for replace with MSR.");
return false;
}
}
if (mobileFirstPopupReplaceWithoutMsrSetting === "true") {
debugLog("MSR::: Mobile First Popup Replace without MSR setting is true, showing mobile first appointment for replace without MSR.");
return mobileFirstDaysCheck;
} else {
debugLog("MSR::: Mobile First Popup Replace without MSR setting is false, not showing mobile first appointment for replace without MSR.");
return false;
}
};
if (shouldExposeMobileFirstAppointment()) {