Skip to content

Commit

Permalink
Merge pull request #3070 from ever-co/jitsu-memo-options
Browse files Browse the repository at this point in the history
Optimize Jitsu config creation
  • Loading branch information
evereq authored Sep 26, 2024
2 parents ada6c08 + 9e5ee47 commit d93a640
Showing 1 changed file with 27 additions and 26 deletions.
53 changes: 27 additions & 26 deletions apps/web/lib/settings/JitsuRoot.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import type { JitsuOptions } from '@jitsu/jitsu-react/dist/useJitsu';
import { JitsuProvider } from '@jitsu/jitsu-react';
import { setNextPublicEnv } from '@app/env';
import React from 'react';
import React, { useMemo } from 'react';
import { JitsuAnalytics } from 'lib/components/services/jitsu-analytics';

type MyAppProps = {
Expand All @@ -17,33 +17,34 @@ type MyAppProps = {

export function JitsuRoot({ pageProps, children }: MyAppProps) {
pageProps?.envs && setNextPublicEnv(pageProps?.envs);
const jitsuConf = pageProps?.jitsuConf || {
host: process.env.NEXT_PUBLIC_JITSU_BROWSER_URL,
writeKey: process.env.NEXT_PUBLIC_JITSU_BROWSER_WRITE_KEY,
debug: false,
cookieDomain: process.env.NEXT_PUBLIC_JITSU_COOKIE_DOMAIN,
echoEvents: false
};
const isJitsuEnvs: boolean = !!jitsuConf.host && !!jitsuConf.writeKey;
console.log(`Jitsu Enabled: ${isJitsuEnvs}`);
console.log(`Jitsu Configuration: ${JSON.stringify(jitsuConf)}`);

const options = useMemo(() => {
const jitsuConf = pageProps?.jitsuConf || {
host: process.env.NEXT_PUBLIC_JITSU_BROWSER_URL,
writeKey: process.env.NEXT_PUBLIC_JITSU_BROWSER_WRITE_KEY,
debug: false,
cookieDomain: process.env.NEXT_PUBLIC_JITSU_COOKIE_DOMAIN,
echoEvents: false
};

const isJitsuEnvs: boolean = !!jitsuConf.host && !!jitsuConf.writeKey;

console.log(`Jitsu Enabled: ${isJitsuEnvs}`);
console.log(`Jitsu Configuration: ${JSON.stringify(jitsuConf)}`);

return isJitsuEnvs
? {
host: jitsuConf.host ?? '',
writeKey: jitsuConf.writeKey ?? undefined,
debug: jitsuConf.debug,
cookieDomain: jitsuConf.cookieDomain ?? undefined,
echoEvents: jitsuConf.echoEvents
}
: { disabled: true };
}, [pageProps?.jitsuConf]);

return (
<JitsuProvider
options={
isJitsuEnvs
? {
host: jitsuConf.host ?? '',
writeKey: jitsuConf.writeKey ?? undefined,
debug: jitsuConf.debug,
cookieDomain: jitsuConf.cookieDomain ?? undefined,
echoEvents: jitsuConf.echoEvents
}
: {
disabled: true
}
}
>
<JitsuProvider options={options as any}>
<JitsuAnalytics user={pageProps?.user} />
{children}
</JitsuProvider>
Expand Down

0 comments on commit d93a640

Please sign in to comment.