diff --git a/web/app/components/base/amplitude/AmplitudeProvider.tsx b/web/app/components/base/amplitude/AmplitudeProvider.tsx index c242326c30..424475aba7 100644 --- a/web/app/components/base/amplitude/AmplitudeProvider.tsx +++ b/web/app/components/base/amplitude/AmplitudeProvider.tsx @@ -4,21 +4,18 @@ import type { FC } from 'react' import React, { useEffect } from 'react' import * as amplitude from '@amplitude/analytics-browser' import { sessionReplayPlugin } from '@amplitude/plugin-session-replay-browser' -import { IS_CLOUD_EDITION } from '@/config' +import { AMPLITUDE_API_KEY, IS_CLOUD_EDITION } from '@/config' export type IAmplitudeProps = { - apiKey?: string sessionReplaySampleRate?: number } // Check if Amplitude should be enabled export const isAmplitudeEnabled = () => { - const apiKey = process.env.NEXT_PUBLIC_AMPLITUDE_API_KEY - return IS_CLOUD_EDITION && !!apiKey + return IS_CLOUD_EDITION && !!AMPLITUDE_API_KEY } const AmplitudeProvider: FC = ({ - apiKey = process.env.NEXT_PUBLIC_AMPLITUDE_API_KEY ?? '', sessionReplaySampleRate = 1, }) => { useEffect(() => { @@ -27,7 +24,7 @@ const AmplitudeProvider: FC = ({ return // Initialize Amplitude - amplitude.init(apiKey, { + amplitude.init(AMPLITUDE_API_KEY, { defaultTracking: { sessions: true, pageViews: true, diff --git a/web/app/layout.tsx b/web/app/layout.tsx index 878f335b92..5830bc2f1b 100644 --- a/web/app/layout.tsx +++ b/web/app/layout.tsx @@ -42,6 +42,7 @@ const LocaleLayout = async ({ [DatasetAttr.DATA_MARKETPLACE_API_PREFIX]: process.env.NEXT_PUBLIC_MARKETPLACE_API_PREFIX, [DatasetAttr.DATA_MARKETPLACE_URL_PREFIX]: process.env.NEXT_PUBLIC_MARKETPLACE_URL_PREFIX, [DatasetAttr.DATA_PUBLIC_EDITION]: process.env.NEXT_PUBLIC_EDITION, + [DatasetAttr.DATA_PUBLIC_AMPLITUDE_API_KEY]: process.env.NEXT_PUBLIC_AMPLITUDE_API_KEY, [DatasetAttr.DATA_PUBLIC_COOKIE_DOMAIN]: process.env.NEXT_PUBLIC_COOKIE_DOMAIN, [DatasetAttr.DATA_PUBLIC_SUPPORT_MAIL_LOGIN]: process.env.NEXT_PUBLIC_SUPPORT_MAIL_LOGIN, [DatasetAttr.DATA_PUBLIC_SENTRY_DSN]: process.env.NEXT_PUBLIC_SENTRY_DSN, diff --git a/web/config/index.ts b/web/config/index.ts index a5b37fd9c9..508a94f3f0 100644 --- a/web/config/index.ts +++ b/web/config/index.ts @@ -77,6 +77,12 @@ const EDITION = getStringConfig( export const IS_CE_EDITION = EDITION === 'SELF_HOSTED' export const IS_CLOUD_EDITION = EDITION === 'CLOUD' +export const AMPLITUDE_API_KEY = getStringConfig( + process.env.NEXT_PUBLIC_AMPLITUDE_API_KEY, + DatasetAttr.DATA_PUBLIC_AMPLITUDE_API_KEY, + '', +) + export const IS_DEV = process.env.NODE_ENV === 'development' export const IS_PROD = process.env.NODE_ENV === 'production' diff --git a/web/types/feature.ts b/web/types/feature.ts index 308c2e9bac..6c3bb29201 100644 --- a/web/types/feature.ts +++ b/web/types/feature.ts @@ -106,6 +106,7 @@ export enum DatasetAttr { DATA_MARKETPLACE_API_PREFIX = 'data-marketplace-api-prefix', DATA_MARKETPLACE_URL_PREFIX = 'data-marketplace-url-prefix', DATA_PUBLIC_EDITION = 'data-public-edition', + DATA_PUBLIC_AMPLITUDE_API_KEY = 'data-public-amplitude-api-key', DATA_PUBLIC_COOKIE_DOMAIN = 'data-public-cookie-domain', DATA_PUBLIC_SUPPORT_MAIL_LOGIN = 'data-public-support-mail-login', DATA_PUBLIC_SENTRY_DSN = 'data-public-sentry-dsn',