From 8363e1bfa6710db7d4027e04b16eaa9e07133835 Mon Sep 17 00:00:00 2001 From: Robert Vitonsky Date: Tue, 25 Jun 2024 15:23:25 +0200 Subject: [PATCH 01/10] refactor(site): move analytics to root component --- .../Analytics/AnalyticsProvider.tsx | 34 +++++++++++++++++-- site/src/components/PageLayout/PageLayout.tsx | 28 ++------------- site/src/theme/Root.tsx | 17 ++++++++++ 3 files changed, 50 insertions(+), 29 deletions(-) create mode 100644 site/src/theme/Root.tsx diff --git a/site/src/components/Analytics/AnalyticsProvider.tsx b/site/src/components/Analytics/AnalyticsProvider.tsx index c31fcec6..9c3b4212 100644 --- a/site/src/components/Analytics/AnalyticsProvider.tsx +++ b/site/src/components/Analytics/AnalyticsProvider.tsx @@ -1,14 +1,23 @@ import React, { PropsWithChildren, useCallback, useEffect, useState } from 'react'; import Plausible from 'plausible-tracker'; import { PlausibleInitOptions } from 'plausible-tracker/build/main/lib/tracker'; +import Head from '@docusaurus/Head'; import { analyticsContext, IAnalyticsContext } from './useAnalyticsContext'; +export type AnalyticsProviderProps = PropsWithChildren<{ + plausible: PlausibleInitOptions; + googleAnalytics: { + tagId: string; + }; +}>; + export const AnalyticsProvider = ({ - options, + plausible: plausibleOptions, + googleAnalytics, children, -}: PropsWithChildren<{ options: PlausibleInitOptions }>) => { - const [plausible] = useState(() => Plausible(options)); +}: AnalyticsProviderProps) => { + const [plausible] = useState(() => Plausible(plausibleOptions)); const trackEvent: IAnalyticsContext['trackEvent'] = useCallback( (eventName, props) => { @@ -51,6 +60,25 @@ export const AnalyticsProvider = ({ return ( + + + - -