unverified scenarios WIP

This commit is contained in:
Katie Kroell 2026-01-20 16:03:07 -05:00
parent e78e96ab37
commit d7cd7f0063
4 changed files with 44 additions and 22 deletions

View file

@ -4,7 +4,7 @@ const bailoutCode = Object.freeze({
VehicleNotFound: 2, VehicleNotFound: 2,
VehicleVinLookupError: 3, VehicleVinLookupError: 3,
CoverageStatementInvalidState: 4, CoverageStatementInvalidState: 4,
DoNotSeeMyShop: 5, NeedHelp: 5,
PricingResponseError: 6, PricingResponseError: 6,
TPANotEnabled: 7, TPANotEnabled: 7,
RequestCallback: 8, RequestCallback: 8,

View file

@ -33,9 +33,9 @@ const bailoutMessage = Object.freeze({
code: bailoutCode.CoverageStatementInvalidState, code: bailoutCode.CoverageStatementInvalidState,
message: 'Coverage Statement has entered an invalid state' message: 'Coverage Statement has entered an invalid state'
}), }),
doNotSeeMyShop: () => ({ needHelp: () => ({
code: bailoutCode.DoNotSeeMyShop, code: bailoutCode.NeedHelp,
message: 'User does not see their shop.' message: 'User clicked Need Help link.'
}), }),
pricingResponseError: (lineItems, error) => ({ pricingResponseError: (lineItems, error) => ({
code: bailoutCode.PricingResponseError, code: bailoutCode.PricingResponseError,
@ -66,9 +66,9 @@ const bailoutMessage = Object.freeze({
message: 'User selected to continue a referral where a TPA shop was previously selected.' message: 'User selected to continue a referral where a TPA shop was previously selected.'
}), }),
vehicleYMMSLookupError: (year, make, model, style, error) => { vehicleYMMSLookupError: (year, make, model, style, error) => {
const baseMessage = "An error occurred looking up vehicle"; const baseMessage = 'An error occurred looking up vehicle';
const errorMessage = `Error: ${getItemData(error)}`; const errorMessage = `Error: ${getItemData(error)}`;
const getMessage = (year, make, model, style) => { const getMessage = (year, make, model, style) => {
if (!year) return `${baseMessage} years. ${errorMessage}`; if (!year) return `${baseMessage} years. ${errorMessage}`;
if (!make) return `${baseMessage} makes for Year: ${year}. ${errorMessage}`; if (!make) return `${baseMessage} makes for Year: ${year}. ${errorMessage}`;
@ -76,12 +76,12 @@ const bailoutMessage = Object.freeze({
if (!style) return `${baseMessage} styles for Year: ${year}, Make: ${make}, Model: ${model}. ${errorMessage}`; if (!style) return `${baseMessage} styles for Year: ${year}, Make: ${make}, Model: ${model}. ${errorMessage}`;
return `${baseMessage} with Year: ${year}, Make: ${make}, Model: ${model}, Style: ${style}. ${errorMessage}`; return `${baseMessage} with Year: ${year}, Make: ${make}, Model: ${model}, Style: ${style}. ${errorMessage}`;
}; };
return { return {
code: bailoutCode.VehicleYMMSLookupError, code: bailoutCode.VehicleYMMSLookupError,
message: getMessage(year, make, model, style) message: getMessage(year, make, model, style)
}; };
}, }
}); });
export default bailoutMessage; export default bailoutMessage;

View file

