Files
ragflow/web/src/pages/home/search-list.tsx
chanx 1595cdc48f Fix: Optimize list display and rename functionality #3221 (#9875)
### What problem does this PR solve?

Fix: Optimize list display and rename functionality #3221

- Updated the homepage search list display style and added rename
functionality
- Used the RenameDialog component for rename searches
- Optimized list height calculation
- Updated the style and layout of related pages
- fix issue #9779

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
2025-09-02 17:43:37 +08:00

58 lines
1.7 KiB
TypeScript

import { IconFont } from '@/components/icon-font';
import { MoreButton } from '@/components/more-button';
import { RenameDialog } from '@/components/rename-dialog';
import { useNavigatePage } from '@/hooks/logic-hooks/navigate-hooks';
import { useFetchSearchList, useRenameSearch } from '../next-searches/hooks';
import { SearchDropdown } from '../next-searches/search-dropdown';
import { ApplicationCard } from './application-card';
export function SearchList() {
const { data, refetch: refetchList } = useFetchSearchList();
const { navigateToSearch } = useNavigatePage();
const {
openCreateModal,
showSearchRenameModal,
hideSearchRenameModal,
searchRenameLoading,
onSearchRenameOk,
initialSearchName,
} = useRenameSearch();
const onSearchRenameConfirm = (name: string) => {
onSearchRenameOk(name, () => {
refetchList();
});
};
return (
<>
{data?.data.search_apps.slice(0, 10).map((x) => (
<ApplicationCard
key={x.id}
app={{
avatar: x.avatar,
title: x.name,
update_time: x.update_time,
}}
onClick={navigateToSearch(x.id)}
moreDropdown={
<SearchDropdown
dataset={x}
showSearchRenameModal={showSearchRenameModal}
>
<MoreButton></MoreButton>
</SearchDropdown>
}
></ApplicationCard>
))}
{openCreateModal && (
<RenameDialog
hideModal={hideSearchRenameModal}
onOk={onSearchRenameConfirm}
initialName={initialSearchName}
loading={searchRenameLoading}
title={<IconFont name="search" className="size-6"></IconFont>}
></RenameDialog>
)}
</>
);
}