mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 20:42:30 +08:00
### What problem does this PR solve? feat(search): Optimized search functionality and user interface #3221 ### Type of change - Added similarity threshold adjustment function - Optimized mind map display logic - Adjusted search settings interface layout - Fixed related search and document viewing functions - Optimized time display and node selection logic - [x] Bug Fix (non-breaking change which fixes an issue)
66 lines
2.0 KiB
TypeScript
66 lines
2.0 KiB
TypeScript
import { RAGFlowAvatar } from '@/components/ragflow-avatar';
|
|
import i18n from '@/locales/config';
|
|
import { useEffect, useState } from 'react';
|
|
import {
|
|
ISearchAppDetailProps,
|
|
useFetchSearchDetail,
|
|
} from '../../next-searches/hooks';
|
|
import { useGetSharedSearchParams, useSearching } from '../hooks';
|
|
import '../index.less';
|
|
import SearchHome from '../search-home';
|
|
import SearchingPage from '../searching';
|
|
export default function ShareSeachPage() {
|
|
const { tenantId, locale, visibleAvatar } = useGetSharedSearchParams();
|
|
const {
|
|
data: searchData = {
|
|
search_config: { kb_ids: [] },
|
|
} as unknown as ISearchAppDetailProps,
|
|
} = useFetchSearchDetail(tenantId as string);
|
|
const [isSearching, setIsSearching] = useState(false);
|
|
const [searchText, setSearchText] = useState('');
|
|
const searchingParam = useSearching({
|
|
data: searchData,
|
|
});
|
|
|
|
useEffect(() => {
|
|
if (locale && i18n.language !== locale) {
|
|
i18n.changeLanguage(locale);
|
|
}
|
|
}, [locale]);
|
|
return (
|
|
<>
|
|
{visibleAvatar && (
|
|
<div className="flex justify-start items-center gap-2 mx-6 mt-6 text-text-primary">
|
|
<RAGFlowAvatar
|
|
className="size-6"
|
|
avatar={searchData.avatar}
|
|
name={searchData.name}
|
|
></RAGFlowAvatar>
|
|
<div>{searchData.name}</div>
|
|
</div>
|
|
)}
|
|
{/* <SearchingView {...searchingParam} searchData={searchData} />; */}
|
|
{!isSearching && (
|
|
<div className="animate-fade-in-down">
|
|
<SearchHome
|
|
setIsSearching={setIsSearching}
|
|
isSearching={isSearching}
|
|
searchText={searchText}
|
|
setSearchText={setSearchText}
|
|
/>
|
|
</div>
|
|
)}
|
|
{isSearching && (
|
|
<div className="animate-fade-in-up">
|
|
<SearchingPage
|
|
setIsSearching={setIsSearching}
|
|
searchText={searchText}
|
|
setSearchText={setSearchText}
|
|
data={searchData as ISearchAppDetailProps}
|
|
/>
|
|
</div>
|
|
)}
|
|
</>
|
|
);
|
|
}
|