mirror of
https://github.com/facebook/docusaurus.git
synced 2025-08-06 10:20:09 +02:00
fix(theme): SearchPage should respect contextualSearch: false
setting (#10178)
Co-authored-by: Sébastien Lorber <slorber@users.noreply.github.com> Co-authored-by: sebastien <lorber.sebastien@gmail.com>
This commit is contained in:
parent
bc71803b72
commit
1049294ba6
1 changed files with 21 additions and 13 deletions
|
@ -159,8 +159,9 @@ function SearchPageContent(): JSX.Element {
|
||||||
i18n: {currentLocale},
|
i18n: {currentLocale},
|
||||||
} = useDocusaurusContext();
|
} = useDocusaurusContext();
|
||||||
const {
|
const {
|
||||||
algolia: {appId, apiKey, indexName},
|
algolia: {appId, apiKey, indexName, contextualSearch},
|
||||||
} = useAlgoliaThemeConfig();
|
} = useAlgoliaThemeConfig();
|
||||||
|
|
||||||
const processSearchResultUrl = useSearchResultUrlProcessor();
|
const processSearchResultUrl = useSearchResultUrlProcessor();
|
||||||
const documentsFoundPlural = useDocumentsFoundPlural();
|
const documentsFoundPlural = useDocumentsFoundPlural();
|
||||||
|
|
||||||
|
@ -213,11 +214,16 @@ function SearchPageContent(): JSX.Element {
|
||||||
initialSearchResultState,
|
initialSearchResultState,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// respect settings from the theme config for facets
|
||||||
|
const disjunctiveFacets = contextualSearch
|
||||||
|
? ['language', 'docusaurus_tag']
|
||||||
|
: [];
|
||||||
|
|
||||||
const algoliaClient = algoliaSearch(appId, apiKey);
|
const algoliaClient = algoliaSearch(appId, apiKey);
|
||||||
const algoliaHelper = algoliaSearchHelper(algoliaClient, indexName, {
|
const algoliaHelper = algoliaSearchHelper(algoliaClient, indexName, {
|
||||||
hitsPerPage: 15,
|
hitsPerPage: 15,
|
||||||
advancedSyntax: true,
|
advancedSyntax: true,
|
||||||
disjunctiveFacets: ['language', 'docusaurus_tag'],
|
disjunctiveFacets,
|
||||||
});
|
});
|
||||||
|
|
||||||
algoliaHelper.on(
|
algoliaHelper.on(
|
||||||
|
@ -313,17 +319,19 @@ function SearchPageContent(): JSX.Element {
|
||||||
});
|
});
|
||||||
|
|
||||||
const makeSearch = useEvent((page: number = 0) => {
|
const makeSearch = useEvent((page: number = 0) => {
|
||||||
algoliaHelper.addDisjunctiveFacetRefinement('docusaurus_tag', 'default');
|
if (contextualSearch) {
|
||||||
algoliaHelper.addDisjunctiveFacetRefinement('language', currentLocale);
|
algoliaHelper.addDisjunctiveFacetRefinement('docusaurus_tag', 'default');
|
||||||
|
algoliaHelper.addDisjunctiveFacetRefinement('language', currentLocale);
|
||||||
|
|
||||||
Object.entries(docsSearchVersionsHelpers.searchVersions).forEach(
|
Object.entries(docsSearchVersionsHelpers.searchVersions).forEach(
|
||||||
([pluginId, searchVersion]) => {
|
([pluginId, searchVersion]) => {
|
||||||
algoliaHelper.addDisjunctiveFacetRefinement(
|
algoliaHelper.addDisjunctiveFacetRefinement(
|
||||||
'docusaurus_tag',
|
'docusaurus_tag',
|
||||||
`docs-${pluginId}-${searchVersion}`,
|
`docs-${pluginId}-${searchVersion}`,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
algoliaHelper.setQuery(searchQuery).setPage(page).search();
|
algoliaHelper.setQuery(searchQuery).setPage(page).search();
|
||||||
});
|
});
|
||||||
|
@ -401,7 +409,7 @@ function SearchPageContent(): JSX.Element {
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{docsSearchVersionsHelpers.versioningEnabled && (
|
{contextualSearch && docsSearchVersionsHelpers.versioningEnabled && (
|
||||||
<SearchVersionSelectList
|
<SearchVersionSelectList
|
||||||
docsSearchVersionsHelpers={docsSearchVersionsHelpers}
|
docsSearchVersionsHelpers={docsSearchVersionsHelpers}
|
||||||
/>
|
/>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue