Merge branch 'develop' into rlsmerge/develop-to-heavy.truck

This commit is contained in:
CarlNation 2025-03-13 09:58:34 -04:00
commit 05c361900c
10 changed files with 36 additions and 32 deletions

11
package-lock.json generated
View file

@ -8,6 +8,7 @@
"name": "Safelite", "name": "Safelite",
"version": "0.1.0", "version": "0.1.0",
"dependencies": { "dependencies": {
"@iframe-resizer/child": "^5.3.3",
"axios": "^0.23.0", "axios": "^0.23.0",
"bootstrap": "^5.3.3", "bootstrap": "^5.3.3",
"core-js": "^3.38.1", "core-js": "^3.38.1",
@ -2162,6 +2163,16 @@
"dev": true, "dev": true,
"license": "BSD-3-Clause" "license": "BSD-3-Clause"
}, },
"node_modules/@iframe-resizer/child": {
"version": "5.3.3",
"resolved": "https://registry.npmjs.org/@iframe-resizer/child/-/child-5.3.3.tgz",
"integrity": "sha512-A+avzzQ6R5AaK0RQ/v0sxrN/S7zeS0U7TE/Jcc2Wln0gpVHpkEMHLOYVBAS2ho8ZA6yhbyZeNoDCh3RMtCp14w==",
"license": "GPL-3.0",
"funding": {
"type": "individual",
"url": "https://iframe-resizer.com/pricing/"
}
},
"node_modules/@isaacs/cliui": { "node_modules/@isaacs/cliui": {
"version": "8.0.2", "version": "8.0.2",
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",

View file

@ -11,6 +11,7 @@
"lint": "vue-cli-service lint" "lint": "vue-cli-service lint"
}, },
"dependencies": { "dependencies": {
"@iframe-resizer/child": "^5.3.3",
"axios": "^0.23.0", "axios": "^0.23.0",
"bootstrap": "^5.3.3", "bootstrap": "^5.3.3",
"core-js": "^3.38.1", "core-js": "^3.38.1",

View file

@ -12,7 +12,8 @@
</div> </div>
<div> <div>
<p class="small subheadline mb-2" v-html="DonationSubHeadline"></p> <p class="small subheadline mb-2" v-html="DonationSubHeadline"></p>
<p class="caption mb-0" v-html="DonationBodyText"></p> <span class="caption mb-0" v-html="DonationBodyText"></span>
&nbsp;
<textLink <textLink
linkType="newWindowLink" linkType="newWindowLink"
text="Learn more" text="Learn more"
@ -61,11 +62,11 @@
<div class="col-12"> <div class="col-12">
<div <div
v-if="showDonationSuccess" v-if="showDonationSuccess"
class="d-flex justify-content-center align-items-center btn-success w-100 mb-2" class="d-flex justify-content-center align-items-center btn-success w-100"
v-html="DonationThanksAlertWidget"></div> v-html="DonationThanksAlertWidget"></div>
</div> </div>
</div> </div>
<div class="row px-4"> <div class="row px-4 mt-2">
<div class="col"> <div class="col">
<alert <alert
v-if="showDonationError" v-if="showDonationError"
@ -75,7 +76,7 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
<p class="my-4 mx-0 text-center caption" v-html="DonationFooterText"></p> <p class="mt-0 mb-4 mx-0 text-center caption" v-html="DonationFooterText"></p>
</div> </div>
</div> </div>
</form> </form>
@ -142,7 +143,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.donation-block { .donation-block {
padding: 1rem 0; padding: 1rem 0 0 0;
background-color: $gray-100; background-color: $gray-100;
border-radius: 0; border-radius: 0;

View file

@ -124,10 +124,6 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
isAddressFieldFocused: {
type: Boolean,
default: true,
},
}, },
data() { data() {
return { return {
@ -229,9 +225,6 @@ export default {
).then(() => { ).then(() => {
// When loaded, trigger the setup // When loaded, trigger the setup
this.initializeAutocomplete(); this.initializeAutocomplete();
if (this.isAddressFieldFocused) {
this.addressField1.focus();
}
}); });
}, },
initializeAutocomplete() { initializeAutocomplete() {

View file

@ -200,6 +200,7 @@ export default {
isItac: Boolean, isItac: Boolean,
isNoComp: Boolean, isNoComp: Boolean,
isExpandedOnLoad: Boolean, isExpandedOnLoad: Boolean,
isMSRFeeApplicable: Boolean,
}, },
data() { data() {
return { return {
@ -846,9 +847,6 @@ export default {
isCashItacNoComp() { isCashItacNoComp() {
return !this.isInsurance || this.isITAC || this.isNoComp; return !this.isInsurance || this.isITAC || this.isNoComp;
}, },
getIsMSRFeeApplicableFromStore() {
return this.$store.getters.order.isMSRFeeApplicable;
},
mobileFeeCartItemName() { mobileFeeCartItemName() {
return this.getCmsContent("MobileServiceTextWidget", "Text"); return this.getCmsContent("MobileServiceTextWidget", "Text");
}, },
@ -865,7 +863,7 @@ export default {
(mobileFeeLineItem?.sellingPrice ?? 0); (mobileFeeLineItem?.sellingPrice ?? 0);
if (mobileTotal > 0) { if (mobileTotal > 0) {
if (this.getIsMSRFeeApplicableFromStore) { if (this.isMSRFeeApplicable) {
showMobileFeeCartItem = this.isCashItacNoComp; showMobileFeeCartItem = this.isCashItacNoComp;
} else { } else {
showMobileFeeCartItem = true; showMobileFeeCartItem = true;

View file

@ -19,8 +19,7 @@
ref="customerQuestions" ref="customerQuestions"
v-model="customerQuestions" v-model="customerQuestions"
:validationRules="EmailOrSmsValidationRules" :validationRules="EmailOrSmsValidationRules"
:isEmailOptional="IsEmailOptional" :isEmailOptional="IsEmailOptional" />
:isAddressFieldFocused="IsAddressFieldFocused" />
<alert <alert
ref="alertVinNotFound" ref="alertVinNotFound"
v-if="displayVinNotFoundAlert" v-if="displayVinNotFoundAlert"
@ -465,9 +464,6 @@ export default {
.replaceAll("{custom:vinYmmFound}", vinYmmFound) .replaceAll("{custom:vinYmmFound}", vinYmmFound)
.replaceAll("{custom:vinYmmExpected}", vinYmmExpected); .replaceAll("{custom:vinYmmExpected}", vinYmmExpected);
}, },
IsAddressFieldFocused() {
return false;
},
}, },
watch: { watch: {
customerQuestions: { customerQuestions: {

View file

@ -1,9 +1,6 @@
<template> <template>
<div class="customer-questions"> <div class="customer-questions">
<addressQuestions <addressQuestions ref="addressQuestions" v-model="customerModel.addressQuestions" />
ref="addressQuestions"
v-model="customerModel.addressQuestions"
:isAddressFieldFocused="isAddressFieldFocused" />
<div class="row mb-4"> <div class="row mb-4">
<div class="col"> <div class="col">
<textboxQuestion <textboxQuestion
@ -90,11 +87,6 @@ export default {
}, },
validationRules: String, validationRules: String,
isEmailOptional: Boolean, isEmailOptional: Boolean,
isAddressFieldFocused: {
required: false,
type: Boolean,
default: true,
},
}, },
computed: { computed: {
customerModel: { customerModel: {

View file

@ -62,7 +62,8 @@
:shouldHideRecalibration="shouldHideRecalibration" :shouldHideRecalibration="shouldHideRecalibration"
:isExpandedOnLoad="false" :isExpandedOnLoad="false"
:isItac="isItac" :isItac="isItac"
:isNoComp="isNoComp" /> :isNoComp="isNoComp"
:isMSRFeeApplicable="isMSRFeeApplicable" />
<div class="mt-3" v-if="DisplayFosterLove"> <div class="mt-3" v-if="DisplayFosterLove">
<donationBlock <donationBlock
@ -423,6 +424,9 @@ export default {
damageInfo() { damageInfo() {
return this.submittedOrder?.damage; return this.submittedOrder?.damage;
}, },
isMSRFeeApplicable() {
return this.submittedOrder?.isMSRFeeApplicable;
},
isInsurance() { isInsurance() {
return this.submittedOrder?.payment?.isInsurance; return this.submittedOrder?.payment?.isInsurance;
}, },

View file

@ -36,7 +36,8 @@
:shouldHideRecalibration="shouldHideRecalibration" :shouldHideRecalibration="shouldHideRecalibration"
:isItac="isItac" :isItac="isItac"
:isNoComp="isNoComp" :isNoComp="isNoComp"
:isExpandedOnLoad="false" /> :isExpandedOnLoad="false"
:isMSRFeeApplicable="isMSRFeeApplicable" />
<hr /> <hr />
@ -683,6 +684,9 @@ export default {
damageInfo() { damageInfo() {
return this.$store.getters.damage; return this.$store.getters.damage;
}, },
isMSRFeeApplicable() {
return this.$store.getters.order.isMSRFeeApplicable;
},
isInsurance() { isInsurance() {
return this.hasSubmittedOrder() return this.hasSubmittedOrder()
? this.getSubmittedOrder()?.payment.isInsurance ? this.getSubmittedOrder()?.payment.isInsurance

View file

@ -15,6 +15,10 @@ import loadingModal from "@/fmg-components/loading-modal/loading-modal.vue";
import { Form } from "vee-validate"; import { Form } from "vee-validate";
import { paymentMethods } from "@/constants/payment-method-constants"; import { paymentMethods } from "@/constants/payment-method-constants";
import { routerParams } from "@/router/router-constants/router-params"; import { routerParams } from "@/router/router-constants/router-params";
// iframeResizer IS loaded into the page and necessary for the package to
// to auto scale the iFrame this page is loaded in
// Do not remove despite showing as "unused" CASH-309
import iframeResizer from "@iframe-resizer/child";
export default { export default {
name: "payment-pia-return", name: "payment-pia-return",