Skip to content

Commit 9a38b85

Browse files
Add disableAnalytics setting to DocsSettingsConfig (#4426)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Colton Berry <[email protected]>
1 parent 3caf9aa commit 9a38b85

File tree

7 files changed

+18
-5
lines changed

7 files changed

+18
-5
lines changed

fern/apis/fdr/definition/docs/v1/commons/commons.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,7 @@ types:
234234
properties:
235235
searchText: optional<string>
236236
disableSearch: optional<boolean>
237+
disableAnalytics: optional<boolean>
237238
darkModeCode: optional<boolean>
238239
defaultSearchFilters: optional<boolean>
239240
httpSnippets: optional<HttpSnippetsConfig>

packages/commons/docs-loader/src/readonly-docs-loader.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -600,6 +600,7 @@ const getSettings = (cacheConfig: Required<CacheConfig>) =>
600600
darkModeCode: settings?.darkModeCode ?? false,
601601
defaultSearchFilters: settings?.defaultSearchFilters ?? false,
602602
disableSearch: settings?.disableSearch ?? false,
603+
disableAnalytics: settings?.disableAnalytics ?? false,
603604
hide404Page: settings?.hide404Page ?? false,
604605
httpSnippets: settings?.httpSnippets ?? true,
605606
searchText: settings?.searchText ?? "Search",

packages/commons/docs-utils/src/types/settings-config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export type HttpSnippetsConfig = boolean | HttpSnippetLanguage[];
2929
export interface FernSettingsConfig {
3030
searchText: string | undefined;
3131
disableSearch: boolean | undefined;
32+
disableAnalytics: boolean | undefined;
3233
darkModeCode: boolean | undefined;
3334
defaultSearchFilters: boolean | undefined;
3435
httpSnippets: HttpSnippetsConfig | undefined;

packages/fdr-sdk/src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/DocsSettingsConfig.ts

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/fern-docs/bundle/src/app/[host]/[domain]/layout.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ export default async function Layout({
9696
<RootNodeProvider sidebarRootNodesToChildToParentsMap={sidebarRootNodesToChildToParentsMap}>
9797
<Domain value={domain} />
9898
<SetBasePath value={basePath || "/"} />
99-
{!isSelfHosted() && (
99+
{!isSelfHosted() && !settings.disableAnalytics && (
100100
<>
101101
<Script
102102
data-endpoint={`${basePath ?? ""}/_vercel/insights`}
@@ -133,10 +133,12 @@ export default async function Layout({
133133
/>
134134
<FeatureFlagProvider featureFlagsConfig={{ launchDarkly }}>{children}</FeatureFlagProvider>
135135
<React.Suspense fallback={null}>
136-
{!isLocalEnvironment && !settings.disableSearch && <SearchV2 domain={domain} />}
136+
{!isLocalEnvironment && !settings.disableSearch && (
137+
<SearchV2 domain={domain} disableAnalytics={settings.disableAnalytics} />
138+
)}
137139
</React.Suspense>
138140
{jsConfig != null && <JavascriptProvider config={jsConfig} />}
139-
{VERCEL_ENV === "production" && (
141+
{VERCEL_ENV === "production" && !settings.disableAnalytics && (
140142
<CustomerAnalytics
141143
config={mergeCustomerAnalytics(deprecated_customerAnalytics, config.analyticsConfig)}
142144
/>

packages/fern-docs/bundle/src/components/search.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,13 @@ export function useQueryId() {
6666
};
6767
}
6868

69-
export const SearchV2 = React.memo(function SearchV2({ domain }: { domain: string }) {
69+
export const SearchV2 = React.memo(function SearchV2({
70+
domain,
71+
disableAnalytics
72+
}: {
73+
domain: string;
74+
disableAnalytics?: boolean;
75+
}) {
7076
const currentVersion = useCurrentVersionId();
7177

7278
const isDarkCodeEnabled = useIsDarkCode();
@@ -183,7 +189,7 @@ export const SearchV2 = React.memo(function SearchV2({ domain }: { domain: strin
183189
fetchFacets={facetFetcher}
184190
authenticatedUserToken={user?.email}
185191
initialFilters={shouldApplyVersionFilter ? { "version.title": currentVersion } : undefined}
186-
analyticsTags={["search-v2-dialog"]}
192+
analyticsTags={disableAnalytics ? [] : ["search-v2-dialog"]}
187193
>
188194
<DesktopSearchDialog open={open} onOpenChange={setOpen}>
189195
{isAskAiEnabled ? (

servers/fdr/src/api/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/DocsSettingsConfig.d.ts

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)