From fa3ae5cca367155d239b458d88e885d8fc742cdb Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Thu, 10 Apr 2025 17:00:04 -0400 Subject: [PATCH 01/18] CASH-499 WIP calendar updates. --- .../date-picker-for-pricing-by-day.vue | 99 +++++++++---------- 1 file changed, 45 insertions(+), 54 deletions(-) diff --git a/src/experiment-components/date-picker-for-pricing-by-day.vue b/src/experiment-components/date-picker-for-pricing-by-day.vue index cad976cf7..5e50def6b 100644 --- a/src/experiment-components/date-picker-for-pricing-by-day.vue +++ b/src/experiment-components/date-picker-for-pricing-by-day.vue @@ -962,9 +962,7 @@ export default { &.selectable-day { label { - color: $blue; background-color: $blue-100; - border: 1px solid $blue; min-width: 2.5rem; width: 2.5rem; border-radius: 50%; @@ -972,12 +970,11 @@ export default { } &.unavailable-day { label { - color: $gray-500; - background-color: $gray-100; border: none; pointer-events: none; } } + //NEEDED? &.unavailable-day:not(&.sunday) { label { &::before { @@ -987,7 +984,6 @@ export default { left: -1rem; width: 1rem; height: 2.5rem; - background: $gray-100; } } } @@ -1094,11 +1090,10 @@ export default { } } } - + // pricing by day override styles &.pricing-by-day { - // pricing by day override styles .calendar-grid-container .grid-item { - margin: 0; + margin: 0 0 0.15rem 0; } .month-year { grid-area: 1 / 1 / 2 / 8; @@ -1109,9 +1104,8 @@ export default { .radio-wrapper { align-items: flex-start; width: 100%; - height: 3rem; - color: $gray-500; - background-color: $gray-100; + height: 2.5rem; + color: $black; input[type="radio"] { &:focus-visible + label { @@ -1122,42 +1116,35 @@ export default { &:checked:focus + label { box-shadow: none; background-color: $white; - color: $blue; + color: $black; } &:checked + label { background: $blue-100; border: 2px solid $blue; - border-radius: 4px; - color: $blue; + border-radius: .25rem; + color: $black; + span { + font-family: AvertaSemibold; + font-weight: 400; + } } } label { flex-direction: column; - height: 3rem; + height: 2.5rem; width: 100%; font-size: 0.75rem; line-height: 1.2; - justify-content: flex-start; + justify-content: center; padding: 0.25rem; - - span { - margin-top: 0.25rem; - } } &.selectable-day { - background-color: $white; label { - background-color: $white; - border: none; - min-width: 100%; - width: 100%; - height: -webkit-fill-available; - border-radius: 0; - cursor: pointer; - - span { - text-decoration: underline; - } + color: $black; + background-color: $blue-100; + min-width: 2.5rem; + width: 2.5rem; + border-radius: 0.25rem; } } &.current-day { @@ -1168,32 +1155,36 @@ export default { } } } - } + &.show-pricing-by-day { + .radio-wrapper { + &.selectable-day label span { + text-decoration: none; + color: $black; + font-weight: 400; + font-family: "AvertaSemibold"; - &.date-picker.show-pricing-by-day { - .radio-wrapper { - &.selectable-day label span { - text-decoration: none; - color: $gray-600; - font-weight: 400; - font-family: "AvertaSemibold"; - - &.price { - color: $green; + &.price { + font-family: "AvertaRegular"; + font-weight: 400; + } } - } - &.upch-day label span.price { - color: $gray-600; - font-weight: 400; - font-family: $font-family-sans-serif; - } - input[type="radio"] { - &:focus + label, - &:checked:focus + label { + &.upch-day label span.price { color: $gray-600; + font-weight: 400; + font-family: $font-family-sans-serif; } - &:checked + label { - color: $blue; + input[type="radio"] { + &:focus + label, + &:checked:focus + label { + color: $gray-600; + } + &:checked + label { + color: $blue; + span { + font-weight: 400; + font-family: "AvertaSemibold"; + } + } } } } From 28e5d40cf127d1c03431dced2f0dc2a18b2d859d Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Mon, 14 Apr 2025 15:30:51 -0400 Subject: [PATCH 02/18] CASH-510, CASH-511 QA Ui footer fixes. --- src/fmg-components/funnel-footer/funnel-footer.vue | 14 +++++++++----- src/layouts/customer-details/customer-details.vue | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/fmg-components/funnel-footer/funnel-footer.vue b/src/fmg-components/funnel-footer/funnel-footer.vue index 89db470f0..0cff25b0b 100644 --- a/src/fmg-components/funnel-footer/funnel-footer.vue +++ b/src/fmg-components/funnel-footer/funnel-footer.vue @@ -11,6 +11,7 @@ From b54754f82ce7b3f819af765335c100626ec76fcf Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Mon, 14 Apr 2025 15:42:59 -0400 Subject: [PATCH 03/18] Format code. --- src/layouts/customer-details/customer-details.vue | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/layouts/customer-details/customer-details.vue b/src/layouts/customer-details/customer-details.vue index c849491cb..baa8636be 100644 --- a/src/layouts/customer-details/customer-details.vue +++ b/src/layouts/customer-details/customer-details.vue @@ -56,7 +56,10 @@ @back-clicked="backButtonAction" @ForwardClicked="forwardButtonAction" /> - + From 9b2c97c2710e07a1a2ce2cef2f4414c6c8cc7088 Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Tue, 15 Apr 2025 13:58:32 -0400 Subject: [PATCH 04/18] CASH-500 fix z-index issue for insurance page. --- src/layouts/insurance-company/insurance-company.vue | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/layouts/insurance-company/insurance-company.vue b/src/layouts/insurance-company/insurance-company.vue index 0f7bca7c7..e680a728d 100644 --- a/src/layouts/insurance-company/insurance-company.vue +++ b/src/layouts/insurance-company/insurance-company.vue @@ -203,3 +203,9 @@ export default { }, }; + + From 39cb860888e10877da789ba439c886e01d52e5c2 Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Tue, 15 Apr 2025 14:06:41 -0400 Subject: [PATCH 05/18] Format code. --- src/layouts/insurance-company/insurance-company.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/layouts/insurance-company/insurance-company.vue b/src/layouts/insurance-company/insurance-company.vue index e680a728d..c9409eb71 100644 --- a/src/layouts/insurance-company/insurance-company.vue +++ b/src/layouts/insurance-company/insurance-company.vue @@ -205,7 +205,7 @@ export default { From 3053e10db9b17219884ab07a9a191a9fdeb16721 Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Tue, 15 Apr 2025 15:17:41 -0400 Subject: [PATCH 06/18] CASH-499 refactor to use date-picker instead of experiment file. Delete experiment file. --- .../date-picker/date-picker.vue | 172 ++- .../date-picker-for-pricing-by-day.vue | 1212 ----------------- src/layouts/schedule/schedule.vue | 8 +- src/store/index.js | 10 +- 4 files changed, 162 insertions(+), 1240 deletions(-) delete mode 100644 src/experiment-components/date-picker-for-pricing-by-day.vue diff --git a/src/digital-components/date-picker/date-picker.vue b/src/digital-components/date-picker/date-picker.vue index 71c09bbbf..c869dc02c 100644 --- a/src/digital-components/date-picker/date-picker.vue +++ b/src/digital-components/date-picker/date-picker.vue @@ -1,5 +1,7 @@ - Date: Tue, 15 Apr 2025 15:21:34 -0400 Subject: [PATCH 07/18] CASH-499 undo changes. --- src/store/index.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/store/index.js b/src/store/index.js index 5d604e5ea..2ee5e2ec0 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1856,11 +1856,11 @@ export const actions = { const shopRadiusInMiles = 100; - let url = `${endpoints.GetProviders.url}/${serviceZipCode}/${damageType}/${shopRadiusInMiles}/${accountNumber}/true/${carId}/false`; + let url = `${endpoints.GetProviders.url}/${serviceZipCode}/${damageType}/${shopRadiusInMiles}/${accountNumber}/true/${carId}`; - // if (windshieldPartWithRecal) { - // url += `/${windshieldPartWithRecal.partNumber}`; - // } + if (windshieldPartWithRecal) { + url += `/${windshieldPartWithRecal.partNumber}`; + } return globalMethods.callHttpClient({ method: endpoints.GetProviders.method, From 4918364282991e598226ba556fc3ee769140fff9 Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Tue, 15 Apr 2025 15:22:41 -0400 Subject: [PATCH 08/18] CASH-499 remove changes to store/index. --- src/store/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/store/index.js b/src/store/index.js index 2ee5e2ec0..97a31068e 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1474,7 +1474,7 @@ export const actions = { applicationName: applicationConfig.ANALYTICS_APPLICATION_NAME, category: category, action: action, - label: "x" + label, + label: label, value: value, shouldUseSessionId: shouldUseSessionId, experimentsForUser: experimentsForUser, From 35154ad3d1fde96426bcc903c876db8cfcf51609 Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Tue, 15 Apr 2025 16:06:50 -0400 Subject: [PATCH 09/18] Format code. --- .../date-picker/date-picker.vue | 2 +- src/layouts/schedule/schedule.vue | 15 +++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/digital-components/date-picker/date-picker.vue b/src/digital-components/date-picker/date-picker.vue index c869dc02c..0d0ef066d 100644 --- a/src/digital-components/date-picker/date-picker.vue +++ b/src/digital-components/date-picker/date-picker.vue @@ -1121,7 +1121,7 @@ export default { &:checked + label { background: $blue-100; border: 2px solid $blue; - border-radius: .25rem; + border-radius: 0.25rem; color: $black; span { font-family: AvertaSemibold; diff --git a/src/layouts/schedule/schedule.vue b/src/layouts/schedule/schedule.vue index ab1af257d..b30fd88d8 100644 --- a/src/layouts/schedule/schedule.vue +++ b/src/layouts/schedule/schedule.vue @@ -298,14 +298,13 @@ export default { ); // While Pricing By Day Experiment is active, using the updated datePicker - const datePickerInitialDataPromise = - await datePicker.methods.loadInitialData({ - // setup config options for date-picker - selectableDatesSetting: "custom", - initialViewRowsToShow: 5, - customSelectableDatesCallback: getAvailableDates, - preSelectedDate: preSelectedDate, - }); + const datePickerInitialDataPromise = await datePicker.methods.loadInitialData({ + // setup config options for date-picker + selectableDatesSetting: "custom", + initialViewRowsToShow: 5, + customSelectableDatesCallback: getAvailableDates, + preSelectedDate: preSelectedDate, + }); // Get pricingByDayUpcharge needed for Pricing By Day const pricingByDayUpchargePartPromise = showPricingByDay From b84b9d41f77d28d4a6532b669576238c7a1fd397 Mon Sep 17 00:00:00 2001 From: Johnny shultz Date: Tue, 15 Apr 2025 17:02:24 -0400 Subject: [PATCH 10/18] CASH-489 CASH-489 null check --- src/layouts/quote/quote.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/layouts/quote/quote.vue b/src/layouts/quote/quote.vue index 42ccfb09a..6ef3d4749 100644 --- a/src/layouts/quote/quote.vue +++ b/src/layouts/quote/quote.vue @@ -275,8 +275,8 @@ export default { const emailFromStore = store.getters.order.customer.emailAddress; const isEmailInStoreOnPageLoad = emailFromStore?.length > 0; const isPopupSkipped = - store.getters.pageData(fmgPageValues.QUOTE).saveProgressPopupSkipped === true; - const showSaveProgressPopup = isEmailInStoreOnPageLoad || isPopupSkipped ? false : true; + store.getters.pageData(fmgPageValues.QUOTE)?.saveProgressPopupSkipped === true; + const showSaveProgressPopup = !(isEmailInStoreOnPageLoad || isPopupSkipped); const showSaveProgressModal = isEmailInStoreOnPageLoad ? false : true; const shouldSkipToInsurance = getBoolFromString( From b2b4965a356ddcc16abf783478d121fd2b616e40 Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Wed, 16 Apr 2025 15:53:18 -0400 Subject: [PATCH 11/18] CASH-403 update footer text color. --- src/fmg-components/funnel-footer/funnel-footer.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/fmg-components/funnel-footer/funnel-footer.vue b/src/fmg-components/funnel-footer/funnel-footer.vue index 0cff25b0b..8e87eaa2c 100644 --- a/src/fmg-components/funnel-footer/funnel-footer.vue +++ b/src/fmg-components/funnel-footer/funnel-footer.vue @@ -78,10 +78,10 @@ export default { width: 100%; justify-content: center; align-items: center; + color: $gray-600; p { font-size: 0.875rem; - color: $black; @include media-breakpoint-up(md) { font-size: 1rem; } @@ -91,9 +91,11 @@ export default { text-decoration: none; &.new-window-link { margin: 0 0.75rem; + color: $gray-600; } &.navigation-link { margin: 0 0.75rem; + color: $gray-600; } } From 76b058077bf32a84f2df917f01c889ed73b71cb5 Mon Sep 17 00:00:00 2001 From: Minojhini Valaiyapathi Date: Thu, 17 Apr 2025 09:27:13 -0400 Subject: [PATCH 12/18] CASH-353 - Redoing 353 revert branch to get merged to develop --- src/layouts/address-lookup/address-lookup.vue | 6 ++-- .../license-plate-lookup.vue | 9 +++--- src/layouts/service-zip/service-zip.vue | 18 ++++++++++-- src/layouts/vin-lookup/vin-lookup.vue | 28 +++++++++++-------- 4 files changed, 39 insertions(+), 22 deletions(-) diff --git a/src/layouts/address-lookup/address-lookup.vue b/src/layouts/address-lookup/address-lookup.vue index c33ef68e5..44dbaaa5e 100644 --- a/src/layouts/address-lookup/address-lookup.vue +++ b/src/layouts/address-lookup/address-lookup.vue @@ -172,7 +172,7 @@ export default { }, serviceZipCode: this.getServiceZipFromStore(), carId: this.getCarIdfromStore(), - isHeavyTruck: this.getIsVehicleHeavyTruckFromStore(), + isHeavyTruck: this.getIsVehicleHeavyTruckServiceableFromStore(), displayNonServiceableZipAlert: false, displayVinNotFoundAlert: false, displayMatchedDifferentVehicleAlert: false, @@ -232,8 +232,8 @@ export default { getCarIdfromStore() { return store.getters.vehicle.carId; }, - getIsVehicleHeavyTruckFromStore() { - return store.getters.isHeavyTruckVehicle; + getIsVehicleHeavyTruckServiceableFromStore() { + return store.getters.vehicle.isBigTruck && store.getters.vehicle.canSafeliteService; }, async findClosestApplicableShops() { return await this.dispatchStoreActionWithLogging( diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue index a359d3a9d..a8c68215a 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.vue +++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue @@ -76,7 +76,6 @@ :manualCopy="AlertMatchedDifferentVehicleBody" alertClass="alert-warning" v-bind:isDismissible="false" /> - + @ForwardClicked="forwardButtonAction || displayNoServiceAlert" /> @@ -167,7 +166,7 @@ export default { emailOrSms: this.getEmailOrSmsFromStore(), serviceZipCode: this.getServiceZipFromStore(), carId: this.getCarIdfromStore(), - isHeavyTruck: this.getIsVehicleHeavyTruckFromStore(), + isHeavyTruck: this.getIsVehicleHeavyTruckServiceableFromStore(), displayNonServiceableZipAlert: false, displayVinNotFoundAlert: false, displayMatchedDifferentVehicleAlert: false, @@ -214,8 +213,8 @@ export default { getCarIdfromStore() { return store.getters.vehicle.carId; }, - getIsVehicleHeavyTruckFromStore() { - return store.getters.isHeavyTruckVehicle; + getIsVehicleHeavyTruckServiceableFromStore() { + return store.getters.vehicle.isBigTruck && store.getters.vehicle.canSafeliteService; }, async findClosestApplicableShops() { return await this.dispatchStoreActionWithLogging( diff --git a/src/layouts/service-zip/service-zip.vue b/src/layouts/service-zip/service-zip.vue index 7d53d105d..a991119ef 100644 --- a/src/layouts/service-zip/service-zip.vue +++ b/src/layouts/service-zip/service-zip.vue @@ -119,7 +119,7 @@ export default { serviceZipCode: this.getZipFromStore() ?? this.$route.query.zipcode, emailOrSms: this.getEmailOrSmsFromStore(), carId: this.getCarIdfromStore(), - isHeavyTruck: this.getIsVehicleHeavyTruckFromStore(), + isHeavyTruck: this.getIsVehicleHeavyTruckServiceableFromStore(), displayInvalidZipAlert: false, displayNonServiceableZipAlert: false, displayNoServiceAlert: false, @@ -198,8 +198,8 @@ export default { getCarIdfromStore() { return store.getters.vehicle.carId; }, - getIsVehicleHeavyTruckFromStore() { - return store.getters.isHeavyTruckVehicle; + getIsVehicleHeavyTruckServiceableFromStore() { + return store.getters.vehicle.isBigTruck && store.getters.vehicle.canSafeliteService; }, async findClosestApplicableShops() { return await this.dispatchStoreActionWithLogging( @@ -208,6 +208,7 @@ export default { "service-zip" ); }, + async backButtonAction() { const skipVin = await skipVinLookup(); // route to move backwards @@ -286,6 +287,16 @@ export default { return this.$refs.navbar.removeLoader(); } } + if (this.isHeavyTruck) { + const closestShops = await this.findClosestApplicableShops( + this.serviceZipCode, + this.carId + ); + this.displayNoServiceAlert = !closestShops?.data?.providers?.length; + if (this.displayNoServiceAlert) { + return this.$refs.navbar.removeLoader(); + } + } const payment = this.$store.getters.payment; const policy = this.$store.getters.policy; @@ -344,6 +355,7 @@ export default { serviceZipCode() { this.displayNonServiceableZipAlert = false; this.displayNoServiceAlert = false; + this.displayNoServiceAlert = false; }, }, components: { diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index 788425861..b439b5e5e 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -208,7 +208,7 @@ export default { serviceZipCode: this.getZipFromStore() ?? this.$route.query.zipcode, emailOrSms: this.getEmailOrSmsFromStore(), carId: this.getCarIdfromStore(), - isHeavyTruck: this.getIsVehicleHeavyTruckFromStore(), + isHeavyTruck: this.getIsVehicleHeavyTruckServiceableFromStore(), isCarIdDifferent: false, customAlertData: {}, previouslyEnteredCarId: "", @@ -264,6 +264,9 @@ export default { ); } }, + getIsVehicleHeavyTruckServiceableFromStore() { + return store.getters.vehicle.isBigTruck && store.getters.vehicle.canSafeliteService; + }, async findClosestApplicableShops() { return await this.dispatchStoreActionWithLogging( storeActions.GET_CLOSEST_APPLICABLE_SHOPS, @@ -366,6 +369,18 @@ export default { }, false ); + if (this.isHeavyTruck) { + closestShops = await this.findClosestApplicableShops( + this.serviceZipCode, + this.carId + ); + this.displayNoServiceAlert = !closestShops?.data?.providers?.length; + if (this.displayNoServiceAlert) { + return this.$refs.navbar.removeLoader(); + } + } + + // if no value due to field being optional, blank both phone and email address // if no value due to field being optional, blank both phone and email address if (!this.emailOrSms) { @@ -430,16 +445,6 @@ export default { false ); } - - closestShops = await this.findClosestApplicableShops( - this.serviceZipCode, - this.carId - ); - this.displayNoServiceAlert = !closestShops?.data?.providers?.length; - if (this.displayNoServiceAlert) { - return this.$refs.navbar.removeLoader(); - } - // if no value due to field being optional, blank both phone and email address if (!this.emailOrSms) { await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, "", false); @@ -523,6 +528,7 @@ export default { this.displayVinNotFoundAlert = false; this.displayVinScanFailedAlert = false; this.displayNoServiceAlert = false; + this.displayNoServiceAlert = false; }, }, mounted() { From a9a493888d2d53c2f03bf635d67c19adbcb5a1e7 Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Thu, 17 Apr 2025 16:37:33 -0400 Subject: [PATCH 13/18] CASH-403 move copyright to bottom of footer. --- .../funnel-footer/funnel-footer.vue | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/fmg-components/funnel-footer/funnel-footer.vue b/src/fmg-components/funnel-footer/funnel-footer.vue index 8e87eaa2c..ca8be5bf0 100644 --- a/src/fmg-components/funnel-footer/funnel-footer.vue +++ b/src/fmg-components/funnel-footer/funnel-footer.vue @@ -11,7 +11,6 @@ +

© 2025 Safelite Group

@@ -60,8 +60,9 @@ export default { flex-direction: column; width: 100%; background: transparent; - align-items: end; + align-items: center; margin-top: auto; + padding: 0 0 2rem 0; .skyline { height: 96px; @@ -70,23 +71,25 @@ export default { height: 48px; } + p { + font-size: 0.875rem; + margin-top: 0.25rem; + @include media-breakpoint-up(md) { + font-size: 1rem; + margin-top: 0.5rem; + } + } + .footer-inner-wrapper { display: flex; flex-direction: column; border-top: 1px solid $gray; - padding: 2rem 0; + padding: 2rem 0 0 0; width: 100%; justify-content: center; align-items: center; color: $gray-600; - p { - font-size: 0.875rem; - @include media-breakpoint-up(md) { - font-size: 1rem; - } - } - :deep(a) { text-decoration: none; &.new-window-link { From 44b878e87cadbd24a8c9ab4046d14dd84991870d Mon Sep 17 00:00:00 2001 From: Chris Redelinghuys Date: Mon, 21 Apr 2025 12:53:11 -0400 Subject: [PATCH 14/18] CASH-187: Progress bar --- src/constants/progress-bar-mapper.js | 26 ++++++ .../funnel-header/funnel-header.vue | 3 + .../progress-bar/progres-bar.spec.js | 84 +++++++++++++++++++ .../progress-bar/progress-bar.vue | 60 +++++++++++++ src/layouts/quote/quote.vue | 2 +- 5 files changed, 174 insertions(+), 1 deletion(-) create mode 100644 src/constants/progress-bar-mapper.js create mode 100644 src/fmg-components/funnel-header/progress-bar/progres-bar.spec.js create mode 100644 src/fmg-components/funnel-header/progress-bar/progress-bar.vue diff --git a/src/constants/progress-bar-mapper.js b/src/constants/progress-bar-mapper.js new file mode 100644 index 000000000..e219f1a10 --- /dev/null +++ b/src/constants/progress-bar-mapper.js @@ -0,0 +1,26 @@ +const pagePercentageMapper = { + 'vehicle': 4, + 'vehicle-damage': 16, + 'estimate': 28, + 'service-zip': 32, + 'vin-lookup': 32, + 'license-plate-lookup': 32, + 'address-lookup': 32, + 'address-vehicles': 36, + 'part-questions': 40, + 'molding-questions': 40, + 'vehicle-parts': 40, + 'capability-questions': 40, + 'quote': 48, + 'insurance-company': 52, + 'service-location': 60, + 'schedule': 72, + 'customer-details': 84, + 'payment-method': 92, + 'payment': 96, + 'confirmation': 100, +} + +export const getProgressBarPercentage = (page) => { + return pagePercentageMapper[page] || 0; +} \ No newline at end of file diff --git a/src/fmg-components/funnel-header/funnel-header.vue b/src/fmg-components/funnel-header/funnel-header.vue index c6cbb8727..092224551 100644 --- a/src/fmg-components/funnel-header/funnel-header.vue +++ b/src/fmg-components/funnel-header/funnel-header.vue @@ -6,6 +6,7 @@ +