diff --git a/playwright-tests/tests/mockResponses/0001a_Advanced_Replace_Deductible_Client/parts/api/v1/parts/rain-defense.json b/playwright-tests/tests/mockResponses/0001a_Advanced_Replace_Deductible_Client/parts/api/v1/parts/rain-repel.json similarity index 100% rename from playwright-tests/tests/mockResponses/0001a_Advanced_Replace_Deductible_Client/parts/api/v1/parts/rain-defense.json rename to playwright-tests/tests/mockResponses/0001a_Advanced_Replace_Deductible_Client/parts/api/v1/parts/rain-repel.json diff --git a/playwright-tests/tests/mockResponses/0002a_Advanced_Replace_Deductible_Client/parts/api/v1/parts/rain-defense.json b/playwright-tests/tests/mockResponses/0002a_Advanced_Replace_Deductible_Client/parts/api/v1/parts/rain-repel.json similarity index 100% rename from playwright-tests/tests/mockResponses/0002a_Advanced_Replace_Deductible_Client/parts/api/v1/parts/rain-defense.json rename to playwright-tests/tests/mockResponses/0002a_Advanced_Replace_Deductible_Client/parts/api/v1/parts/rain-repel.json diff --git a/playwright-tests/tests/mockResponses/mockResponsesConfig.json b/playwright-tests/tests/mockResponses/mockResponsesConfig.json index b0dc208d..f121da14 100644 --- a/playwright-tests/tests/mockResponses/mockResponsesConfig.json +++ b/playwright-tests/tests/mockResponses/mockResponsesConfig.json @@ -19,7 +19,7 @@ "location/api/v1/location/providers/75023/Replace/100/550036/true/CR00056707/DW01571GTNNOEM": "0002a_Advanced_Replace_Deductible_Client/location/api/v1/location/providers/75023/Replace/100/550036/true/CR00056707/DW01571GTNNOEM.json", "schedule/api/v1/schedule/shop-time-slots": "0002a_Advanced_Replace_Deductible_Client/schedule/api/v1/schedule/shop-time-slots.json", "location/api/v1/location/alert-reasons/01813": "0002a_Advanced_Replace_Deductible_Client/location/api/v1/location/alert-reasons/01813.json", - "parts/api/v1/parts/rain-defense": "0002a_Advanced_Replace_Deductible_Client/parts/api/v1/parts/rain-defense.json", + "parts/api/v1/parts/rain-repel": "0002a_Advanced_Replace_Deductible_Client/parts/api/v1/parts/rain-repel.json", "price/api/v1/price/combined-quote": "0002a_Advanced_Replace_Deductible_Client/price/api/v1/price/combined-quote.json" } } \ No newline at end of file diff --git a/src/assets/img/icons/select-error.png b/src/assets/img/icons/select-error.png new file mode 100644 index 00000000..9e971ee9 Binary files /dev/null and b/src/assets/img/icons/select-error.png differ diff --git a/src/assets/img/icons/select.png b/src/assets/img/icons/select.png new file mode 100644 index 00000000..0845f753 Binary files /dev/null and b/src/assets/img/icons/select.png differ diff --git a/src/constants/endpoints.js b/src/constants/endpoints.js index 3750f194..055b56b4 100644 --- a/src/constants/endpoints.js +++ b/src/constants/endpoints.js @@ -97,7 +97,7 @@ const endpoints = Object.freeze({ method: 'GET' }, GetRainDefense: { - url: `${PARTS_BASE_URL}/rain-defense`, + url: `${PARTS_BASE_URL}/rain-repel`, method: 'GET' }, GetRecalParts: { diff --git a/src/constants/progress-bar-mapper.js b/src/constants/progress-bar-mapper.js new file mode 100644 index 00000000..b9f3af77 --- /dev/null +++ b/src/constants/progress-bar-mapper.js @@ -0,0 +1,82 @@ +export const pageProgressMapper = { + 'duplicate-check': { + percent: 10 + }, + 'policy-holder-details': { + percent: 15 + }, + 'policy-vehicles': { + percent: 15 + }, + 'policy-endorsements': { + percent: 15 + }, + 'vehicle-selection': { + percent: 20 + }, + 'vehicle-damage': { + percent: 30 + }, + 'part-questions': { + percent: 35 + }, + 'molding-questions': { + percent: 40 + }, + 'vehicle-parts': { + percent: 40 + }, + 'capability-questions': { + percent: 40 + }, + 'vehicle-lookup': { + percent: 45 + }, + 'vin-lookup': { + percent: 50 + }, + 'license-plate-lookup': { + percent: 50 + }, + 'address-lookup': { + percent: 50 + }, + 'address-vehicles': { + percent: 50 + }, + 'coverage-statement': { + percent: 55 + }, + 'provider-preference': { + percent: 60 + }, + 'service-location': { + percent: 65 + }, + 'schedule-page': { + percent: 70 + }, + 'contact-details': { + percent: 80 + }, + 'service-packages': { + percent: 85 + }, + 'payment-method': { + percent: 90 + }, + 'payment-page': { + percent: 95 + }, + 'tpa-search': { + percent: 85 + }, + 'tpa-confirmation': { + percent: 100 + }, + 'order-confirmation': { + percent: 100 + } +}; + +export const getProgressBarPercentage = (page) => pageProgressMapper[page]?.percent || 0; diff --git a/src/digital-components/dropdown-question/dropdown-question.vue b/src/digital-components/dropdown-question/dropdown-question.vue index 341120a5..f0634855 100644 --- a/src/digital-components/dropdown-question/dropdown-question.vue +++ b/src/digital-components/dropdown-question/dropdown-question.vue @@ -132,29 +132,23 @@ export default { margin-bottom: 0.25rem; } .form-select { - border: 1px solid $gray-500; - background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 8.89' xml:space='preserve'%3e%3cpath d='M8 8.89c-.24 0-.46-.09-.63-.26L.26 1.53a.901.901 0 0 1 0-1.27C.43.1.66 0 .9 0s.47.1.64.26L8 6.74 14.47.27c.17-.17.4-.27.64-.27s.47.1.63.27c.17.17.26.4.26.64s-.1.47-.27.63l-7.1 7.09a.86.86 0 0 1-.63.26z' fill='%231474a2'/%3e%3c/svg%3e"); + border: $border-input; + background-image: url(~@/assets/img/icons/select.png); + background-size: 0.625rem 1rem; color: $gray-600; - border-radius: 0.5rem; + border-radius: $border-radius; min-height: 3rem; letter-spacing: inherit; + box-shadow: $box-shadow-input; &:focus, &:focus-visible { - box-shadow: 0 0 0 2.5px $blue; + border: $border-input-focus; } &:disabled, &.disabled { background-color: $gray-100; color: $gray-500; filter: grayscale(100%); - &:hover { - box-shadow: 0 0 0 4px transparent; - border: 1px solid $gray-500; - } - } - &:hover { - border: 1px solid $gray-500; - box-shadow: 0 0 0 4px $blue-300; } } } diff --git a/src/digital-components/textarea-question/textarea-question.vue b/src/digital-components/textarea-question/textarea-question.vue index 152b86de..a7f777fe 100644 --- a/src/digital-components/textarea-question/textarea-question.vue +++ b/src/digital-components/textarea-question/textarea-question.vue @@ -153,27 +153,20 @@ export default { .form-control { max-height: 30rem; - border: 1px solid $gray-500; - border-radius: 0.5rem; + border: $border-input; + border-radius: $border-radius; padding: 12px 16px; letter-spacing: inherit; + box-shadow: $box-shadow-input; &::placeholder { color: $gray-500; } &:focus { - box-shadow: 0 0 0 2.5px $blue; + border: $border-input-focus; } &:disabled, &.disabled { background-color: $gray-100; - &:hover { - box-shadow: 0 0 0 4px transparent; - border: 1px solid $gray-500; - } - } - &:hover { - border: 1px solid $gray-500; - box-shadow: 0 0 0 4px $blue-300; } } } diff --git a/src/digital-components/textbox-question/textbox-question.vue b/src/digital-components/textbox-question/textbox-question.vue index 8b5c6c84..31402629 100644 --- a/src/digital-components/textbox-question/textbox-question.vue +++ b/src/digital-components/textbox-question/textbox-question.vue @@ -275,7 +275,7 @@ input::-webkit-date-and-time-value { position: relative; &.has-search-icon { input[type='text'] { - border-radius: $border-radius-lg; + border-radius: $border-radius; } button[type='submit'] { position: absolute; @@ -329,29 +329,22 @@ input::-webkit-date-and-time-value { margin-bottom: 0.25rem; } .form-control { - border: 1px solid $gray-500; - border-radius: 0.5rem; + border: $border-input; + border-radius: $border-radius; min-height: 3rem; max-height: 3rem; padding: 0.75rem 1rem; letter-spacing: inherit; + box-shadow: $box-shadow-input; &::placeholder { color: $gray-500; } - &:focus { - box-shadow: 0 0 0 2.5px $blue; + &:focus, &:focus-within { + border: $border-input-focus; } &:disabled, &.disabled { background-color: $gray-100; - &:hover { - box-shadow: 0 0 0 4px transparent; - border: 1px solid $gray-500; - } - } - &:hover { - border: 1px solid $gray-500; - box-shadow: 0 0 0 4px $blue-300; } } p { diff --git a/src/iss-components/site-header/progress-bar/progress-bar.vue b/src/iss-components/site-header/progress-bar/progress-bar.vue new file mode 100644 index 00000000..700556ad --- /dev/null +++ b/src/iss-components/site-header/progress-bar/progress-bar.vue @@ -0,0 +1,87 @@ + + + + diff --git a/src/iss-components/site-header/site-header.vue b/src/iss-components/site-header/site-header.vue index bbd4f900..22ced000 100644 --- a/src/iss-components/site-header/site-header.vue +++ b/src/iss-components/site-header/site-header.vue @@ -3,11 +3,16 @@ class="site-header-container" :style="logoBackgroundStyle"> 0 ) + availableLineItems.push(resultMap.rainDefense); + + if ( resultMap?.wipers?.length > 0 ) + availableLineItems.push(...resultMap.wipers); + + if ( feeItems?.length > 0 ) + availableLineItems.push(...feeItems); let hasBailedOut = false; await store.getCombinedQuote(availableLineItems) @@ -195,7 +200,6 @@ export default { } }; -