From d068ff44464229ea10a045bce725400fc64c2b17 Mon Sep 17 00:00:00 2001 From: Bill Richardson Date: Mon, 23 Mar 2026 17:26:41 -0400 Subject: [PATCH] updates for mobile first feel like i removed something --- src/constants/analytics.js | 15 ++- src/layouts/schedule-page/schedule-page.vue | 104 ++++++++++----- .../suggest-timeslot-modal.vue | 126 +++++++++++++----- src/mixins/experiment-mixin.js | 4 + src/store/index.js | 3 + 5 files changed, 185 insertions(+), 67 deletions(-) diff --git a/src/constants/analytics.js b/src/constants/analytics.js index c0171209..8cf147e8 100644 --- a/src/constants/analytics.js +++ b/src/constants/analytics.js @@ -11,22 +11,29 @@ const GaEvents = Object.freeze({ const GaCategories = Object.freeze({ API_RESPONSE: 'Api_Response', + CONFIRMATION_CLICKED: "confirmation clicked", + CONFIRMATION_CLICKED_INSHOP: "inshop confirmation clicked", + CONFIRMATION_CLICKED_MOBILE: "mobile confirmation clicked", EVOX: 'Evox' }); const GaActions = Object.freeze({ - RESULT: 'Result', CLICKED: 'Clicked', + NO: "no", + RESULT: 'Result', + SUBMITTED: 'Submitted', VIF: 'vif', - SUBMITTED: 'Submitted' + YES: "yes", }); const GaLabels = Object.freeze({ - SUCCESS: 'Success', + ADDRESS_LOOKUP: 'Address_Look_up', ERROR: 'Error', LICENSE_PLATE_LOOKUP: 'License_Plate_Look_Up', + NO: "no", + SUCCESS: 'Success', VIN_LOOKUP: 'Vin_Look_Up', - ADDRESS_LOOKUP: 'Address_Look_up' + YES: "yes", }); const ValueToLogTypes = Object.freeze({ diff --git a/src/layouts/schedule-page/schedule-page.vue b/src/layouts/schedule-page/schedule-page.vue index 7a57cd9f..aca58bb4 100644 --- a/src/layouts/schedule-page/schedule-page.vue +++ b/src/layouts/schedule-page/schedule-page.vue @@ -62,7 +62,9 @@ + cmsWidgetName="SuggestTimeslotModal" + @confirmAppointmentClicked="autoSelectTimeslotConfirmed" + @seeMoreOptionsClicked="seeMoreOptions"/> diff --git a/src/mixins/experiment-mixin.js b/src/mixins/experiment-mixin.js index 5b1f7142..7f9a761e 100644 --- a/src/mixins/experiment-mixin.js +++ b/src/mixins/experiment-mixin.js @@ -8,6 +8,10 @@ export default { hasSetting(settingName) { return Object.hasOwn(useMainStore().experimentSettings, settingName); }, + getExperimentByName(experimentName) { + const experiment = useMainStore().applicationUser.experiments.find((e) => e.universeName === experimentName); + return experiment ? experiment : null; + }, getSettingValue(settingName) { return this.hasSetting(settingName) ? useMainStore().experimentSettings[settingName] diff --git a/src/store/index.js b/src/store/index.js index 8a4f1b34..2d2b6040 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -2587,6 +2587,9 @@ export const useMainStore = defineStore({ } ); }, + logMobileFirstExperimentExposure() { + this.logExperimentIfExists(issPageValues.SCHEDULE_PAGE, experimentUniverses.ISS_MOBILE_FIRST_APPOINTMENTS); + }, logWelcomePageExperiments(issPage) { this.logExperimentIfExists(issPage, experimentUniverses.ISS_FEATURETOGGLE_AREFEES_HIDDEN); this.logExperimentIfExists(issPage, experimentUniverses.ISS_FEATURETOGGLE_AREFEES_OVERRIDDEN);