@@ -12,6 +12,7 @@ import Link from "@docusaurus/Link";
1212import { useAllDocsData } from "@docusaurus/plugin-content-docs/client" ;
1313import {
1414 HtmlClassNameProvider ,
15+ PageMetadata ,
1516 useEvent ,
1617 usePluralForm ,
1718 useSearchQueryString ,
@@ -148,6 +149,26 @@ type ResultDispatcher =
148149 | { type : "update" ; value : ResultDispatcherState }
149150 | { type : "advance" ; value ?: undefined } ;
150151
152+
153+ function getSearchPageTitle ( searchQuery : string | undefined ) : string {
154+ return searchQuery
155+ ? translate (
156+ {
157+ id : 'theme.SearchPage.existingResultsTitle' ,
158+ message : 'Search results for "{query}"' ,
159+ description : 'The search page title for non-empty query' ,
160+ } ,
161+ {
162+ query : searchQuery ,
163+ } ,
164+ )
165+ : translate ( {
166+ id : 'theme.SearchPage.emptyResultsTitle' ,
167+ message : 'Search the documentation' ,
168+ description : 'The search page title for empty query' ,
169+ } ) ;
170+ }
171+
151172function SearchPageContent ( ) : ReactNode {
152173 const {
153174 i18n : { currentLocale } ,
@@ -161,6 +182,8 @@ function SearchPageContent(): ReactNode {
161182
162183 const docsSearchVersionsHelpers = useDocsSearchVersionsHelpers ( ) ;
163184 const [ searchQuery , setSearchQuery ] = useSearchQueryString ( ) ;
185+ const pageTitle = getSearchPageTitle ( searchQuery ) ;
186+
164187 const initialSearchResultState : ResultDispatcherState = {
165188 items : [ ] ,
166189 query : null ,
@@ -295,25 +318,6 @@ function SearchPageContent(): ReactNode {
295318 { threshold : 1 } ,
296319 ) ,
297320 ) ;
298-
299- const getTitle = ( ) =>
300- searchQuery
301- ? translate (
302- {
303- id : "theme.SearchPage.existingResultsTitle" ,
304- message : 'Search results for "{query}"' ,
305- description : "The search page title for non-empty query" ,
306- } ,
307- {
308- query : searchQuery ,
309- } ,
310- )
311- : translate ( {
312- id : "theme.SearchPage.emptyResultsTitle" ,
313- message : "Search the documentation" ,
314- description : "The search page title for empty query" ,
315- } ) ;
316-
317321 const makeSearch = useEvent ( ( page : number = 0 ) => {
318322 if ( contextualSearch ) {
319323 algoliaHelper . addDisjunctiveFacetRefinement ( "docusaurus_tag" , "default" ) ;
@@ -366,8 +370,8 @@ function SearchPageContent(): ReactNode {
366370
367371 return (
368372 < Layout >
373+ < PageMetadata title = { pageTitle } />
369374 < Head >
370- < title > { useTitleFormatter ( getTitle ( ) ) } </ title >
371375 { /*
372376 We should not index search pages
373377 See https://github.com/facebook/docusaurus/pull/3233
@@ -376,7 +380,7 @@ function SearchPageContent(): ReactNode {
376380 </ Head >
377381
378382 < main className = "doc-search-page prose" >
379- < Heading as = "h1" > { getTitle ( ) } </ Heading >
383+ < Heading as = "h1" > { pageTitle } </ Heading >
380384
381385 < form
382386 className = "join doc-search-page-form"
0 commit comments