From 2563a6ada21262feaf7902831b730fbaf2ec228c Mon Sep 17 00:00:00 2001 From: chdeskur Date: Fri, 7 Feb 2025 14:54:56 -0500 Subject: [PATCH] hook up search disabled config --- packages/fern-docs/edge-config/src/getEdgeFlags.ts | 7 +++++++ packages/fern-docs/ui/src/services/useSearchService.ts | 4 +++- packages/fern-docs/utils/src/flags.ts | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/fern-docs/edge-config/src/getEdgeFlags.ts b/packages/fern-docs/edge-config/src/getEdgeFlags.ts index b8f2089b1a..bc31265030 100644 --- a/packages/fern-docs/edge-config/src/getEdgeFlags.ts +++ b/packages/fern-docs/edge-config/src/getEdgeFlags.ts @@ -17,6 +17,7 @@ const EDGE_FLAGS = [ "toc-default-enabled" as const, "snippet-template-enabled" as const, "http-snippets-enabled" as const, + "search-disabled" as const, "inline-feedback-enabled" as const, "dark-code-enabled" as const, "disable-proxy" as const, @@ -75,6 +76,10 @@ export async function getEdgeFlags(domain: string): Promise { domain, config["snippet-template-enabled"] ); + const isSearchDisabled = checkDomainMatchesCustomers( + domain, + config["search-disabled"] + ); const isHttpSnippetsEnabled = checkDomainMatchesCustomers( domain, config["http-snippets-enabled"] @@ -181,6 +186,7 @@ export async function getEdgeFlags(domain: string): Promise { isTocDefaultEnabled, isSnippetTemplatesEnabled: isSnippetTemplatesEnabled || isDevelopment(domain), + isSearchDisabled, isHttpSnippetsEnabled, isInlineFeedbackEnabled, isDarkCodeEnabled, @@ -216,6 +222,7 @@ export async function getEdgeFlags(domain: string): Promise { isSeoDisabled: !isCustomDomain(domain), isTocDefaultEnabled: false, isSnippetTemplatesEnabled: isDevelopment(domain), + isSearchDisabled: false, isHttpSnippetsEnabled: false, isInlineFeedbackEnabled: isFern(domain), isDarkCodeEnabled: false, diff --git a/packages/fern-docs/ui/src/services/useSearchService.ts b/packages/fern-docs/ui/src/services/useSearchService.ts index 9d204c39ea..748b7addda 100644 --- a/packages/fern-docs/ui/src/services/useSearchService.ts +++ b/packages/fern-docs/ui/src/services/useSearchService.ts @@ -1,5 +1,6 @@ /* eslint-disable react-hooks/rules-of-hooks */ import type { SearchConfig } from "@fern-docs/search-utils"; +import { useEdgeFlags } from "../atoms"; import { useIsLocalPreview } from "../contexts/local-preview"; import { useApiRouteSWR } from "../hooks/useApiRouteSWR"; @@ -24,8 +25,9 @@ export type SearchService = SearchService.Available | SearchService.Unavailable; export function useSearchConfig(): SearchConfig { const isLocalPreview = useIsLocalPreview(); + const { isSearchDisabled } = useEdgeFlags(); - if (isLocalPreview) { + if (isLocalPreview || isSearchDisabled) { return { isAvailable: false }; } diff --git a/packages/fern-docs/utils/src/flags.ts b/packages/fern-docs/utils/src/flags.ts index fa973fa10a..197a87f6a6 100644 --- a/packages/fern-docs/utils/src/flags.ts +++ b/packages/fern-docs/utils/src/flags.ts @@ -5,6 +5,7 @@ export interface EdgeFlags { isSeoDisabled: boolean; isTocDefaultEnabled: boolean; isSnippetTemplatesEnabled: boolean; + isSearchDisabled: boolean; isHttpSnippetsEnabled: boolean; isInlineFeedbackEnabled: boolean; isDarkCodeEnabled: boolean; @@ -40,6 +41,7 @@ export const DEFAULT_EDGE_FLAGS: EdgeFlags = { isSeoDisabled: false, isTocDefaultEnabled: false, isSnippetTemplatesEnabled: false, + isSearchDisabled: false, isHttpSnippetsEnabled: false, isInlineFeedbackEnabled: false, isDarkCodeEnabled: false,