Commit df59efab authored by tom's avatar tom

debug flag

parent f06ce9f5
...@@ -9,6 +9,7 @@ export enum NAMES { ...@@ -9,6 +9,7 @@ export enum NAMES {
COLOR_MODE='chakra-ui-color-mode', COLOR_MODE='chakra-ui-color-mode',
INDEXING_ALERT='indexing_alert', INDEXING_ALERT='indexing_alert',
ADBLOCK_DETECTED='adblock_detected', ADBLOCK_DETECTED='adblock_detected',
MIXPANEL_DEBUG='_mixpanel_debug',
} }
export function get(name?: NAMES | undefined | null, serverCookie?: string) { export function get(name?: NAMES | undefined | null, serverCookie?: string) {
......
import _capitalize from 'lodash/capitalize'; import _capitalize from 'lodash/capitalize';
import type { Config } from 'mixpanel-browser'; import type { Config } from 'mixpanel-browser';
import mixpanel from 'mixpanel-browser'; import mixpanel from 'mixpanel-browser';
import { useRouter } from 'next/router';
import React from 'react'; import React from 'react';
import { deviceType } from 'react-device-detect'; import { deviceType } from 'react-device-detect';
import appConfig from 'configs/app/config'; import appConfig from 'configs/app/config';
import * as cookies from 'lib/cookies'; import * as cookies from 'lib/cookies';
import getQueryParamString from 'lib/router/getQueryParamString';
import getGoogleAnalyticsClientId from './getGoogleAnalyticsClientId'; import getGoogleAnalyticsClientId from './getGoogleAnalyticsClientId';
export default function useMixpanelInit() { export default function useMixpanelInit() {
const [ isInited, setIsInited ] = React.useState(false); const [ isInited, setIsInited ] = React.useState(false);
const router = useRouter();
const debugFlagQuery = React.useRef(getQueryParamString(router.query._mixpanel_debug));
React.useEffect(() => { React.useEffect(() => {
if (!appConfig.mixpanel.projectToken) { if (!appConfig.mixpanel.projectToken) {
return; return;
} }
const debugFlagCookie = cookies.get(cookies.NAMES.MIXPANEL_DEBUG);
const config: Partial<Config> = { const config: Partial<Config> = {
debug: appConfig.isDev, debug: Boolean(debugFlagQuery.current || debugFlagCookie),
}; };
const isAuth = Boolean(cookies.get(cookies.NAMES.API_TOKEN)); const isAuth = Boolean(cookies.get(cookies.NAMES.API_TOKEN));
const userId = getGoogleAnalyticsClientId(); const userId = getGoogleAnalyticsClientId();
...@@ -36,6 +42,10 @@ export default function useMixpanelInit() { ...@@ -36,6 +42,10 @@ export default function useMixpanelInit() {
}); });
setIsInited(true); setIsInited(true);
if (debugFlagQuery.current && !debugFlagCookie) {
cookies.set(cookies.NAMES.MIXPANEL_DEBUG, 'true');
}
}, []); }, []);
return isInited; return isInited;
......
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