Commit f06ce9f5 authored by tom's avatar tom

static data for all events

parent 58bd1689
......@@ -12,5 +12,8 @@ declare global {
providers?: Array<ExternalProvider>;
};
coinzilla_display: Array<CPreferences>;
ga?: {
getAll: () => Array<{ get: (prop: string) => string }>;
};
}
}
export default function getGoogleAnalyticsClientId() {
return window.ga?.getAll()[0].get('clientId');
}
import _capitalize from 'lodash/capitalize';
import type { Config } from 'mixpanel-browser';
import mixpanel from 'mixpanel-browser';
import React from 'react';
import { deviceType } from 'react-device-detect';
import appConfig from 'configs/app/config';
import * as cookies from 'lib/cookies';
import getGoogleAnalyticsClientId from './getGoogleAnalyticsClientId';
export default function useMixpanelInit() {
const [ isInited, setIsInited ] = React.useState(false);
React.useEffect(() => {
if (appConfig.mixpanel.projectToken) {
const config: Partial<Config> = {
debug: appConfig.isDev,
test: appConfig.isDev,
};
mixpanel.init(appConfig.mixpanel.projectToken, config);
setIsInited(true);
if (!appConfig.mixpanel.projectToken) {
return;
}
const config: Partial<Config> = {
debug: appConfig.isDev,
};
const isAuth = Boolean(cookies.get(cookies.NAMES.API_TOKEN));
const userId = getGoogleAnalyticsClientId();
mixpanel.init(appConfig.mixpanel.projectToken, config);
mixpanel.register({
'Chain id': appConfig.network.id,
Environment: appConfig.isDev ? 'Dev' : 'Prod',
Authorized: isAuth,
'Viewport width': window.innerWidth,
'Viewport height': window.innerHeight,
Language: window.navigator.language,
'User id': userId,
'Device type': _capitalize(deviceType),
});
setIsInited(true);
}, []);
return isInited;
......
......@@ -11513,6 +11513,13 @@ react-debounce-input@=3.3.0:
lodash.debounce "^4"
prop-types "^15.8.1"
react-device-detect@^2.2.3:
version "2.2.3"
resolved "https://registry.yarnpkg.com/react-device-detect/-/react-device-detect-2.2.3.tgz#97a7ae767cdd004e7c3578260f48cf70c036e7ca"
integrity sha512-buYY3qrCnQVlIFHrC5UcUoAj7iANs/+srdkwsnNjI7anr3Tt7UY6MqNxtMLlr0tMBied0O49UZVK8XKs3ZIiPw==
dependencies:
ua-parser-js "^1.0.33"
react-dom@18.2.0:
version "18.2.0"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
......@@ -13108,6 +13115,11 @@ typescript@4.9.5:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
ua-parser-js@^1.0.33:
version "1.0.35"
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.35.tgz#c4ef44343bc3db0a3cbefdf21822f1b1fc1ab011"
integrity sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==
uc.micro@^1.0.1, uc.micro@^1.0.5:
version "1.0.6"
resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment