From 3ba92740d9b9aba5b2d593219a2b76d67bce3ffe Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Sat, 17 Oct 2020 22:00:27 +0300 Subject: [PATCH 1/2] refactor(v2): use new way to get versions for search page --- .../src/theme/hooks/useVersioning.ts | 30 ------------------- .../src/theme/SearchPage/index.js | 13 ++++---- 2 files changed, 7 insertions(+), 36 deletions(-) delete mode 100644 packages/docusaurus-plugin-content-docs/src/theme/hooks/useVersioning.ts diff --git a/packages/docusaurus-plugin-content-docs/src/theme/hooks/useVersioning.ts b/packages/docusaurus-plugin-content-docs/src/theme/hooks/useVersioning.ts deleted file mode 100644 index afc278336ca6..000000000000 --- a/packages/docusaurus-plugin-content-docs/src/theme/hooks/useVersioning.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -let versions: string[]; - -try { - // eslint-disable-next-line global-require - versions = require('@site/versions.json'); -} catch { - versions = []; -} - -// TODO deprecate in favor of useDocs.ts instead -function useVersioning(): { - versioningEnabled: boolean; - versions: string[]; - latestVersion: string; -} { - return { - versioningEnabled: versions.length > 0, - versions, - latestVersion: versions[0], - }; -} - -export default useVersioning; diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.js b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.js index aca8ef5d516a..04dfd02992ec 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.js +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.js @@ -16,11 +16,13 @@ import clsx from 'clsx'; import Head from '@docusaurus/Head'; import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; -import useVersioning from '@theme/hooks/useVersioning'; +import {useDocsData} from '@theme/hooks/useDocs'; import useSearchQuery from '@theme/hooks/useSearchQuery'; import Link from '@docusaurus/Link'; import Layout from '@theme/Layout'; +import {DEFAULT_PLUGIN_ID} from '@docusaurus/constants'; + import styles from './styles.module.css'; function pluralize(count, word) { @@ -33,9 +35,10 @@ function Search() { themeConfig: {algolia: {appId = 'BH4D9OD16A', apiKey, indexName} = {}}, } = {}, } = useDocusaurusContext(); + const {versions} = useDocsData(DEFAULT_PLUGIN_ID); + const versioningEnabled = versions.length > 0; const {searchValue, updateSearchPath} = useSearchQuery(); - const {versioningEnabled, versions, latestVersion} = useVersioning(); - const [searchVersion, setSearchVersion] = useState(latestVersion); + const [searchVersion, setSearchVersion] = useState(versions[0]?.name); const [searchQuery, setSearchQuery] = useState(searchValue); const initialSearchResultState = { items: [], @@ -275,9 +278,7 @@ function Search() { defaultValue={searchVersion} className={styles.searchVersionInput}> {versions.map((version, i) => ( - +