From 4e996145c3841825cb51d2abe164ad06a5d48dd4 Mon Sep 17 00:00:00 2001 From: Alex Humphries Date: Wed, 18 Feb 2026 16:22:35 -0500 Subject: [PATCH] INSR-7759: Update review sections, move contact details drawer --- src/constants/error-messages.js | 4 +- .../contact-details-drawer.spec.js.snap | 0 .../contact-details-drawer.spec.js | 2 +- .../contact-details-drawer.vue | 0 .../payment-method-list-button.vue | 17 +- src/layouts/payment-method/payment-method.vue | 46 +- .../review-block/review-block.vue | 55 +- .../review-dropdown/review-dropdown.vue | 94 +- .../customer-review/customer-review.vue | 21 +- .../damage-review/damage-review.spec.js | 80 -- .../damage-review/damage-review.vue | 47 - .../schedule-review/schedule-review.vue | 9 +- .../service-location-review.vue | 14 +- .../service-package-review.spec.js | 965 ------------------ .../service-package-review.vue | 100 -- .../vehicle-review/vehicle-review.vue | 38 +- src/layouts/tpa-submit/tpa-submit.vue | 2 +- .../router-constants/navigation-scenarios.js | 3 + src/router/router-constants/routing-table.js | 16 + src/styles/ux-variables.scss | 3 + 20 files changed, 219 insertions(+), 1297 deletions(-) rename src/{layouts/tpa-submit => iss-components}/contact-details-drawer/__snapshots__/contact-details-drawer.spec.js.snap (100%) rename src/{layouts/tpa-submit => iss-components}/contact-details-drawer/contact-details-drawer.spec.js (98%) rename src/{layouts/tpa-submit => iss-components}/contact-details-drawer/contact-details-drawer.vue (100%) delete mode 100644 src/layouts/payment-method/review-dropdown/review-sections/damage-review/damage-review.spec.js delete mode 100644 src/layouts/payment-method/review-dropdown/review-sections/damage-review/damage-review.vue delete mode 100644 src/layouts/payment-method/review-dropdown/review-sections/service-package-review/service-package-review.spec.js delete mode 100644 src/layouts/payment-method/review-dropdown/review-sections/service-package-review/service-package-review.vue diff --git a/src/constants/error-messages.js b/src/constants/error-messages.js index 66aa697a..62e79340 100644 --- a/src/constants/error-messages.js +++ b/src/constants/error-messages.js @@ -70,9 +70,7 @@ const errorMessages = Object.freeze({ TPA_SEARCH_SHOP_FORMAT: 'Please enter a valid shop name.', TPA_SEARCH_REQUIRED: 'Please enter a shop name or ZIP code.', SERVICE_ADDRESS_REQUIRED: 'Service street address is required.', - SERVICE_CITY_REQUIRED: 'Service city is required.', - - PAYMENT_METHOD_PAGE_OPTION_REQUIRED: 'Please select an Option', + SERVICE_CITY_REQUIRED: 'Service city is required.' }); export default errorMessages; diff --git a/src/layouts/tpa-submit/contact-details-drawer/__snapshots__/contact-details-drawer.spec.js.snap b/src/iss-components/contact-details-drawer/__snapshots__/contact-details-drawer.spec.js.snap similarity index 100% rename from src/layouts/tpa-submit/contact-details-drawer/__snapshots__/contact-details-drawer.spec.js.snap rename to src/iss-components/contact-details-drawer/__snapshots__/contact-details-drawer.spec.js.snap diff --git a/src/layouts/tpa-submit/contact-details-drawer/contact-details-drawer.spec.js b/src/iss-components/contact-details-drawer/contact-details-drawer.spec.js similarity index 98% rename from src/layouts/tpa-submit/contact-details-drawer/contact-details-drawer.spec.js rename to src/iss-components/contact-details-drawer/contact-details-drawer.spec.js index 04fe6ce6..dd30a043 100644 --- a/src/layouts/tpa-submit/contact-details-drawer/contact-details-drawer.spec.js +++ b/src/iss-components/contact-details-drawer/contact-details-drawer.spec.js @@ -1,7 +1,7 @@ // Components import { shallowMount } from '@vue/test-utils'; import { createTestingPinia } from '@pinia/testing'; -import contactDetailsDrawer from '@/layouts/tpa-submit/contact-details-drawer/contact-details-drawer.vue'; +import contactDetailsDrawer from '@/iss-components/contact-details-drawer/contact-details-drawer.vue'; // Supporting Files import { getMountOptions } from '@/helpers/unit-test-helper.js'; diff --git a/src/layouts/tpa-submit/contact-details-drawer/contact-details-drawer.vue b/src/iss-components/contact-details-drawer/contact-details-drawer.vue similarity index 100% rename from src/layouts/tpa-submit/contact-details-drawer/contact-details-drawer.vue rename to src/iss-components/contact-details-drawer/contact-details-drawer.vue diff --git a/src/layouts/payment-method/payment-method-question/payment-method-list-button/payment-method-list-button.vue b/src/layouts/payment-method/payment-method-question/payment-method-list-button/payment-method-list-button.vue index c3601cbf..6bd161eb 100644 --- a/src/layouts/payment-method/payment-method-question/payment-method-list-button/payment-method-list-button.vue +++ b/src/layouts/payment-method/payment-method-question/payment-method-list-button/payment-method-list-button.vue @@ -2,7 +2,7 @@ + buttonWrapperClasses="list-group base-input-button list-button payment-method d-flex flex-column w-100 no-hover">
diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index 73079f0b..ea76e31b 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -21,8 +21,10 @@ cmsWidgetName="SiteSubHeaderWidget" />

