1import * as docsearch from '@docsearch/react'; 2import { Global } from '@emotion/react'; 3import * as React from 'react'; 4 5import { usePageApiVersion } from '~/providers/page-api-version'; 6import versions from '~/public/static/constants/versions.json'; 7import { DocSearchStyles } from '~/ui/components/Search/styles'; 8 9const { LATEST_VERSION } = versions; 10 11const env = process.env.NODE_ENV; 12 13export const Search = () => { 14 const { version } = usePageApiVersion(); 15 return ( 16 <> 17 <Global styles={DocSearchStyles} /> 18 <docsearch.DocSearch 19 appId="QEX7PB7D46" 20 indexName="expo" 21 apiKey="89231e630c63f383765538848f9a0e9e" 22 searchParameters={{ 23 facetFilters: [['version:none', `version:${version}`]], 24 }} 25 transformItems={items => 26 items.map(item => { 27 const envUrl = 28 env === 'development' 29 ? item.url.replace('https://docs.expo.dev/', 'http://localhost:3002/') 30 : item.url; 31 return { 32 ...item, 33 url: envUrl.includes(LATEST_VERSION) 34 ? envUrl.replace(LATEST_VERSION, 'latest') 35 : envUrl, 36 }; 37 }) 38 } 39 /> 40 </> 41 ); 42}; 43