diff --git a/src/layouts/tpa-confirmation/tpa-confirmation.vue b/src/layouts/tpa-confirmation/tpa-confirmation.vue index 9eabddb5..689a1e5f 100644 --- a/src/layouts/tpa-confirmation/tpa-confirmation.vue +++ b/src/layouts/tpa-confirmation/tpa-confirmation.vue @@ -12,17 +12,47 @@ class="mb-4" cmsWidgetName="VehicleBannerWidget" :displayGenericVehicleImage="false" /> - +
+ + +
+
+ +
+ id="tpaConfirmationBodyOne" + ref="tpaConfirmationBodyOne" + :customText="tpaConfirmationBodyOne" /> + +
+ + + {{ getRouterLinkDisplayTextFromCopy(copy) }} + + + + +
@@ -41,13 +71,16 @@ // Components import siteHeader from '@/iss-components/site-header/site-header.vue'; import vehicleBanner from '@/iss-components/vehicle-banner/vehicle-banner.vue'; -import siteSubHeader from '@/iss-components/site-sub-header/site-sub-header.vue'; import siteFooter from '@/iss-components/site-footer/site-footer.vue'; import textBlock from '@/digital-components/text-block/text-block.vue'; import deductibleBox from '@/layouts/tpa-submit/deductible-box/deductible-box.vue'; // Supporting files -import { fetchCmsContentForPage } from '@/helpers/cms-content-helper'; +import { doesCopyContainRouterLink, + fetchCmsContentForPage, + splitCopyOnCMSPlaceHolder, + getRouterLinkRouteFromCopy, + getRouterLinkDisplayTextFromCopy } from '@/helpers/cms-content-helper'; import settleAllPromises from '@/helpers/layout-helper'; import { Form } from 'vee-validate'; import BaseFormMixin from '@/mixins/base-form-mixin.js'; @@ -63,7 +96,7 @@ export default { siteHeader, siteFooter, vehicleBanner, - siteSubHeader, + // siteSubHeader, textBlock, deductibleBox, // eslint-disable-next-line vue/no-reserved-component-names @@ -90,11 +123,12 @@ export default { return { mainStore }; }, data() { - const { companyName } = useMainStore().order.serviceLocation.provider; + const { companyName } = toTitleCase(useMainStore().order.serviceLocation.provider.companyName ?? ''); return { widget: { tpaConfirmation: 'TPAConfirmationContent', - orderDetails: 'OrderDetailsContent' + orderDetails: 'OrderDetailsContent', + contactCarrier: 'ContactCarrierContent' }, companyName, customValueMap: { @@ -103,9 +137,16 @@ export default { }; }, computed: { - tpaConfirmationBody() { + tpaConfirmationBodyOne() { return this.getCmsContent(this.widget.tpaConfirmation, widgetFields.CONTENT_GROUP_WIDGET.BODY_TEXT) - .replaceAll('{custom:phoneNumber}', this.preferredShopPhoneNumber); + .replaceAll('{custom:phoneNumber}', this.preferredShopPhoneNumber) + .replaceAll('{custom:glassShop}', this.preferredShopName); + }, + tpaConfirmationBodyTwo() { + return this.getCmsContent(this.widget.tpaConfirmation, widgetFields.CONTENT_GROUP_WIDGET.BODY_TEXT_2); + }, + preferredShopName() { + return toTitleCase(useMainStore().order.serviceLocation.provider.companyName); }, preferredShopPhoneNumber() { return this.toDisplayPhoneNumber(useMainStore().order.serviceLocation.provider.phoneNumber); @@ -121,6 +162,22 @@ export default { }, deductibleBoxValue() { return this.isVerified ? this.formatAmountInDollars(this.currentDeductible) : VERIFYING_COVERAGE; + }, + tpaConfirmationHeaderText() { + return this.getCmsContent('TPAConfirmationContent', 'HeaderText'); + }, + tpaConfirmationSubheaderText() { + return this.getCmsContent('TPAConfirmationContent', 'SubheaderText') + .replaceAll('{custom:glassShop}', this.preferredShopName); + }, + tpaConfirmationImage() { + return this.getCmsContent('TPAConfirmationContent', 'Image'); + }, + contactCarrierText() { + return this.getCmsContent(this.widget.contactCarrier, widgetFields.TEXT_BLOCK_WIDGET.TEXT); + }, + splitContactCarrierText() { + return this.splitCopyOnCMSPlaceHolder(this.contactCarrierText); } }, methods: @@ -150,10 +207,65 @@ export default { }, toDisplayPhoneNumber, toTitleCase, - formatAmountInDollars + formatAmountInDollars, + splitCopyOnCMSPlaceHolder, + doesCopyContainRouterLink, + getRouterLinkRouteFromCopy, + getRouterLinkDisplayTextFromCopy } };