From d404e11e51f248ab14bcf8f1380a8b5da50b205d Mon Sep 17 00:00:00 2001 From: Nick Coughlin Date: Wed, 29 May 2024 12:23:17 -0700 Subject: [PATCH 1/3] SearchPage now respects contextualSearch setting --- .../src/theme/SearchPage/index.tsx | 34 ++++++++++++------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx index 323fb4f4586a..7c816365bb1c 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx @@ -159,8 +159,9 @@ function SearchPageContent(): JSX.Element { i18n: {currentLocale}, } = useDocusaurusContext(); const { - algolia: {appId, apiKey, indexName}, + algolia: {appId, apiKey, indexName, contextualSearch}, } = useAlgoliaThemeConfig(); + const processSearchResultUrl = useSearchResultUrlProcessor(); const documentsFoundPlural = useDocumentsFoundPlural(); @@ -213,11 +214,16 @@ function SearchPageContent(): JSX.Element { initialSearchResultState, ); + // respect settings from the theme config for facets + const disjunctiveFacets = contextualSearch + ? ['language', 'docusaurus_tag'] + : []; + const algoliaClient = algoliaSearch(appId, apiKey); const algoliaHelper = algoliaSearchHelper(algoliaClient, indexName, { hitsPerPage: 15, advancedSyntax: true, - disjunctiveFacets: ['language', 'docusaurus_tag'], + disjunctiveFacets: disjunctiveFacets, }); algoliaHelper.on( @@ -313,17 +319,19 @@ function SearchPageContent(): JSX.Element { }); const makeSearch = useEvent((page: number = 0) => { - algoliaHelper.addDisjunctiveFacetRefinement('docusaurus_tag', 'default'); - algoliaHelper.addDisjunctiveFacetRefinement('language', currentLocale); - - Object.entries(docsSearchVersionsHelpers.searchVersions).forEach( - ([pluginId, searchVersion]) => { - algoliaHelper.addDisjunctiveFacetRefinement( - 'docusaurus_tag', - `docs-${pluginId}-${searchVersion}`, - ); - }, - ); + if (contextualSearch) { + algoliaHelper.addDisjunctiveFacetRefinement('docusaurus_tag', 'default'); + algoliaHelper.addDisjunctiveFacetRefinement('language', currentLocale); + + Object.entries(docsSearchVersionsHelpers.searchVersions).forEach( + ([pluginId, searchVersion]) => { + algoliaHelper.addDisjunctiveFacetRefinement( + 'docusaurus_tag', + `docs-${pluginId}-${searchVersion}`, + ); + }, + ); + } algoliaHelper.setQuery(searchQuery).setPage(page).search(); }); From eda2485321f96b282e8d701a2b9fe8d058dcaad6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Thu, 30 May 2024 12:56:12 +0200 Subject: [PATCH 2/3] Update packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx --- .../src/theme/SearchPage/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx index 7c816365bb1c..55ec185c233e 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx @@ -223,7 +223,7 @@ function SearchPageContent(): JSX.Element { const algoliaHelper = algoliaSearchHelper(algoliaClient, indexName, { hitsPerPage: 15, advancedSyntax: true, - disjunctiveFacets: disjunctiveFacets, + disjunctiveFacets, }); algoliaHelper.on( From f8b0e904b0cc6bb15fe1104dcb1a7ba6fdde0ff4 Mon Sep 17 00:00:00 2001 From: sebastien Date: Thu, 30 May 2024 12:57:21 +0200 Subject: [PATCH 3/3] hide search version dropdown if contextual search is disabled --- .../src/theme/SearchPage/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx index 55ec185c233e..2f95bb284285 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx @@ -409,7 +409,7 @@ function SearchPageContent(): JSX.Element { /> - {docsSearchVersionsHelpers.versioningEnabled && ( + {contextualSearch && docsSearchVersionsHelpers.versioningEnabled && (