fix(search): search page should react to querystring changes + cleanup/refactor (#8757)

This commit is contained in:
Sébastien Lorber 2023-03-10 19:13:58 +01:00 committed by GitHub
parent ea2b13ea94
commit 2f75979bc5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 70 additions and 69 deletions

View file

@ -10,8 +10,10 @@ import {DocSearchButton, useDocSearchKeyboardEvents} from '@docsearch/react';
import Head from '@docusaurus/Head';
import Link from '@docusaurus/Link';
import {useHistory} from '@docusaurus/router';
import {isRegexpStringMatch} from '@docusaurus/theme-common';
import {useSearchPage} from '@docusaurus/theme-common/internal';
import {
isRegexpStringMatch,
useSearchLinkCreator,
} from '@docusaurus/theme-common';
import {
useAlgoliaContextualFacetFilters,
useSearchResultUrlProcessor,
@ -59,10 +61,10 @@ type ResultsFooterProps = {
};
function ResultsFooter({state, onClose}: ResultsFooterProps) {
const {generateSearchPageLink} = useSearchPage();
const createSearchLink = useSearchLinkCreator();
return (
<Link to={generateSearchPageLink(state.query)} onClick={onClose}>
<Link to={createSearchLink(state.query)} onClick={onClose}>
<Translate
id="theme.SearchBar.seeAll"
values={{count: state.context.nbHits}}>

View file

@ -21,11 +21,9 @@ import {
HtmlClassNameProvider,
useEvent,
usePluralForm,
useSearchQueryString,
} from '@docusaurus/theme-common';
import {
useSearchPage,
useTitleFormatter,
} from '@docusaurus/theme-common/internal';
import {useTitleFormatter} from '@docusaurus/theme-common/internal';
import Translate, {translate} from '@docusaurus/Translate';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import {
@ -167,7 +165,7 @@ function SearchPageContent(): JSX.Element {
const documentsFoundPlural = useDocumentsFoundPlural();
const docsSearchVersionsHelpers = useDocsSearchVersionsHelpers();
const {searchQuery, setSearchQuery} = useSearchPage();
const [searchQuery, setSearchQuery] = useSearchQueryString();
const initialSearchResultState: ResultDispatcherState = {
items: [],
query: null,