diff --git a/src/constants/damage-locations-selected.js b/src/constants/damage-locations-selected.js index 7ede615cb..848491223 100644 --- a/src/constants/damage-locations-selected.js +++ b/src/constants/damage-locations-selected.js @@ -16,6 +16,8 @@ const damageLocationsSelected = { PASSENGERSIDE: "PassengerSide", STATIONARY: "Stationary", SLIDER: "Slider", + DOOR: "Door", + GLASS: "Glass", }; export { damageLocationsSelected }; diff --git a/src/helpers/damage-helper.js b/src/helpers/damage-helper.js index 13defa5df..1763ffbea 100644 --- a/src/helpers/damage-helper.js +++ b/src/helpers/damage-helper.js @@ -82,3 +82,56 @@ export async function isGlassAvailableForCarId(carId, pageNameToLog) { return true; } + +export function getSideDoorGlassString(glassLocation, glassName) { + let glassNameString; + switch (glassName) { + case glassLocations.BACK: + glassNameString = glassLocations.REAR + " " + glassLocations.DOOR; // "Back Door" + break; + case glassLocations.FRONT: + glassNameString = glassName + " " + glassLocations.DOOR; // "Front Door" + break; + case glassLocations.VENT: + case glassLocations.QUARTER: + glassNameString = glassName; + break; + } + return glassLocation + " " + glassName + " " + glassLocations.GLASS; +} + +export function getDamageInfoWordingText(damageInfo) { + const glassTextArray = []; + + damageInfo.glassToReplace.forEach((item) => { + let string = ""; + if (item.glassLocation === glassLocations.WINDSHIELD) { + string = item.glassLocation; + } + if (item.glassLocation === glassLocations.REAR) { + string = glassLocations.BACK + " " + glassLocations.GLASS; + } + if (item.glassLocation === glassLocations.DRIVER) { + string = getSideDoorGlassString(item.glassLocation, item.glassName); + // ONLY INCLUDE "DOOR" IF IT'S REAR or FRONT (vent or quarter should NOT) + } + if (item.glassLocation === glassLocations.PASSENGER) { + string = getSideDoorGlassString(item.glassLocation, item.glassName); + } + glassTextArray.push(string); + }); + + if (glassTextArray.length === 1) { + return glassTextArray[0]; + } + let damageInfoWordingText = glassTextArray.join(", "); // string + let lastCommaIndex = damageInfoWordingText.lastIndexOf(", "); + if (lastCommaIndex > -1) { + return ( + damageInfoWordingText.slice(0, lastCommaIndex) + + " and " + + damageInfoWordingText.slice(lastCommaIndex + 2, damageInfoWordingText.length) + ); + } + return ""; +} diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index 111e10315..eb75cf207 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -223,7 +223,8 @@ export default { "payment-method" ); - const reviewDropdownPromise = reviewDropdown.methods.loadInitialData(); + // const reviewDropdownPromise = reviewDropdown.methods.loadInitialData(); + // (removed temporarily for Heritage parity effort) const promiseResultMap = [ { @@ -238,10 +239,11 @@ export default { resultKey: "rainDefense", promise: rainDefensePromise, }, - { - resultKey: "reviewDropdownData", - promise: reviewDropdownPromise, - }, + // { + // resultKey: "reviewDropdownData", + // promise: reviewDropdownPromise, + // }, + // (removed temporarily for Heritage parity effort) ]; const resultMap = await settleAllPromises(promiseResultMap); @@ -346,7 +348,8 @@ export default { ); vm.updateFooterButtonText(vm.customCtaCopy); - vm.$refs.reviewDropdown.initializeComponent(resultMap.reviewDropdownData); + // vm.$refs.reviewDropdown.initializeComponent(resultMap.reviewDropdownData); + // (removed temporarily for Heritage parity effort) if (revalidatePromoResponse) { const revalidateAlerts = buildToastMessagesFromRevalidateOrValidatePromoResponse( @@ -904,6 +907,9 @@ export default { text-transform: lowercase; } } + :deep(.review-table p) { + margin: 0.25rem 0 0 0; + } } .checkbox-group { align-items: start; diff --git a/src/layouts/payment-method/review-dropdown/review-dropdown.vue b/src/layouts/payment-method/review-dropdown/review-dropdown.vue index 9b568d48f..9c7c446f4 100644 --- a/src/layouts/payment-method/review-dropdown/review-dropdown.vue +++ b/src/layouts/payment-method/review-dropdown/review-dropdown.vue @@ -15,30 +15,27 @@