@ -45,7 +45,7 @@ export const pageProgressMapper = {
percent: 50 percent: 50
}, },
'coverage-statement': { 'coverage-statement': {
percent: 55 percent: 50
}, },
'provider-preference': { 'provider-preference': {
percent: 60 percent: 60

View file

@ -15,26 +15,32 @@
<div class="coverage-statement-container iss-heritage-content-container-width"> <div class="coverage-statement-container iss-heritage-content-container-width">
<h5 <h5
ref="siteSubHeader" ref="siteSubHeader"
class="sub-header text-black mt-4" class="sub-header text-black"
v-html="coverageStatementSubHeader"></h5> v-html="coverageStatementSubHeader"></h5>
<div <div
ref="explanatoryText" ref="explanatoryText"
class="body-text mt-2" class="body-text"
v-html="explanatoryText"></div> v-html="explanatoryText"></div>
<div <div
ref="secondaryText" ref="secondaryText"
class="mt-4 mb-1 fw-bold text-black" class="mt-4 mb-1 fw-bold text-black"
v-html="secondaryText"></div> v-html="secondaryText"></div>
<div class="itac-price-container" v-if="isITACQuoteVisible"> <div
v-if="isITACQuoteVisible"
class="itac-price-container">
<div class="itac-deductible-value-container"> <div class="itac-deductible-value-container">
<div class="itac-deductible-value-text">Your deductible:</div> <div class="itac-deductible-value-text">
Your deductible:
</div>
<div class="itac-deductible-value"> <div class="itac-deductible-value">
{{ formatAmountInDollars(deductibleValue) }} {{ formatAmountInDollars(deductibleValue) }}
</div> </div>
</div> </div>
<div class="separator"></div> <div class="separator"></div>
<div class="itac-cost-container"> <div class="itac-cost-container">
<div class="itac-cost-text">Safelite price*:</div> <div class="itac-cost-text">
Safelite price*:
</div>
<div class="cost"> <div class="cost">
{{ formatAmountInDollars(totalServicePrice) }} {{ formatAmountInDollars(totalServicePrice) }}
</div> </div>
@ -57,30 +63,31 @@
class="body-text" class="body-text"
v-html="nextStepsBody"></div> v-html="nextStepsBody"></div>
<buttonMain <buttonMain
v-if="isNoCompQuoteVisible || isITACQuoteVisible"
ref="buttonMain" ref="buttonMain"
class="full-width-button mt-5" class="full-width-button mt-5"
variant="navigation" variant="navigation"
buttonText="Continue scheduling" buttonText="Continue scheduling"
@clickEvent="continueToSchedule" /> @clickEvent="continueToSchedule" />
<textLink <textLink
v-if="isNoCompQuoteVisible || isITACQuoteVisible"
class="underlined-text cancel-link mt-5" class="underlined-text cancel-link mt-5"
linkType="text" linkType="text"
text="No, I want to cancel" text="No, I want to cancel"
href="#" href="#"
@clickEvent="cancelClaim" /> @clickEvent="cancelClaim" />
<textBlock <textBlock
class="mt-5"
v-if="isDisclaimerVisible" v-if="isDisclaimerVisible"
class="mt-5"
:customText="disclaimerText" :customText="disclaimerText"
typeStyle="caption" /> typeStyle="caption" />
<siteFooter <siteFooter
v-if="isUnverifiedVisible || isDeductibleVisible"
:ref="SITE_FOOTER_REF_NAME" :ref="SITE_FOOTER_REF_NAME"
class="mt-5" class="mt-5"
isForwardButtonHidden="true"
cmsWidgetName="SiteFooterWidget" cmsWidgetName="SiteFooterWidget"
:isForwardActionDisabled="!meta.valid" :isForwardActionDisabled="!meta.valid"
@backClicked="navigateBackByVehicleQuestions"/> @backClicked="navigateBackByVehicleQuestions" />
</div> </div>
</div> </div>
</div> </div>
@ -104,7 +111,6 @@
import { Form } from 'vee-validate'; import { Form } from 'vee-validate';
import siteFooter from '@/iss-components/site-footer/site-footer.vue'; import siteFooter from '@/iss-components/site-footer/site-footer.vue';
import siteHeader from '@/iss-components/site-header/site-header.vue'; import siteHeader from '@/iss-components/site-header/site-header.vue';
import alert from '@/ux-components/alert/alert.vue';
import cancelClaimModal from '@/layouts/coverage-statement/cancel-claim-modal/cancel-claim-modal.vue'; import cancelClaimModal from '@/layouts/coverage-statement/cancel-claim-modal/cancel-claim-modal.vue';
import contentGroupModal from '@/iss-components/content-group-modal/content-group-modal.vue'; import contentGroupModal from '@/iss-components/content-group-modal/content-group-modal.vue';
import textBlock from '@/digital-components/text-block/text-block.vue'; import textBlock from '@/digital-components/text-block/text-block.vue';
@ -145,7 +151,6 @@ export default {
siteHeader, siteHeader,
// eslint-disable-next-line vue/no-reserved-component-names // eslint-disable-next-line vue/no-reserved-component-names
Form, Form,
alert,
cancelClaimModal, cancelClaimModal,
contentGroupModal, contentGroupModal,
buttonMain, buttonMain,
@ -354,6 +359,12 @@ export default {
}, },
isRepair() { isRepair() {
return this.mainStore.order.damage.isRepair; return this.mainStore.order.damage.isRepair;
},
isUnverifiedADAS() {
return this.isUnverifiedVisible && this.isADAS;
},
isUnverifiedNonADAS() {
return this.isUnverifiedVisible && !this.isADAS;
} }
}, },
watch: { watch: {
@ -487,6 +498,10 @@ export default {
return !isRepair && this.isDeductibleVisible && this.deductibleValue <= 0; return !isRepair && this.isDeductibleVisible && this.deductibleValue <= 0;
case 'verifiedReplaceDeductibleOverZero': case 'verifiedReplaceDeductibleOverZero':
return !isRepair && this.isDeductibleVisible && this.deductibleValue > 0; return !isRepair && this.isDeductibleVisible && this.deductibleValue > 0;
case 'unverifiedADAS':
return this.isUnverifiedADAS;
case 'unverifiedNonADAS':
return this.isUnverifiedNonADAS;
default: default:
return null; return null;
} }
@ -534,6 +549,8 @@ export default {
} }
.sub-header { .sub-header {
line-height: 2rem; line-height: 2rem;
margin-top: 20px;
margin-bottom: 20px;
} }
.full-width-button { .full-width-button {
width: 100%; width: 100%;
@ -569,6 +586,11 @@ export default {
} }
:deep(.body-text) { :deep(.body-text) {
line-height: 1.5rem; line-height: 1.5rem;
color: $darker-gray;
strong {
color: $black;
font-weight: 500;
}
} }
:deep(.question-text) { :deep(.question-text) {
margin-top: 1.5rem; margin-top: 1.5rem;
@ -597,7 +619,7 @@ export default {
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
color: $black; color: $black;
padding: 10px; padding: 10px;
.itac-deductible-value-container { .itac-deductible-value-container {
display: flex; display: flex;
flex-direction: column; flex-direction: column;