Store new data in sierra config
This commit is contained in:
parent
dc6af2b3ba
commit
ab95e075b1
1 changed files with 41 additions and 1 deletions
|
|
@ -4,6 +4,10 @@
|
|||
|
||||
<script>
|
||||
import analyticsMixin from "@/mixins/analytics-mixin";
|
||||
import store from "@/store";
|
||||
import { routeData } from "@/router/constants/routes";
|
||||
import { deepClone } from "@/helpers/object-helper";
|
||||
|
||||
export default {
|
||||
name: "sierraWebchat",
|
||||
mixins: [analyticsMixin],
|
||||
|
|
@ -24,7 +28,10 @@ export default {
|
|||
},
|
||||
createSierraConfig() {
|
||||
return {
|
||||
variables: { application: "funnel" },
|
||||
variables: {
|
||||
application: "funnel",
|
||||
...this.getSierraContext(),
|
||||
},
|
||||
display: "corner",
|
||||
onLoad: () => this.openSierraChatModal(),
|
||||
onOpen: () => {},
|
||||
|
|
@ -35,6 +42,39 @@ export default {
|
|||
),
|
||||
};
|
||||
},
|
||||
getSierraContext() {
|
||||
const glassDamage = store.getters?.order?.damage?.glassToReplace;
|
||||
const glassType =
|
||||
glassDamage && glassDamage.length > 0
|
||||
? glassDamage.length > 1
|
||||
? "Multiglass"
|
||||
: glassDamage[0].glassType // todo: clarify?
|
||||
: "";
|
||||
|
||||
const damageType = store.getters.order?.damage?.isRepair ? "repair" : "replace";
|
||||
|
||||
const paymentType = store.getters.oreder?.payment?.isInsurance ? "insurance" : "cash";
|
||||
|
||||
const glassParts = store.getters.order?.lineItems?.glassParts;
|
||||
const partId = glassParts && glassParts.length > 0 ? glassParts[0].partId : "";
|
||||
|
||||
const packageData = deepClone(store.getters?.pageData(routeData.QUOTE.name));
|
||||
|
||||
return {
|
||||
current_page: this.pageName,
|
||||
vehicle_year: store.getters.order?.vehicle?.year ?? "",
|
||||
vehicle_make: store.getters.order?.vehicle?.make ?? "",
|
||||
vehicle_model: store.getters.order?.vehicle?.model ?? "",
|
||||
vehicle_style: store.getters.order?.vehicle?.style ?? "",
|
||||
service_zip: store.getters.order?.serviceLocation?.serviceZip ?? "",
|
||||
glass_type: glassType ?? "",
|
||||
damage_type: damageType ?? "",
|
||||
payment_type: paymentType ?? "",
|
||||
quote: packageData ?? [],
|
||||
part_id: partId ?? "",
|
||||
recalibration: store.getters?.isRecalibrationOnOrder ?? "",
|
||||
};
|
||||
},
|
||||
launchSierraChat() {
|
||||
window.sierraConfig = this.createSierraConfig();
|
||||
// Preload CSS if not already present
|
||||
|
|
|
|||
Loading…
Reference in a new issue