- -
+
{{ cartHeaderText }} {{ cartTotal }} @@ -104,6 +106,7 @@ import paymentMethodQuestion from '@/layouts/payment-method/payment-method-quest import alert from '@/ux-components/alert/alert.vue'; import textBlock from '@/digital-components/text-block/text-block.vue'; import buttonQuestion from '@/digital-components/button-question/button-question.vue'; +import textboxQuestion from '@/digital-components/textbox-question/textbox-question.vue'; // Supporting Items import settleAllPromises from '@/helpers/layout-helper'; @@ -112,7 +115,7 @@ import { fetchCmsContentForPage } from '@/helpers/cms-content-helper'; import { paymentMethods } from '@/constants/payment-method-constants'; import queryStrings from '@/constants/query-strings'; import globalRules from '@/constants/global-rules'; -import { defineRule, Form } from 'vee-validate'; +import { Form } from 'vee-validate'; import issPageValues from '@/router/router-constants/issPage-values'; import bailoutMessage from '@/constants/bailoutMessage'; import { AppointmentTypeStrings } from '@/constants/schedule-constants'; @@ -124,13 +127,8 @@ import { supportsApplePay } from '@/helpers/browser-helper'; import { getCartTotal } from '@/helpers/cart-helper'; import { formatAmountInDollars } from '@/helpers/text-helper'; import widgetFields from '@/constants/cms-widget-fields'; -import errorMessages from '@/constants/error-messages'; -import { required } from '@/helpers/validation-rules'; -import textboxQuestion from '@/digital-components/textbox-question/textbox-question.vue'; import MaskaFormattedMasks from '@/constants/maska-masks'; -defineRule('option-required', required(errorMessages.PAYMENT_METHOD_PAGE_OPTION_REQUIRED)); - export default { name: 'payment-method', components: { @@ -391,13 +389,43 @@ export default { const scenario = this.mainStore.isMobileAppointment ? this.navigationScenarios.CLICKED_BACK_MOBILE : this.navigationScenarios.CLICKED_BACK_INSHOP; - this.$router.navigate( + this.$router.navigateWithSpinner( scenario, this.$route ); }, getSMSPhoneFromStore() { return useMainStore().contactInfo.servicePhone; + }, + handleEditClicked(section) { + switch (section) { + case 'location': + this.$router.navigateWithSpinner( + this.navigationScenarios.EDIT_SERVICE_LOCATION, + this.$route + ); + break; + case 'schedule': + this.$router.navigateWithSpinner( + this.navigationScenarios.EDIT_SCHEDULE, + this.$route + ); + break; + case 'vehicle': + this.$router.navigateWithSpinner( + this.navigationScenarios.EDIT_VEHICLE, + this.$route + ); + break; + case 'customer': + break; + case 'wipers': + this.$router.navigateWithSpinner( + this.navigationScenarios.EDIT_WIPERS, + this.$route + ); + break; + } } } }; diff --git a/src/layouts/payment-method/review-dropdown/review-block/review-block.vue b/src/layouts/payment-method/review-dropdown/review-block/review-block.vue index 2b7cf661..1ed4ddda 100644 --- a/src/layouts/payment-method/review-dropdown/review-block/review-block.vue +++ b/src/layouts/payment-method/review-dropdown/review-block/review-block.vue @@ -1,34 +1,55 @@ diff --git a/src/layouts/payment-method/review-dropdown/review-sections/schedule-review/schedule-review.vue b/src/layouts/payment-method/review-dropdown/review-sections/schedule-review/schedule-review.vue index e0c615df..3b0a5fee 100644 --- a/src/layouts/payment-method/review-dropdown/review-sections/schedule-review/schedule-review.vue +++ b/src/layouts/payment-method/review-dropdown/review-sections/schedule-review/schedule-review.vue @@ -1,7 +1,8 @@ diff --git a/src/layouts/payment-method/review-dropdown/review-sections/vehicle-review/vehicle-review.vue b/src/layouts/payment-method/review-dropdown/review-sections/vehicle-review/vehicle-review.vue index 56bee25e..b0500009 100644 --- a/src/layouts/payment-method/review-dropdown/review-sections/vehicle-review/vehicle-review.vue +++ b/src/layouts/payment-method/review-dropdown/review-sections/vehicle-review/vehicle-review.vue @@ -1,10 +1,13 @@