From 166978bc3a284973ec39f3d68eaed3c0f423916e Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Thu, 28 Sep 2023 14:03:41 -0400 Subject: [PATCH] Merge develop --- src/constants/query-strings.js | 1 + .../button-question/button-question.vue | 4 +- .../checkbox-question/checkbox-question.vue | 4 + src/digital-components/modal/modal.vue | 25 +- .../funnel-header/menu-modal/menu-modal.vue | 4 +- .../questions-page-layout.vue | 74 +++-- .../loading-modal/loading-modal.vue | 24 +- src/fmg-components/nav-bar/nav-bar.spec.js | 59 ++++ src/fmg-components/nav-bar/nav-bar.vue | 140 +++++++++ src/global-methods.js | 8 +- src/helpers/damage-helper.js | 7 +- src/helpers/damage-helper.spec.js | 11 +- src/helpers/date-helper.js | 10 + .../heritage-integration/navigation-helper.js | 46 +-- .../navigation-helper.spec.js | 36 +-- .../heritage-integration/order-helper.js | 25 +- .../heritage-integration/order-helper.spec.js | 10 +- src/helpers/unit-test-helper.js | 21 ++ .../address-lookup/address-lookup.spec.js | 17 +- src/layouts/address-lookup/address-lookup.vue | 197 +++++++------ .../address-vehicles/address-vehicles.spec.js | 14 +- .../address-vehicles/address-vehicles.vue | 100 ++++--- .../capability-questions.spec.js | 25 +- .../capability-questions.vue | 3 +- src/layouts/confirmation/confirmation.spec.js | 101 +++++++ src/layouts/confirmation/confirmation.vue | 87 ++++++ .../customer-details/customer-details.vue | 109 ++++--- src/layouts/estimate/estimate.spec.js | 4 +- src/layouts/estimate/estimate.vue | 176 ++++++----- .../license-plate-lookup.spec.js | 24 +- .../license-plate-lookup.vue | 202 ++++++------- .../part-questions/part-questions.spec.js | 32 +- src/layouts/part-questions/part-questions.vue | 6 +- src/layouts/payment-method/payment-method.vue | 57 +--- src/layouts/quote/quote.spec.js | 4 + src/layouts/quote/quote.vue | 134 +++++---- .../service-package-review.vue | 12 +- src/layouts/review/review.vue | 168 ++++++----- .../schedule/helpers/schedule-helper.js | 5 +- src/layouts/schedule/schedule.spec.js | 66 ++++- src/layouts/schedule/schedule.vue | 130 +++++---- .../time-slot-modal-question.vue | 3 - .../appointment-type-question.vue | 4 +- .../service-location-helper.js | 18 +- .../service-location-helper.spec.js | 41 +++ .../mobile-location-modal-questions.vue | 14 +- .../service-location/service-location.vue | 251 ++++++++++------ .../service-zip-modal-question.vue | 16 +- .../shop-question/shop-question.spec.js | 9 +- .../shop-question/shop-question.vue | 12 +- .../vehicle-damage/vehicle-damage.spec.js | 11 +- src/layouts/vehicle-damage/vehicle-damage.vue | 151 ++++++---- .../vehicle-parts/vehicle-parts.spec.js | 2 +- src/layouts/vehicle-parts/vehicle-parts.vue | 94 +++--- src/layouts/vehicle/vehicle.vue | 242 +++++++++------- src/layouts/vin-lookup/vin-lookup.spec.js | 8 +- src/layouts/vin-lookup/vin-lookup.vue | 272 ++++++++--------- src/mixins/base-mixin.js | 25 +- src/mixins/base-mixin.spec.js | 6 +- src/mixins/vehicle-questions-mixin.js | 17 +- src/mixins/vin-pages-mixin.js | 8 +- src/router/index.js | 61 ++-- src/router/router-constants/fmgPage-values.js | 1 + src/router/router-constants/routing-table.js | 12 + src/store/index.js | 274 +++++++++++++----- src/store/store.spec.js | 117 ++++++-- src/styles/common-styles.scss | 24 +- src/styles/ux-variables.scss | 9 - src/ux-components/list-card/list-card.vue | 6 +- 69 files changed, 2508 insertions(+), 1382 deletions(-) create mode 100644 src/fmg-components/nav-bar/nav-bar.spec.js create mode 100644 src/fmg-components/nav-bar/nav-bar.vue create mode 100644 src/helpers/date-helper.js create mode 100644 src/layouts/confirmation/confirmation.spec.js create mode 100644 src/layouts/confirmation/confirmation.vue diff --git a/src/constants/query-strings.js b/src/constants/query-strings.js index 5ff1f636c..a0009bae0 100644 --- a/src/constants/query-strings.js +++ b/src/constants/query-strings.js @@ -2,6 +2,7 @@ const queryStrings = { FMG_PAGE: "fmgPage", START_TYPE: "start_type", ZIP_CODE: "zipcode", + PROMO: "promo", }; export { queryStrings }; diff --git a/src/digital-components/button-question/button-question.vue b/src/digital-components/button-question/button-question.vue index 13c81f815..9636d1d25 100644 --- a/src/digital-components/button-question/button-question.vue +++ b/src/digital-components/button-question/button-question.vue @@ -192,9 +192,9 @@ export default { classes = "d-flex flex-row p-0"; break; case "listCard": - classes = "row g-2 justify-content-center mb-1"; + classes = "row g-2 g-md-5 justify-content-center mb-1"; if (this.isWide) { - classes += " flex-column"; + classes += "flex-column"; } break; case "radio": diff --git a/src/digital-components/checkbox-question/checkbox-question.vue b/src/digital-components/checkbox-question/checkbox-question.vue index e63c24523..50245d025 100644 --- a/src/digital-components/checkbox-question/checkbox-question.vue +++ b/src/digital-components/checkbox-question/checkbox-question.vue @@ -68,6 +68,10 @@ export default { &:focus { box-shadow: 0 0 0 2.5px $blue; } + &:checked[type="checkbox"] { + background-color: $blue; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e"); + } } &:hover { .form-check-input { diff --git a/src/digital-components/modal/modal.vue b/src/digital-components/modal/modal.vue index 899a63b8f..1abfc3d42 100644 --- a/src/digital-components/modal/modal.vue +++ b/src/digital-components/modal/modal.vue @@ -148,12 +148,25 @@ export default { } &.modal-component { .modal-dialog { - max-width: 576px; + max-width: 767px; margin: 0 auto; + @include media-breakpoint-up(md) { + width: 376px; + position: absolute; + top: 0; + right: 0; + transform: translate(100%, 0); + } .modal-content { - margin: 0 auto; + margin: 1.5rem auto 0 auto; box-shadow: 0px 16px 48px -16px rgba(0, 0, 0, 0.25); border-radius: 1.5rem 1.5rem 0 0; + @include media-breakpoint-up(md) { + box-shadow: none; + border-radius: 0; + height: 100vh; + margin: 0 auto; + } .modal-body { .modal-sub-body { color: $gray-600; @@ -166,6 +179,9 @@ export default { margin-bottom: 0; } } + @include media-breakpoint-up(md) { + overflow: scroll; + } } } &.modal-dialog-centered { @@ -184,6 +200,11 @@ export default { &.show .modal-dialog { transform: translateY(0); } + @include media-breakpoint-up(md) { + &.fade { + transition: opacity 0.25s linear; + } + } } body { .modal-backdrop { diff --git a/src/fmg-components/funnel-header/menu-modal/menu-modal.vue b/src/fmg-components/funnel-header/menu-modal/menu-modal.vue index d340d040f..b7994aa9a 100644 --- a/src/fmg-components/funnel-header/menu-modal/menu-modal.vue +++ b/src/fmg-components/funnel-header/menu-modal/menu-modal.vue @@ -158,7 +158,6 @@ export default { } .modal { &.menu-modal { - max-width: 576px; left: auto; height: calc(100% - 72px); top: 72px; @@ -175,7 +174,6 @@ export default { } .modal-fullscreen { width: 100vw; - max-width: 576px; } .navigation-link { margin-bottom: 1.5rem; @@ -188,7 +186,7 @@ export default { position: absolute; padding: 1.5rem 1rem 1.5rem 1.5rem; right: 0; - top: -4.25rem; + top: -5rem; button { border: none; &.menu-button { diff --git a/src/fmg-components/layouts/questions-page-layout/questions-page-layout.vue b/src/fmg-components/layouts/questions-page-layout/questions-page-layout.vue index f6bb2a656..589a7c938 100644 --- a/src/fmg-components/layouts/questions-page-layout/questions-page-layout.vue +++ b/src/fmg-components/layouts/questions-page-layout/questions-page-layout.vue @@ -1,34 +1,48 @@ @@ -40,7 +54,7 @@ import vehicleBanner from "@/fmg-components/vehicle-banner/vehicle-banner"; import alert from "@/ux-components/alert/alert"; import questionChain from "@/digital-components/question-chain/question-chain"; import funnelSubHeader from "@/fmg-components/funnel-sub-header/funnel-sub-header"; -import funnelFooter from "@/fmg-components/funnel-footer/funnel-footer"; +import navbar from "@/fmg-components/nav-bar/nav-bar"; import loadingModal from "@/fmg-components/loading-modal/loading-modal.vue"; export default { @@ -88,7 +102,7 @@ export default { alert, questionChain, funnelSubHeader, - funnelFooter, + navbar, loadingModal, }, }; diff --git a/src/fmg-components/loading-modal/loading-modal.vue b/src/fmg-components/loading-modal/loading-modal.vue index 9e35daeeb..4aa5cacdf 100644 --- a/src/fmg-components/loading-modal/loading-modal.vue +++ b/src/fmg-components/loading-modal/loading-modal.vue @@ -1,7 +1,7 @@