Merge branch 'develop' into rlsmerge/2024.11.21-to-develop
This commit is contained in:
commit
4e75fec1cf
19 changed files with 79 additions and 58 deletions
|
|
@ -103,6 +103,7 @@ stages:
|
|||
indexDeployVariables:
|
||||
__VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY__: $(__VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY__)
|
||||
__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__: $(__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__)
|
||||
__VUE_APP_SOLARWINDS_MONITORING_SCRIPT__: $(__VUE_APP_SOLARWINDS_MONITORING_SCRIPT__)
|
||||
- template: templates/digital/invalidate-cloudfront-cache.yml@AzureDevOps
|
||||
parameters:
|
||||
awsCliContainer: awscli
|
||||
|
|
@ -162,6 +163,7 @@ stages:
|
|||
indexDeployVariables:
|
||||
__VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY__: $(__VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY__)
|
||||
__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__: $(__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__)
|
||||
__VUE_APP_SOLARWINDS_MONITORING_SCRIPT__: $(__VUE_APP_SOLARWINDS_MONITORING_SCRIPT__)
|
||||
- template: templates/digital/invalidate-cloudfront-cache.yml@AzureDevOps
|
||||
parameters:
|
||||
awsCliContainer: awscli
|
||||
|
|
@ -221,6 +223,7 @@ stages:
|
|||
indexDeployVariables:
|
||||
__VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY__: $(__VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY__)
|
||||
__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__: $(__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__)
|
||||
__VUE_APP_SOLARWINDS_MONITORING_SCRIPT__: $(__VUE_APP_SOLARWINDS_MONITORING_SCRIPT__)
|
||||
- template: templates/digital/invalidate-cloudfront-cache.yml@AzureDevOps
|
||||
parameters:
|
||||
awsCliContainer: awscli
|
||||
|
|
@ -280,6 +283,7 @@ stages:
|
|||
indexDeployVariables:
|
||||
__VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY__: $(__VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY__)
|
||||
__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__: $(__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__)
|
||||
__VUE_APP_SOLARWINDS_MONITORING_SCRIPT__: $(__VUE_APP_SOLARWINDS_MONITORING_SCRIPT__)
|
||||
- template: templates/digital/invalidate-cloudfront-cache.yml@AzureDevOps
|
||||
parameters:
|
||||
awsCliContainer: awscli
|
||||
|
|
|
|||
|
|
@ -26,5 +26,7 @@
|
|||
|
||||
<div id="app"></div>
|
||||
<!-- built files will be auto injected -->
|
||||
|
||||
<%= process.env.VUE_APP_SOLARWINDS_MONITORING_SCRIPT %>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -96,7 +96,8 @@
|
|||
</span>
|
||||
<span
|
||||
v-if="
|
||||
!showCoverageAsVerified || cartItem.name === 'Recycling' ||
|
||||
!showCoverageAsVerified ||
|
||||
cartItem.name === 'Recycling' ||
|
||||
(showCoverageAsVerified && !cartItem.isCoveredByInsurance)
|
||||
"
|
||||
>{{
|
||||
|
|
@ -195,7 +196,7 @@ export default {
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
isExpanded: true, // set default to true so cart is open on page load. This may be temporary.
|
||||
isExpanded: this.shouldHideRecalibration,
|
||||
currencyFormatter: new Intl.NumberFormat("en-US", {
|
||||
style: "currency",
|
||||
currency: "USD",
|
||||
|
|
@ -1014,7 +1015,7 @@ export default {
|
|||
return this.getCmsContent("SalesTaxTextWidget", "Text");
|
||||
},
|
||||
amountDueText() {
|
||||
return this.getCmsContent("AmountDueTextWidget", "Text");
|
||||
return this.getCmsContent("OrderDetailsTextWidget", "Text");
|
||||
},
|
||||
amountPaidText() {
|
||||
return this.getCmsContent("AmountPaidTextWidget", "Text");
|
||||
|
|
|
|||
|
|
@ -50,7 +50,10 @@
|
|||
cmsWidgetName="AlertInshopPromoWidget"
|
||||
alertClass="alert-danger"
|
||||
v-bind:isDismissible="false" />
|
||||
<div class="mt-4 d-flex align-items-center justify-content-between" v-for="(promoCode, i) in this.getPromoCodeList()" :key="i">
|
||||
<div
|
||||
class="mt-4 d-flex align-items-center justify-content-between"
|
||||
v-for="(promoCode, i) in this.getPromoCodeList()"
|
||||
:key="i">
|
||||
<span class="applied-promo"
|
||||
>Promo code <span class="promo-code">{{ promoCode }}</span> applied
|
||||
</span>
|
||||
|
|
@ -357,7 +360,7 @@ export default {
|
|||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.applied-promo {
|
||||
font-size: .875rem;
|
||||
font-size: 0.875rem;
|
||||
font-weight: 500;
|
||||
line-height: 24px;
|
||||
color: $green;
|
||||
|
|
@ -368,7 +371,7 @@ export default {
|
|||
}
|
||||
.alert {
|
||||
color: $red;
|
||||
font-size: .875rem;
|
||||
font-size: 0.875rem;
|
||||
font-weight: 500;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -106,11 +106,7 @@ export async function getImplicitNavigation(toRoute) {
|
|||
Used to navigate to the heritage funnel with the correct query string and url.
|
||||
*/
|
||||
|
||||
export async function navigateToHeritageFunnel({
|
||||
shouldSaveSession,
|
||||
pageNameToLog,
|
||||
cleanupBeforeNavigateExternalMethod = null,
|
||||
}) {
|
||||
export async function navigateToHeritageFunnel({ shouldSaveSession, pageNameToLog }) {
|
||||
const log = getQuerystringParameter(queryStrings.LOG);
|
||||
if (eval(log)) {
|
||||
console.log("------------- Navigate to heritage start -----------------");
|
||||
|
|
@ -147,8 +143,6 @@ export async function navigateToHeritageFunnel({
|
|||
) {
|
||||
heritageParms["forceEndToEndInsurance"] = true;
|
||||
}
|
||||
//Cleanup Before Navigate to External
|
||||
cleanupBeforeNavigateExternalMethod?.();
|
||||
|
||||
// clear the heritage session that may still exist after an order was already submitted
|
||||
if (window.sessionStorage.getItem("createNewSessionForHeritage") !== null) {
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@
|
|||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6 col-xl-4 mt-4">
|
||||
|
||||
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" ref="funnelSubHeader" />
|
||||
|
||||
<customerQuestions
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6 col-xl-4 mt-4">
|
||||
|
||||
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" />
|
||||
|
||||
<alert
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@
|
|||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6 col-xl-4 mt-4">
|
||||
|
||||
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" />
|
||||
|
||||
<navbar
|
||||
|
|
|
|||
|
|
@ -15,9 +15,7 @@
|
|||
<span v-html="ScheduleConfirmationText"></span>
|
||||
</div>
|
||||
<div class="main">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
<div></div>
|
||||
|
||||
<div class="scheduleText">
|
||||
<p>{{ ScheduleDateFormatted }}</p>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
<template>
|
||||
<Form @submit="onSubmit" @invalid-submit="onInvalidSubmit" ref="theForm" v-slot="{ meta }">
|
||||
<Form
|
||||
@submit="onSubmit"
|
||||
@invalid-submit="onInvalidSubmit"
|
||||
ref="theForm"
|
||||
v-slot="{ meta }"
|
||||
id="insurance-company">
|
||||
<loadingModal ref="loadingModal" />
|
||||
<div class="container-fluid page-container-grouped-styles">
|
||||
<div class="row justify-content-center">
|
||||
|
|
@ -81,6 +86,7 @@ export default {
|
|||
}
|
||||
});
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
parentAccountNumber: this.parentAccountNumberFromStore(),
|
||||
|
|
@ -105,6 +111,10 @@ export default {
|
|||
: "";
|
||||
return accountNumber;
|
||||
},
|
||||
handleBeforeUnload() {
|
||||
const insuranceCompanyPage = document.getElementById("insurance-company");
|
||||
insuranceCompanyPage.parentElement.removeChild(insuranceCompanyPage);
|
||||
},
|
||||
arePagePrerequisitesValid() {
|
||||
return store.getters.order.payment.isInsurance === true;
|
||||
},
|
||||
|
|
@ -134,16 +144,17 @@ export default {
|
|||
billToAccountNumber,
|
||||
false
|
||||
);
|
||||
//Manually unmount component in case navigate to external application.
|
||||
window.addEventListener("beforeunload", this.handleBeforeUnload);
|
||||
|
||||
navigateToHeritageFunnel({
|
||||
shouldSaveSession: true,
|
||||
pageNameToLog: "insurance-company",
|
||||
cleanupBeforeNavigateExternalMethod: this.reloadPage,
|
||||
});
|
||||
},
|
||||
reloadPage(){
|
||||
window.location.reload();
|
||||
}
|
||||
},
|
||||
unmounted() {
|
||||
window.removeEventListener("beforeunload", this.handleBeforeUnload);
|
||||
},
|
||||
components: {
|
||||
funnelHeader,
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6 col-xl-4 mt-4">
|
||||
|
||||
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" />
|
||||
|
||||
<textboxQuestion
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@
|
|||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6 col-xl-4 mt-4">
|
||||
|
||||
<funnelSubHeader class="mb-5" cmsWidgetName="FunnelSubHeaderWidget" />
|
||||
|
||||
<hr class="my-0" />
|
||||
|
|
@ -420,7 +419,8 @@ export default {
|
|||
customer.emailAddress
|
||||
);
|
||||
|
||||
const preReqResult = serviceLocationReqs && isInsuranceSet() && scheduleReqs && customerReqs;
|
||||
const preReqResult =
|
||||
serviceLocationReqs && isInsuranceSet() && scheduleReqs && customerReqs;
|
||||
|
||||
// prettier-ignore
|
||||
{
|
||||
|
|
@ -443,7 +443,7 @@ export default {
|
|||
console.log(new Date() + " customerReqs::customer.emailAddress:" + customer.emailAddress);
|
||||
console.log("------------- payment-method.vue pagePrereqs end -----------------");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return preReqResult;
|
||||
},
|
||||
|
|
|
|||
|
|
@ -139,7 +139,10 @@
|
|||
type="hidden"
|
||||
name="sgtermsofusedisplaytext"
|
||||
value="By selecting submit, I agree to Safelite's" />
|
||||
<input type="hidden" name="sgtermsofuseurl" value="http://www.safelite.com/terms-of-service/" />
|
||||
<input
|
||||
type="hidden"
|
||||
name="sgtermsofuseurl"
|
||||
value="http://www.safelite.com/terms-of-service/" />
|
||||
<input type="hidden" name="sgtermsofuselinkdisplaytext" value="Terms of service" />
|
||||
<input type="hidden" name="sgtermsofcancelrefunddisplaytext" value="and" />
|
||||
<input
|
||||
|
|
|
|||
|
|
@ -447,15 +447,14 @@ export default {
|
|||
arePagePrerequisitesValid() {
|
||||
const payment = store.getters.order.payment;
|
||||
|
||||
const preReqResult = (
|
||||
const preReqResult =
|
||||
store.getters.order.serviceLocation.zipCode &&
|
||||
store.getters.order.serviceLocation.zipCodeCtu &&
|
||||
(store.getters.order.damage.isRepair ||
|
||||
(store.getters.order.lineItems?.glassParts != null &&
|
||||
store.getters.order.lineItems.glassParts.length > 0)) &&
|
||||
(payment.insuranceCoverage?.isVerified == null ||
|
||||
payment.insuranceCoverage?.isVerified === false)
|
||||
);
|
||||
payment.insuranceCoverage?.isVerified === false);
|
||||
|
||||
// prettier-ignore
|
||||
{
|
||||
|
|
@ -592,7 +591,10 @@ export default {
|
|||
});
|
||||
}
|
||||
let price = 0;
|
||||
if (tier.additionalButtonData?.servicePackageDiscount && this.isServicePackageDiscountOnOrder) {
|
||||
if (
|
||||
tier.additionalButtonData?.servicePackageDiscount &&
|
||||
this.isServicePackageDiscountOnOrder
|
||||
) {
|
||||
lineItemsToPrice.push(...this.servicePackageDiscountParts);
|
||||
}
|
||||
price += baseMixin.methods.getTierOnePackagePrice(
|
||||
|
|
|
|||
|
|
@ -447,8 +447,10 @@ export default {
|
|||
this.updateSupportingItems();
|
||||
|
||||
if (this.selectedTimeSlotInfo.timeSlot.jobMinMinutes == null) {
|
||||
this.selectedTimeSlotInfo.timeSlot.jobMinMinutes = this.selectableDatesData?.estimatedServiceMinutesMinimum?.toString();
|
||||
this.selectedTimeSlotInfo.timeSlot.jobMaxMinutes = this.selectableDatesData?.estimatedServiceMinutesMaximum?.toString();
|
||||
this.selectedTimeSlotInfo.timeSlot.jobMinMinutes =
|
||||
this.selectableDatesData?.estimatedServiceMinutesMinimum?.toString();
|
||||
this.selectedTimeSlotInfo.timeSlot.jobMaxMinutes =
|
||||
this.selectableDatesData?.estimatedServiceMinutesMaximum?.toString();
|
||||
}
|
||||
|
||||
this.dispatchStoreAction(
|
||||
|
|
|
|||
|
|
@ -410,7 +410,7 @@ export default {
|
|||
console.log(new Date() + "Cash: servce-location invalid prereqs");
|
||||
console.log(new Date() + "store.getters.lineItems.supportingItems:" + JSON.stringify(store.getters.lineItems.supportingItems));
|
||||
console.log(new Date() + "store.getters.order.serviceLocation.zipCode:" + store.getters.order.serviceLocation.zipCode);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -79,50 +79,55 @@ caption,
|
|||
// Averta Fonts
|
||||
|
||||
@font-face {
|
||||
font-family: 'AvertaBold';
|
||||
src: url('@/assets/fonts/averta-bold-webfont.woff2') format('woff2'),
|
||||
url('@/assets/fonts/averta-bold-webfont.woff') format('woff');
|
||||
font-family: "AvertaBold";
|
||||
src:
|
||||
url("@/assets/fonts/averta-bold-webfont.woff2") format("woff2"),
|
||||
url("@/assets/fonts/averta-bold-webfont.woff") format("woff");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'AvertaBold_Italic';
|
||||
src: url('@/assets/fonts/averta-bolditalic-webfont.woff2') format('woff2'),
|
||||
url('@/assets/fonts/averta-bolditalic-webfont.woff') format('woff');
|
||||
font-family: "AvertaBold_Italic";
|
||||
src:
|
||||
url("@/assets/fonts/averta-bolditalic-webfont.woff2") format("woff2"),
|
||||
url("@/assets/fonts/averta-bolditalic-webfont.woff") format("woff");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'AvertaExtraBold';
|
||||
src: url('@/assets/fonts/averta-extrabold-webfont.woff2') format('woff2'),
|
||||
url('@/assets/fonts/averta-extrabold-webfont.woff') format('woff');
|
||||
font-family: "AvertaExtraBold";
|
||||
src:
|
||||
url("@/assets/fonts/averta-extrabold-webfont.woff2") format("woff2"),
|
||||
url("@/assets/fonts/averta-extrabold-webfont.woff") format("woff");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'AvertaRegular';
|
||||
src: url('@/assets/fonts/averta-regular-webfont.woff2') format('woff2'),
|
||||
url('@/assets/fonts/averta-regular-webfont.woff') format('woff');
|
||||
font-family: "AvertaRegular";
|
||||
src:
|
||||
url("@/assets/fonts/averta-regular-webfont.woff2") format("woff2"),
|
||||
url("@/assets/fonts/averta-regular-webfont.woff") format("woff");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'AvertaRegular_Italic';
|
||||
src: url('@/assets/fonts/averta-regularitalic-webfont.woff2') format('woff2'),
|
||||
url('@/assets/fonts/averta-regularitalic-webfont.woff') format('woff');
|
||||
font-family: "AvertaRegular_Italic";
|
||||
src:
|
||||
url("@/assets/fonts/averta-regularitalic-webfont.woff2") format("woff2"),
|
||||
url("@/assets/fonts/averta-regularitalic-webfont.woff") format("woff");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'AvertaSemibold';
|
||||
src: url('@/assets/fonts/averta-semibold-webfont.woff2') format('woff2'),
|
||||
url('@/assets/fonts/averta-semibold-webfont.woff') format('woff');
|
||||
font-family: "AvertaSemibold";
|
||||
src:
|
||||
url("@/assets/fonts/averta-semibold-webfont.woff2") format("woff2"),
|
||||
url("@/assets/fonts/averta-semibold-webfont.woff") format("woff");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ process.env.VUE_APP_HERITAGE_FUNNEL = "https://fixmyglassdev.safelite.com/defaul
|
|||
process.env.VUE_APP_GOOGLE_PLACES_API_KEY = "AIzaSyDptGCkOPgN2uWJOy4ou4M33phRD4MAoJo";
|
||||
process.env.VUE_APP_CURRENT_ENVIRONMENT = "Localhost";
|
||||
process.env.VUE_APP_MY_ACCOUNT = "https://myaccountdev.safelite.com/";
|
||||
|
||||
//process.env.VUE_APP_SAFELITE_HOP = "http://localhost:60966/fmgCheckoutShared.aspx";
|
||||
process.env.VUE_APP_SAFELITE_HOP = "https://sv2-safelitehop-dev.safelite.com/fmgCheckoutShared.aspx";
|
||||
process.env.VUE_APP_SOLARWINDS_MONITORING = "";
|
||||
|
||||
// GA & GTM
|
||||
process.env.VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY =
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ process.env.VUE_APP_GOOGLE_PLACES_API_KEY = "__VUE_APP_GOOGLE_PLACES_API_KEY__";
|
|||
process.env.VUE_APP_HERITAGE_FUNNEL = "__VUE_APP_HERITAGE_FUNNEL__";
|
||||
process.env.VUE_APP_CURRENT_ENVIRONMENT = "__VUE_APP_CURRENT_ENVIRONMENT__";
|
||||
process.env.VUE_APP_MY_ACCOUNT = "__VUE_APP_MY_ACCOUNT__";
|
||||
|
||||
process.env.VUE_APP_SAFELITE_HOP = "__VUE_APP_SAFELITE_HOP__";
|
||||
process.env.VUE_APP_SOLARWINDS_MONITORING_SCRIPT = "__VUE_APP_SOLARWINDS_MONITORING_SCRIPT__";
|
||||
|
||||
// GA & GTM
|
||||
process.env.VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY = "__VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY__";
|
||||
|
|
|
|||
Loading…
Reference in a new issue