This is an automated email from the ASF dual-hosted git repository.

kassiez pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git


The following commit(s) were added to refs/heads/master by this push:
     new a31ae202591 fix:search load (#1462)
a31ae202591 is described below

commit a31ae2025917cc6ee684ca4e1c4c9fcbd85d652c
Author: yangon <2689991...@qq.com>
AuthorDate: Fri Dec 6 00:17:24 2024 +0800

    fix:search load (#1462)
    
    Co-authored-by: liyang <liy...@selectdb.com>
---
 src/theme/SearchBar/SearchBar.jsx | 27 ++++++++++++++++++++-------
 1 file changed, 20 insertions(+), 7 deletions(-)

diff --git a/src/theme/SearchBar/SearchBar.jsx 
b/src/theme/SearchBar/SearchBar.jsx
index 3272a111f72..b3e48420c70 100644
--- a/src/theme/SearchBar/SearchBar.jsx
+++ b/src/theme/SearchBar/SearchBar.jsx
@@ -24,7 +24,7 @@ import LoadingRing from '../LoadingRing/LoadingRing';
 import styles from './SearchBar.module.css';
 import { normalizeContextByPath } from '../../utils/normalizeContextByPath';
 import useIsDocPage from '@site/src/hooks/use-is-doc';
-import { VERSIONS } from '@site/src/constant/common';
+import { VERSIONS, DEFAULT_VERSION } from '@site/src/constant/common';
 async function fetchAutoCompleteJS() {
     const autoCompleteModule = await import('@easyops-cn/autocomplete.js');
     const autoComplete = autoCompleteModule.default;
@@ -41,6 +41,8 @@ const SEARCH_PARAM_HIGHLIGHT = '_highlight';
 export default function SearchBar({ handleSearchBarToggle }) {
     const isBrowser = useIsBrowser();
     const location = useLocation();
+    // const curVersion = useRef(DEFAULT_VERSION);
+    const [curVersion, setCurVersion] = useState(DEFAULT_VERSION);
     const {
         siteConfig: { baseUrl },
         i18n: { currentLocale },
@@ -125,8 +127,8 @@ export default function SearchBar({ handleSearchBarToggle 
}) {
         setSearchContext(nextSearchContext);
     }, [location.pathname, versionUrl]);
     const hidden = !!hideSearchBarWithNoSearchContext && 
Array.isArray(searchContextByPaths) && searchContext === '';
-    const loadIndex = useCallback(async () => {
-        if (hidden || indexStateMap.current.get(searchContext)) {
+    const loadIndex = useCallback(async (forceLoad = false) => {
+        if ((hidden || indexStateMap.current.get(searchContext)) && 
!forceLoad) {
             // Do not load the index (again) if its already loaded or in the 
process of being loaded.
             return;
         }
@@ -339,10 +341,21 @@ export default function SearchBar({ handleSearchBarToggle 
}) {
     }, [isMac, onInputFocus]);
 
     useEffect(() => {
-        if (isDocsPage) {
-            loadIndex();
+        const pathHaveVer = VERSIONS.some(item => 
location.pathname.includes(item));
+        if (!pathHaveVer && curVersion !== '2.1') {
+            setCurVersion('2.1');
+        } else {
+            VERSIONS.forEach(item => {
+                if (location.pathname.includes(item) && item !== curVersion) {
+                    setCurVersion(item);
+                }
+            });
         }
-    }, [location.pathname, isDocsPage]);
+    }, [location.pathname]);
+
+    useEffect(() => {
+        loadIndex(true);
+    }, [curVersion]);
 
     const onClearSearch = useCallback(() => {
         const params = new URLSearchParams(location.search);
@@ -356,7 +369,7 @@ export default function SearchBar({ handleSearchBarToggle 
}) {
         setInputValue('');
         search.current?.autocomplete.setVal('');
     }, [location.pathname, location.search, location.hash, history]);
-  
+
     return (
         <div
             className={clsx('navbar__search', styles.searchBarContainer, {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to