diff --git a/src/layouts/quote/service-package-question/service-package-radio/service-package-radio.vue b/src/layouts/quote/service-package-question/service-package-radio/service-package-radio.vue index 7e4603bc5..856b5a940 100644 --- a/src/layouts/quote/service-package-question/service-package-radio/service-package-radio.vue +++ b/src/layouts/quote/service-package-question/service-package-radio/service-package-radio.vue @@ -13,34 +13,38 @@ class="sub-label m-0" v-if="this.buttonLabelSubCopy" v-html="this.buttonLabelSubCopy">

- - - - +
+ + + + +
@@ -114,10 +118,10 @@ export default { 0px 4px 24px -8px rgba(0, 0, 0, 0.2); border-radius: 0.5rem; overflow: hidden; - min-height: 58px; + min-height: 60px; &.has-subheader { - min-height: 78px; + min-height: 80px; } &:before { @@ -159,6 +163,13 @@ export default { max-height: 1000px; } } + + .package-label { + .package-specs { + .hide-when-closed { + display: block; + } + } + } + .package-label { background-color: $blue-100; border: 1px solid $blue; @@ -194,7 +205,7 @@ export default { flex-direction: column; width: 100%; max-height: 0; - transition: all 0.75s ease; + transition: all 0.5s ease; p { font-weight: 500; @@ -220,6 +231,20 @@ export default { font-size: 0.875rem; } } + + @keyframes slideaway { + from { + display: block; + } + to { + transform: translateY(40px); + opacity: 0; + } + } + + .hide-when-closed { + display: none; + } } } } diff --git a/src/layouts/vehicle-damage/replace-options-question/replace-options-question.vue b/src/layouts/vehicle-damage/replace-options-question/replace-options-question.vue index ff2290664..12347cdf6 100644 --- a/src/layouts/vehicle-damage/replace-options-question/replace-options-question.vue +++ b/src/layouts/vehicle-damage/replace-options-question/replace-options-question.vue @@ -101,6 +101,17 @@ export default { this.selectedValues = this.isMultiSelect ? [] : ""; } }, + replaceOptions(replaceOptions) { + // For rear window, in case user chooses slider and later comes back + // with a vehicle with only stationary + if ( + !Array.isArray(this.selectedValues) && + !replaceOptions.includes(this.selectedValues) + ) { + this.selectedValues = null; + this.updateSelectedValues(); + } + }, }, components: { buttonQuestion, diff --git a/src/mixins/vehicle-questions-mixin.js b/src/mixins/vehicle-questions-mixin.js index 29888c9c8..dc1cf0a71 100644 --- a/src/mixins/vehicle-questions-mixin.js +++ b/src/mixins/vehicle-questions-mixin.js @@ -476,18 +476,24 @@ export default { let currentPartsOrQuestions = null; if ( - currentPage !== fmgPageValues.CAPABILITY_QUESTIONS && + this.currentPageComesAfterPage(currentPage, fmgPageValues.CAPABILITY_QUESTIONS) && !!pageDataCapabilityQuestions ) { currentPartsOrQuestions = pageDataCapabilityQuestions?.partsOrQuestions; } else if ( - currentPage !== fmgPageValues.MOLDING_QUESTIONS && + this.currentPageComesAfterPage(currentPage, fmgPageValues.MOLDING_QUESTIONS) && !!pageDataMoldingQuestions ) { currentPartsOrQuestions = pageDataMoldingQuestions?.partsOrQuestions; - } else if (currentPage !== fmgPageValues.VEHICLE_PARTS && !!pageDataVehicleParts) { + } else if ( + this.currentPageComesAfterPage(currentPage, fmgPageValues.VEHICLE_PARTS) && + !!pageDataVehicleParts + ) { currentPartsOrQuestions = pageDataVehicleParts?.partsOrQuestions; - } else if (currentPage !== fmgPageValues.PARTS_QUESTIONS && !!pageDataPartQuestions) { + } else if ( + this.currentPageComesAfterPage(currentPage, fmgPageValues.PARTS_QUESTIONS) && + !!pageDataPartQuestions + ) { currentPartsOrQuestions = pageDataPartQuestions?.partsOrQuestions; } diff --git a/src/router/router-constants/routing-table.js b/src/router/router-constants/routing-table.js index 5bc959d6a..26fd55476 100644 --- a/src/router/router-constants/routing-table.js +++ b/src/router/router-constants/routing-table.js @@ -267,6 +267,10 @@ const routingTable = function (store) { scenario: navigationScenarios.CLICKED_FORWARD_WITH_CAPABILITY_QUESTIONS, destinationFmgPageValue: fmgPageValues.CAPABILITY_QUESTIONS, }, + { + scenario: navigationScenarios.CLICKED_FORWARD_WITH_NO_MORE_QUESTIONS, + destinationFmgPageValue: fmgPageValues.QUOTE, + }, ], }, { diff --git a/src/store/index.js b/src/store/index.js index 0755d5f37..9826bfd25 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -343,6 +343,13 @@ export const mutations = { state.order.damage.isRepair = sessionInformation.order.damage.isRepair; state.order.damage.numberOfChips = sessionInformation.order.damage.numberOfChips; + state.order.damage.partQuestionAnswers = + sessionInformation.order.damage.partQuestionAnswers; + state.order.damage.moldingQuestionAnswers = + sessionInformation.order.damage.moldingQuestionAnswers; + state.order.damage.capabilityQuestionAnswers = + sessionInformation.order.damage.capabilityQuestionAnswers; + state.order.lineItems.glassParts = sessionInformation.order.lineItems.glassParts; state.order.lineItems.supportingItems = sessionInformation.order.lineItems.supportingItems; state.order.lineItems.vaps = sessionInformation.order.lineItems.vaps; diff --git a/src/ux-components/button-main/button-main.vue b/src/ux-components/button-main/button-main.vue index bbea1b8d0..18d7427c2 100644 --- a/src/ux-components/button-main/button-main.vue +++ b/src/ux-components/button-main/button-main.vue @@ -100,6 +100,7 @@ export default { color: $white; background: $blue-700; box-shadow: 0 0 0 3px, 0 0 0 5.5px $blue-700; + pointer-events: none; } &.delay { // fixes flicker while transitioning between states @@ -140,6 +141,7 @@ export default { &.has-loader { color: $white; @include blue-gradient; + pointer-events: none; } &.delay { // fixes flicker while transitioning between states diff --git a/src/ux-components/list-button-horizontal/list-button-horizontal.vue b/src/ux-components/list-button-horizontal/list-button-horizontal.vue index df3a468ad..e2c8a73c8 100644 --- a/src/ux-components/list-button-horizontal/list-button-horizontal.vue +++ b/src/ux-components/list-button-horizontal/list-button-horizontal.vue @@ -99,6 +99,7 @@ export default { border: 1px solid $blue-700; z-index: 2; color: $blue; + height: 100%; span { font-size: 1rem;