xref: /expo/docs/ui/components/Search/Search.tsx (revision 674b4f9d)
1import { DocSearch } from '@docsearch/react';
2import { Global } from '@emotion/react';
3import * as React from 'react';
4
5import { LATEST_VERSION } from '~/constants/versions.cjs';
6import { usePageApiVersion } from '~/providers/page-api-version';
7import { DocSearchStyles } from '~/ui/components/Search/styles';
8
9export const Search = () => {
10  const { version } = usePageApiVersion();
11  return (
12    <>
13      <Global styles={DocSearchStyles} />
14      <DocSearch
15        appId="QEX7PB7D46"
16        indexName="expo"
17        apiKey="89231e630c63f383765538848f9a0e9e"
18        searchParameters={{
19          facetFilters: [['version:none', `version:${version}`]],
20        }}
21        transformItems={items =>
22          items.map(item => {
23            if (item.url.includes(LATEST_VERSION)) {
24              return { ...item, url: item.url.replace(LATEST_VERSION, 'latest') };
25            }
26            return item;
27          })
28        }
29      />
30    </>
31  );
32};
33