mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-06 11:27:07 +00:00
Added intercom
This commit is contained in:
@@ -7,14 +7,14 @@ const path = require('path');
|
|||||||
|
|
||||||
const ContentSecurityPolicy = `
|
const ContentSecurityPolicy = `
|
||||||
default-src 'self';
|
default-src 'self';
|
||||||
script-src 'self' https://app.posthog.com https://js.stripe.com https://api.stripe.com 'unsafe-inline' 'unsafe-eval';
|
script-src 'self' https://app.posthog.com https://js.stripe.com https://api.stripe.com https://widget.intercom.io https://js.intercomcdn.com 'unsafe-inline' 'unsafe-eval';
|
||||||
style-src 'self' https://rsms.me 'unsafe-inline';
|
style-src 'self' https://rsms.me 'unsafe-inline';
|
||||||
child-src https://api.stripe.com;
|
child-src https://api.stripe.com;
|
||||||
frame-src https://js.stripe.com/ https://api.stripe.com;
|
frame-src https://js.stripe.com/ https://api.stripe.com;
|
||||||
connect-src 'self' https://api.heroku.com/ https://id.heroku.com/oauth/authorize https://id.heroku.com/oauth/token https://checkout.stripe.com https://app.posthog.com https://api.stripe.com;
|
connect-src 'self' wss://nexus-websocket-a.intercom.io https://api-iam.intercom.io https://api.heroku.com/ https://id.heroku.com/oauth/authorize https://id.heroku.com/oauth/token https://checkout.stripe.com https://app.posthog.com https://api.stripe.com;
|
||||||
img-src 'self' https://*.stripe.com https://i.ytimg.com/ data:;
|
img-src 'self' https://static.intercomassets.com https://js.intercomcdn.com https://downloads.intercomcdn.com https://*.stripe.com https://i.ytimg.com/ data:;
|
||||||
media-src;
|
media-src https://js.intercomcdn.com;
|
||||||
font-src 'self' https://maxcdn.bootstrapcdn.com https://rsms.me https://fonts.gstatic.com;
|
font-src 'self' https://fonts.intercomcdn.com/ https://maxcdn.bootstrapcdn.com https://rsms.me https://fonts.gstatic.com;
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// You can choose which headers to add to the list
|
// You can choose which headers to add to the list
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
|
/* eslint-disable vars-on-top */
|
||||||
|
/* eslint-disable no-var */
|
||||||
|
/* eslint-disable func-names */
|
||||||
/* eslint-disable react/jsx-props-no-spreading */
|
/* eslint-disable react/jsx-props-no-spreading */
|
||||||
|
// @ts-nocheck
|
||||||
|
|
||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
import { AppProps } from 'next/app';
|
import { AppProps } from 'next/app';
|
||||||
import { useRouter } from 'next/router';
|
import { useRouter } from 'next/router';
|
||||||
@@ -33,11 +38,51 @@ type NextAppProp = AppProps & {
|
|||||||
const App = ({ Component, pageProps, ...appProps }: NextAppProp): JSX.Element => {
|
const App = ({ Component, pageProps, ...appProps }: NextAppProp): JSX.Element => {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
// Intercom code snippet
|
||||||
|
(function() {
|
||||||
|
var w=window;var ic=w.Intercom;
|
||||||
|
if(typeof ic==="function") {
|
||||||
|
ic('reattach_activator');
|
||||||
|
ic('update',w.intercomSettings);
|
||||||
|
} else {
|
||||||
|
var d=document;
|
||||||
|
var i=function() {
|
||||||
|
// eslint-disable-next-line prefer-rest-params
|
||||||
|
i.c(arguments);
|
||||||
|
};
|
||||||
|
i.q=[];
|
||||||
|
i.c=function(args) {
|
||||||
|
i.q.push(args);
|
||||||
|
};
|
||||||
|
w.Intercom=i;
|
||||||
|
var l=function() {
|
||||||
|
var s=d.createElement('script');
|
||||||
|
s.type='text/javascript';
|
||||||
|
s.async=true;
|
||||||
|
s.src='https://widget.intercom.io/widget/hsg644ru';
|
||||||
|
var x=d.getElementsByTagName('script')[0];
|
||||||
|
x.parentNode.insertBefore(s,x);};
|
||||||
|
if(w.attachEvent) {
|
||||||
|
w.attachEvent('onload',l);
|
||||||
|
} else {
|
||||||
|
w.addEventListener('load',l,false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)();
|
||||||
|
|
||||||
|
window.Intercom('boot', {
|
||||||
|
app_id: 'hsg644ru'
|
||||||
|
});
|
||||||
|
}, []);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// Init for auto capturing
|
// Init for auto capturing
|
||||||
const telemetry = new Telemetry().getInstance();
|
const telemetry = new Telemetry().getInstance();
|
||||||
|
|
||||||
const handleRouteChange = () => {
|
const handleRouteChange = () => {
|
||||||
|
(window).Intercom('update');
|
||||||
if (typeof window !== 'undefined') {
|
if (typeof window !== 'undefined') {
|
||||||
telemetry.capture('$pageview');
|
telemetry.capture('$pageview');
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user