Merge pull request #1461 from Safelite/feature/CSR-1384-modals-for-add-vaps

CSR-1384: fixes for constant strings refactoring
This commit is contained in:
AdamCaouetteSafelite 2023-10-27 16:58:25 -04:00 committed by GitHub
commit 2bd808a8c0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -26,7 +26,7 @@
v-if="wipersModal" v-if="wipersModal"
@footer-button-action="addWipersToCart('WipersModal', wipersModal)" @footer-button-action="addWipersToCart('WipersModal', wipersModal)"
footerButtonActionName="footer-button-action"> footerButtonActionName="footer-button-action">
<div v-if="wipersToDisplay === 'both'" class="wiper-options"> <div v-if="wipersToDisplay === wipersToDisplayStrings.BOTH" class="wiper-options">
<div> <div>
<checkboxQuestion <checkboxQuestion
class="mb-5" class="mb-5"
@ -42,10 +42,14 @@
<p class="price">+${{ wipersModal.totalRearPrice }}</p> <p class="price">+${{ wipersModal.totalRearPrice }}</p>
</div> </div>
</div> </div>
<div v-else-if="wipersToDisplay === 'front'" class="wiper-options"> <div
v-else-if="wipersToDisplay === wipersToDisplayStrings.FRONT"
class="wiper-options">
<p class="price">+${{ wipersModal.totalFrontPrice }}</p> <p class="price">+${{ wipersModal.totalFrontPrice }}</p>
</div> </div>
<div v-else-if="wipersToDisplay === 'rear'" class="wiper-options"> <div
v-else-if="wipersToDisplay === wipersToDisplayStrings.REAR"
class="wiper-options">
<p class="price">+${{ wipersModal.totalRearPrice }}</p> <p class="price">+${{ wipersModal.totalRearPrice }}</p>
</div> </div>
</contentGroupModal> </contentGroupModal>
@ -139,11 +143,13 @@ export default {
}, },
computed: { computed: {
currentCartItems() { currentCartItems() {
return this.modelValue; const modelValue = this.modelValue;
if (!modelValue.vaps) modelValue.vaps = [];
return modelValue;
}, },
rainDefenseModal() { rainDefenseModal() {
const lineItem = this.availableLineItems.find((item) => { const lineItem = this.availableLineItems.find((item) => {
return item.partType === partTypeStrings.FRONT_WIPER; return item.partType === partTypeStrings.RAIN_DEFENSE;
}); });
if (lineItem) if (lineItem)
lineItem.listPrice = parseFloat( lineItem.listPrice = parseFloat(
@ -190,7 +196,7 @@ export default {
if (!this.answersCmsData) return buttons; if (!this.answersCmsData) return buttons;
const rainDefenseInCart = this.currentCartItems.vaps?.some((vap) => { const rainDefenseInCart = this.currentCartItems.vaps?.some((vap) => {
return vap?.partType === partTypeStrings.FRONT_WIPER; return vap?.partType === partTypeStrings.RAIN_DEFENSE;
}); });
const frontWipersInCart = this.currentCartItems.vaps?.some((vap) => { const frontWipersInCart = this.currentCartItems.vaps?.some((vap) => {
return vap?.partType?.includes(partTypeStrings.FRONT_WIPER); return vap?.partType?.includes(partTypeStrings.FRONT_WIPER);
@ -209,17 +215,17 @@ export default {
if (!rainDefenseInCart) { if (!rainDefenseInCart) {
// NO RAIN DEFENSE IN CART; SHOW RAIN DEFENSE BUTTON // NO RAIN DEFENSE IN CART; SHOW RAIN DEFENSE BUTTON
const modalData = getAnswer("RainDefenseModal", this.answersCmsData); const modalData = getAnswer("RainDefenseModal", this.answersCmsData);
modalData.SubText = "+$" + this.rainDefenseModal.listPrice; modalData.SubText = "+$" + this.rainDefenseModal?.listPrice;
buttons.push(modalData); buttons.push(modalData);
} }
const modalData = getAnswer("WipersModal", this.answersCmsData); const modalData = getAnswer("WipersModal", this.answersCmsData);
if (!frontWipersInCart) { if (!frontWipersInCart) {
if (!rearWipersInCart && this.wipersModal.rearWiperLineItems.length > 0) { if (!rearWipersInCart && this.wipersModal?.rearWiperLineItems.length > 0) {
// NO REAR WIPERS or FRONT WIPERS IN CART; SHOW COMBO BUTTON // NO REAR WIPERS or FRONT WIPERS IN CART; SHOW COMBO BUTTON
const prices = [ const prices = [
this.wipersModal.totalFrontPrice, this.wipersModal?.totalFrontPrice,
this.wipersModal.totalRearPrice, this.wipersModal?.totalRearPrice,
]; ];
prices.sort((a, b) => a - b); prices.sort((a, b) => a - b);
modalData.SubText = "+$" + prices[0] + " - $" + prices[prices.length - 1]; modalData.SubText = "+$" + prices[0] + " - $" + prices[prices.length - 1];
@ -227,19 +233,22 @@ export default {
buttons.push(modalData); buttons.push(modalData);
} else { } else {
// NO FRONT WIPERS IN CART; SHOW ONLY FRONT WIPERS BUTTON // NO FRONT WIPERS IN CART; SHOW ONLY FRONT WIPERS BUTTON
modalData.SubText = "+$" + this.wipersModal.totalFrontPrice; modalData.SubText = "+$" + this.wipersModal?.totalFrontPrice;
this.updateWipersToDisplay(wipersToDisplayStrings.FRONT); this.updateWipersToDisplay(wipersToDisplayStrings.FRONT);
buttons.push(modalData); buttons.push(modalData);
} }
} else if (!rearWipersInCart && this.wipersModal.rearWiperLineItems.length > 0) { } else if (!rearWipersInCart && this.wipersModal?.rearWiperLineItems.length > 0) {
// NO REAR WIPERS IN CART; SHOW ONLY REAR WIPERS BUTTON // NO REAR WIPERS IN CART; SHOW ONLY REAR WIPERS BUTTON
modalData.SubText = "+$" + this.wipersModal.totalRearPrice; modalData.SubText = "+$" + this.wipersModal?.totalRearPrice;
this.updateWipersToDisplay(wipersToDisplayStrings.REAR); this.updateWipersToDisplay(wipersToDisplayStrings.REAR);
buttons.push(modalData); buttons.push(modalData);
} }
return buttons; return buttons;
}, },
wipersToDisplayStrings() {
return wipersToDisplayStrings;
},
}, },
components: { components: {
buttonQuestion, buttonQuestion,