CSR-460 Change copy and image from hard coded to CMS driven.
This commit is contained in:
parent
ed38cb125d
commit
a48e2c1d01
1 changed files with 45 additions and 8 deletions
|
|
@ -1,11 +1,15 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="vin-information">
|
<div class="vin-information">
|
||||||
<div class="vin-toggle d-inline-flex" :class="[isActive ? 'active' : '']" @click="toggleClass()">
|
<div class="vin-toggle d-inline-flex mt-2" :class="[isActive ? 'active' : '']" @click="toggleClass()">
|
||||||
<textLink :text="HeadlineText" linkType="text" href="#!" />
|
<textLink
|
||||||
|
linkType="text"
|
||||||
|
href="#!"
|
||||||
|
:text="WhereCanIFindMyVINToggle"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="vin-info">
|
<div class="vin-info">
|
||||||
<div class="mt-2" v-html="BodyText"></div>
|
<div class="mt-2" v-html="WhereCanIFindMyVINBodyCopy"></div>
|
||||||
<img :src="OptionalImage" alt="" />
|
<img :src="WhereCanIFindMyVINImage" alt="" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -13,23 +17,53 @@
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import textLink from "@/ux-components/text-link/text-link";
|
import textLink from "@/ux-components/text-link/text-link";
|
||||||
|
//Supporting files
|
||||||
|
import { fetchCmsContentForPage } from "@/helpers/cms-content-helper";
|
||||||
|
import { settleAllPromises } from "@/helpers/layout-helper";
|
||||||
export default {
|
export default {
|
||||||
name: "vinInformation",
|
name: "vinInformation",
|
||||||
|
async beforeRouteEnter(to, from, next) {
|
||||||
|
// Call APIs
|
||||||
|
const cmsContentPromise = fetchCmsContentForPage(to.query.fmgPage);
|
||||||
|
|
||||||
|
// Settle promises and get results
|
||||||
|
const promiseResultMap = [
|
||||||
|
{
|
||||||
|
resultKey: "cmsContent",
|
||||||
|
promise: cmsContentPromise,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const resultMap = await settleAllPromises(promiseResultMap);
|
||||||
|
|
||||||
|
// Call the "next" function to complete the transition to this page.
|
||||||
|
next((vm) => {
|
||||||
|
vm.setCmsContent(resultMap.cmsContent);
|
||||||
|
});
|
||||||
|
},
|
||||||
components: {
|
components: {
|
||||||
textLink,
|
textLink,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
isActive: false,
|
isActive: false,
|
||||||
HeadlineText: "Where can I find my VIN?",
|
|
||||||
BodyText: "<p class='mb-2'>You can find your VIN in a few places:</p> <ol> <li>Driver side windshield</li> <li>Driver side doorjamb</li> <li>Vehicle registration card</li> <li>Auto insurance card or app</li> </ol>",
|
|
||||||
OptionalImage: "https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/vin_location.svg?sfvrsn=63a9a2cf_3",
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
toggleClass: function(event){
|
toggleClass: function(event){
|
||||||
this.isActive = !this.isActive;
|
this.isActive = !this.isActive;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
WhereCanIFindMyVINToggle(){
|
||||||
|
return this.getCmsContent("WhereCanIFindMyVINToggle", "HeaderText");
|
||||||
|
},
|
||||||
|
WhereCanIFindMyVINBodyCopy(){
|
||||||
|
return this.getCmsContent("WhereCanIFindMyVINToggle", "BodyText");
|
||||||
|
},
|
||||||
|
WhereCanIFindMyVINImage(){
|
||||||
|
return this.getCmsContent("WhereCanIFindMyVINToggle", "Image");
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -72,8 +106,11 @@ export default {
|
||||||
transition: all 250ms ease-out;
|
transition: all 250ms ease-out;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
|
p {
|
||||||
|
margin-bottom: .5rem;
|
||||||
|
}
|
||||||
img {
|
img {
|
||||||
max-width: 420px;
|
max-width: 100%;
|
||||||
width: 117%;
|
width: 117%;
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue