Merge pull request #2711 from Safelite/CASH-1042-header-and-progress-bar-style-updates
Cash 1042 header and progress bar style updates
This commit is contained in:
commit
fedd43f54e
10 changed files with 131 additions and 57 deletions
|
|
@ -1,35 +1,35 @@
|
||||||
export const pageProgressMapper = {
|
export const pageProgressMapper = {
|
||||||
//Combine progress bar slide percent and button steps
|
//Combine progress bar slide percent and button steps
|
||||||
vehicle: {
|
vehicle: {
|
||||||
percent: 7,
|
|
||||||
step: 1,
|
|
||||||
},
|
|
||||||
"vehicle-damage": {
|
|
||||||
percent: 10,
|
percent: 10,
|
||||||
step: 1,
|
step: 1,
|
||||||
},
|
},
|
||||||
estimate: {
|
"vehicle-damage": {
|
||||||
percent: 14,
|
percent: 14,
|
||||||
step: 1,
|
step: 1,
|
||||||
},
|
},
|
||||||
"service-zip": {
|
estimate: {
|
||||||
percent: 18,
|
percent: 18,
|
||||||
step: 1,
|
step: 1,
|
||||||
},
|
},
|
||||||
|
"service-zip": {
|
||||||
|
percent: 22,
|
||||||
|
step: 1,
|
||||||
|
},
|
||||||
"vin-lookup": {
|
"vin-lookup": {
|
||||||
percent: 18,
|
percent: 22,
|
||||||
step: 1,
|
step: 1,
|
||||||
},
|
},
|
||||||
"license-plate-lookup": {
|
"license-plate-lookup": {
|
||||||
percent: 18,
|
percent: 22,
|
||||||
step: 1,
|
step: 1,
|
||||||
},
|
},
|
||||||
"address-lookup": {
|
"address-lookup": {
|
||||||
percent: 18,
|
percent: 22,
|
||||||
step: 1,
|
step: 1,
|
||||||
},
|
},
|
||||||
"address-vehicles": {
|
"address-vehicles": {
|
||||||
percent: 25,
|
percent: 26,
|
||||||
step: 1,
|
step: 1,
|
||||||
},
|
},
|
||||||
"part-questions": {
|
"part-questions": {
|
||||||
|
|
@ -49,7 +49,7 @@ export const pageProgressMapper = {
|
||||||
step: 1,
|
step: 1,
|
||||||
},
|
},
|
||||||
quote: {
|
quote: {
|
||||||
percent: 39, //Must be 39
|
percent: 39, //The first Step 2 must be 39 so the animated bar lines up with the dot
|
||||||
step: 2,
|
step: 2,
|
||||||
},
|
},
|
||||||
"insurance-company": {
|
"insurance-company": {
|
||||||
|
|
@ -61,7 +61,7 @@ export const pageProgressMapper = {
|
||||||
step: 2,
|
step: 2,
|
||||||
},
|
},
|
||||||
schedule: {
|
schedule: {
|
||||||
percent: 70.5, //Must be 70.5
|
percent: 70.5, //The first Step 3 must be 70.5 so the animated bar lines up with the dot
|
||||||
step: 3,
|
step: 3,
|
||||||
},
|
},
|
||||||
"mobile-details": {
|
"mobile-details": {
|
||||||
|
|
@ -73,7 +73,7 @@ export const pageProgressMapper = {
|
||||||
step: 3,
|
step: 3,
|
||||||
},
|
},
|
||||||
"payment-method": {
|
"payment-method": {
|
||||||
percent: 92, //Must be 92
|
percent: 92, //The first Step 4 must be 92 so the animated bar lines up with the dot
|
||||||
step: 3,
|
step: 3,
|
||||||
},
|
},
|
||||||
payment: {
|
payment: {
|
||||||
|
|
|
||||||
|
|
@ -317,10 +317,18 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.custom-secondary {
|
.custom-secondary {
|
||||||
&:hover {
|
border-radius: 0.5rem;
|
||||||
|
color: $blue;
|
||||||
|
border: 1px solid $blue;
|
||||||
|
&:hover,
|
||||||
|
&:focus,
|
||||||
|
&:active {
|
||||||
color: $blue;
|
color: $blue;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border: 1px solid $blue;
|
border: 1px solid $blue;
|
||||||
|
box-shadow:
|
||||||
|
0 0 0 3px #ffffff,
|
||||||
|
0 0 0 5.5px $blue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,10 +19,10 @@
|
||||||
v-if="showThisQuestionChain(questionsDatum, i)"
|
v-if="showThisQuestionChain(questionsDatum, i)"
|
||||||
:answerKey="questionsDatum.answerKey"
|
:answerKey="questionsDatum.answerKey"
|
||||||
:validationRules="validationRules" />
|
:validationRules="validationRules" />
|
||||||
|
<!-- Save your progress slot -->
|
||||||
|
<slot></slot>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<slot></slot>
|
|
||||||
|
|
||||||
<navbar
|
<navbar
|
||||||
ref="navbar"
|
ref="navbar"
|
||||||
cmsWidgetName="FunnelFooterWidget"
|
cmsWidgetName="FunnelFooterWidget"
|
||||||
|
|
@ -88,6 +88,12 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
.nav-bar {
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
.save-progress-modal-question {
|
||||||
|
margin: 2rem 0;
|
||||||
|
}
|
||||||
.questions-page {
|
.questions-page {
|
||||||
.question-text {
|
.question-text {
|
||||||
margin-bottom: 1.5rem;
|
margin-bottom: 1.5rem;
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
<div
|
<div
|
||||||
v-if="!isBackButtonHidden"
|
v-if="!isBackButtonHidden"
|
||||||
class="col-auto link-col py-1 text-break"
|
class="col-auto link-col py-1 text-break"
|
||||||
:class="[buttonSize ? 'back-centered-below mt-5' : '']">
|
:class="[buttonSize ? 'mt-5' : '']">
|
||||||
<textLink
|
<textLink
|
||||||
linkType="navigation"
|
linkType="navigation"
|
||||||
:text="backLink"
|
:text="backLink"
|
||||||
|
|
@ -134,11 +134,6 @@ export default {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.back-centered-below {
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media only screen and (min-width: 340px) {
|
@media only screen and (min-width: 340px) {
|
||||||
.col,
|
.col,
|
||||||
.col-auto,
|
.col-auto,
|
||||||
|
|
@ -147,11 +142,6 @@ export default {
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
}
|
}
|
||||||
|
|
||||||
.back-centered-below {
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-primary {
|
.btn-primary {
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,13 @@
|
||||||
<template>
|
<template>
|
||||||
<Form @submit="onSubmit" @invalid-submit="onInvalidSubmit" ref="theForm">
|
<Form @submit="onSubmit" @invalid-submit="onInvalidSubmit" ref="theForm">
|
||||||
<div class="page-container-grouped-styles position-relative">
|
<loadingModal notFullScreen ref="loadingModal" />
|
||||||
<div>
|
<funnelHeader cmsWidgetName="FunnelHeaderWidget" ref="funnelHeader" />
|
||||||
<div class="container-fluid pb-2">
|
<div class="container page-container-grouped-styles">
|
||||||
<div class="row justify-content-center">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-12 col-md-10 col-lg-8 col-xl-7">
|
||||||
<funnelHeader
|
<div class="header-container">
|
||||||
cmsWidgetName="FunnelHeaderWidget"
|
<img :src="ScheduleConfirmationImage" />
|
||||||
ref="funnelHeader"
|
<span v-html="ScheduleConfirmationText"></span>
|
||||||
hideSalesforceWebchatLaunchButton />
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="row justify-content-center">
|
<div class="row justify-content-center">
|
||||||
<div class="col-md-6 col-xl-4">
|
<div class="col-md-6 col-xl-4">
|
||||||
|
|
@ -85,7 +83,63 @@
|
||||||
|
|
||||||
<hr class="mb-5" />
|
<hr class="mb-5" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<addToCalendar
|
||||||
|
mobileWidgetName="AddToCalendar_Mobile"
|
||||||
|
inShopWidgetName="AddToCalendar_InShop"
|
||||||
|
dropOffWidgetName="AddToCalendar_DropOff"
|
||||||
|
overnightDropOffWidgetName="AddToCalendar_OvernightDropOff"
|
||||||
|
allDayDropOffWidgetName="AddToCalendar_AllDayDropOff"
|
||||||
|
sameDayDropOffWidgetName="AddToCalendar_SameDayDropOff"
|
||||||
|
:serviceLocationFullAddress="ServiceLocationFullAddress"
|
||||||
|
:providerFullAddress="ProviderFullAddress"
|
||||||
|
:appointmentType="AppointmentType"
|
||||||
|
:scheduleDate="ScheduleDate"
|
||||||
|
:scheduleStartTime="ScheduleStartTime"
|
||||||
|
:scheduleEndTime="ScheduleEndTime" />
|
||||||
|
|
||||||
|
<div class="appointment-text" v-html="AppointmentWordingText"></div>
|
||||||
|
|
||||||
|
<textBlock
|
||||||
|
:customText="AppointmentDuration"
|
||||||
|
justifyText="center"
|
||||||
|
typeStyle="medium"
|
||||||
|
class="duration-text-block" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="mt-3" v-if="shouldDisplayFosterLove">
|
||||||
|
<donationBlock
|
||||||
|
cmsWidgetName="DonationWidget"
|
||||||
|
v-model="donationAmount"
|
||||||
|
:donationValues="donationValues"
|
||||||
|
:showDonationSuccess="showDonationSuccess"
|
||||||
|
:showDonationError="showDonationError"
|
||||||
|
@DonationAddedEvent="addDonationToOrder"
|
||||||
|
ref="donationBlock" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr class="mt-5 mb-0" />
|
||||||
|
|
||||||
|
<cart
|
||||||
|
v-if="ShowCart"
|
||||||
|
:damage="damageInfo"
|
||||||
|
:availableVaps="vaps"
|
||||||
|
:allowItemRemoval="false"
|
||||||
|
v-model="lineItemsWithoutDonation"
|
||||||
|
:donationCartItem="donationLineItem"
|
||||||
|
:showAsPaid="isPia"
|
||||||
|
servicePackageOptionsCmsName="ServicePackageTitle"
|
||||||
|
:isInsurance="isInsurance"
|
||||||
|
:insuranceDeductible="currentDeductible"
|
||||||
|
:insuranceCompanyName="insuranceCompanyName"
|
||||||
|
:showInsuranceCoverageAs="showInsuranceCoverageAs"
|
||||||
|
:shouldHideRecalibration="shouldHideRecalibration"
|
||||||
|
:isExpandedOnLoad="false"
|
||||||
|
:isItac="isItac"
|
||||||
|
:isNoComp="isNoComp"
|
||||||
|
:isMSRFeeApplicable="isMSRFeeApplicable" />
|
||||||
|
|
||||||
|
<hr class="mt-4 mb-5" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -94,7 +148,6 @@
|
||||||
<script>
|
<script>
|
||||||
// Components
|
// Components
|
||||||
import funnelHeader from "@/fmg-components/funnel-header/funnel-header";
|
import funnelHeader from "@/fmg-components/funnel-header/funnel-header";
|
||||||
import navbar from "@/fmg-components/nav-bar/nav-bar";
|
|
||||||
import addToCalendar from "@/layouts/confirmation/add-to-calendar/add-to-calendar";
|
import addToCalendar from "@/layouts/confirmation/add-to-calendar/add-to-calendar";
|
||||||
import cart from "@/fmg-components/cart/cart";
|
import cart from "@/fmg-components/cart/cart";
|
||||||
import textBlock from "@/digital-components/text-block/text-block";
|
import textBlock from "@/digital-components/text-block/text-block";
|
||||||
|
|
@ -620,7 +673,8 @@ export default {
|
||||||
.header-container {
|
.header-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 1rem 0;
|
justify-content: flex-start;
|
||||||
|
padding: 1.5rem 0 0.5rem 0;
|
||||||
|
|
||||||
p {
|
p {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@
|
||||||
@ForwardClicked="forwardButtonAction" />
|
@ForwardClicked="forwardButtonAction" />
|
||||||
|
|
||||||
<textBlock
|
<textBlock
|
||||||
class="mb-5 disclaimer-block"
|
class="mb-5"
|
||||||
cmsWidgetName="DisclaimerCopyWidget"
|
cmsWidgetName="DisclaimerCopyWidget"
|
||||||
typeStyle="caption" />
|
typeStyle="caption" />
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -215,10 +215,3 @@ export default {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.disclaimer-block {
|
|
||||||
position: relative;
|
|
||||||
z-index: 2;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
<template>
|
<template>
|
||||||
<Form @submit="onSubmit" @invalid-submit="onInvalidSubmit" ref="theForm" v-slot="{ meta }">
|
<Form @submit="onSubmit" @invalid-submit="onInvalidSubmit" ref="theForm" v-slot="{ meta }">
|
||||||
<loadingModal ref="loadingModal" />
|
<loadingModal ref="loadingModal" />
|
||||||
<div class="container-fluid page-container-grouped-styles">
|
<funnelHeader cmsWidgetName="FunnelHeaderWidget" ref="funnelHeader" />
|
||||||
<div class="row justify-content-center">
|
<div class="container position-relative">
|
||||||
<div class="col-md-6">
|
<div class="row">
|
||||||
<funnelHeader cmsWidgetName="FunnelHeaderWidget" ref="funnelHeader" />
|
<div class="col-12 col-md-10 col-lg-8 col-xl-7">
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row justify-content-center">
|
|
||||||
<div class="col-md-6 col-xl-4 mt-4">
|
|
||||||
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" />
|
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" />
|
||||||
|
<hr class="my-3" />
|
||||||
|
<textBlock cmsWidgetName="AppointmentTimeOfService" class="time-header" />
|
||||||
|
<textBlock cmsWidgetName="AppointmentDateAndTime" />
|
||||||
|
<hr class="my-3" />
|
||||||
<div class="mobile-location-questions">
|
<div class="mobile-location-questions">
|
||||||
<div class="address-questions-container">
|
<div class="address-questions-container">
|
||||||
<mobileAddressQuestions
|
<mobileAddressQuestions
|
||||||
|
|
@ -150,8 +150,11 @@ export default {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
headerText() {
|
AppointmentDateAndTime() {
|
||||||
return this.getCmsContent("MobileLocationModalWidget", "HeaderText");
|
return this.getCmsContent("AppointmentDateAndTime", "Text");
|
||||||
|
},
|
||||||
|
AppointmentTimeOfService() {
|
||||||
|
return this.getCmsContent("AppointmentDateAndTime", "Text");
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
|
|
@ -166,3 +169,11 @@ export default {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.time-header {
|
||||||
|
font-family: UrbanistSemibold, Arial, Helvetica, sans-serif;
|
||||||
|
font-weight: 600;
|
||||||
|
color: $black;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -927,6 +927,9 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
.funnel-sub-header {
|
.funnel-sub-header {
|
||||||
|
:deep(h5) {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
p {
|
p {
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -117,4 +117,10 @@ export default {
|
||||||
margin-top: 14rem;
|
margin-top: 14rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
:deep(.menu-modal-container) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
:deep(.progress-bar-outer) {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,9 @@ export default {
|
||||||
font-size: 0.875rem;
|
font-size: 0.875rem;
|
||||||
}
|
}
|
||||||
.vin-toggle {
|
.vin-toggle {
|
||||||
|
display: inline-flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
&:after {
|
&:after {
|
||||||
content: "";
|
content: "";
|
||||||
transition: all 0.5s ease;
|
transition: all 0.5s ease;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue