Added Crisp scripts.

This commit is contained in:
Patrick Fic
2021-05-27 20:16:50 -07:00
parent 2536b0b986
commit 7d82fb8f04
2 changed files with 28 additions and 1 deletions

View File

@@ -3,11 +3,12 @@ import { ConfigProvider } from "antd";
import enLocale from "antd/es/locale/en_US";
import LogRocket from "logrocket";
import moment from "moment";
import React from "react";
import React, { useEffect } from "react";
import GlobalLoadingBar from "../components/global-loading-bar/global-loading-bar.component";
import client from "../utils/GraphQLClient";
import App from "./App";
import { useTranslation } from "react-i18next";
import JiraSupportComponent from "../components/jira-support-widget/jira-support-widget.component";
moment.locale("en-US");
if (process.env.NODE_ENV === "production") LogRocket.init("gvfvfw/bodyshopapp");
@@ -15,6 +16,23 @@ if (process.env.NODE_ENV === "production") LogRocket.init("gvfvfw/bodyshopapp");
export default function AppContainer() {
const { t } = useTranslation();
useEffect(() => {
// Include the Crisp code here, without the <script></script> tags
window.$crisp = [];
window.CRISP_WEBSITE_ID = "36724f62-2eb0-4b29-9cdd-9905fb99913e";
var d = document;
var s = d.createElement("script");
s.src = "https://client.crisp.chat/l.js";
s.async = 1;
d.getElementsByTagName("head")[0].appendChild(s);
return () => {
d.getElementsByTagName("head")[0].removeChild(s);
};
}, []);
return (
<ApolloProvider client={client}>
<ConfigProvider
@@ -30,6 +48,7 @@ export default function AppContainer() {
>
<GlobalLoadingBar />
<App />
<JiraSupportComponent />
</ConfigProvider>
</ApolloProvider>
);

View File

@@ -164,6 +164,12 @@ export function* onSignInSuccess() {
export function* signInSuccessSaga({ payload }) {
LogRocket.identify(payload.email);
try {
window.$crisp.push(["set", "user:email", [payload.email]]);
window.$crisp.push(["set", "user:nickname", [payload.displayName]]);
} catch (error) {
console.log("Error updating Crisp settings.", error);
}
// if (!payload.email.includes("@imex.")) yield put(setInstanceId(payload.uid));
analytics.setUserId(payload.email);
@@ -220,6 +226,8 @@ export function* SetAuthLevelFromShopDetails({ payload }) {
try {
const userEmail = yield select((state) => state.user.currentUser.email);
window.$crisp.push(["set", "user:company", [payload.shopname]]);
const authRecord = payload.associations.filter(
(a) => a.useremail === userEmail
);