import { CardContainer } from '@/components/card-container'; import { EmptyCardType } from '@/components/empty/constant'; import { EmptyAppCard } from '@/components/empty/empty'; import ListFilterBar from '@/components/list-filter-bar'; import { RenameDialog } from '@/components/rename-dialog'; import { Button } from '@/components/ui/button'; import { RAGFlowPagination } from '@/components/ui/ragflow-pagination'; import { useFetchDialogList } from '@/hooks/use-chat-request'; import { pick } from 'lodash'; import { Plus } from 'lucide-react'; import { useCallback, useEffect } from 'react'; import { useTranslation } from 'react-i18next'; import { useSearchParams } from 'react-router'; import { ChatCard } from './chat-card'; import { useRenameChat } from './hooks/use-rename-chat'; export default function ChatList() { const { data, setPagination, pagination, handleInputChange, searchString } = useFetchDialogList(); const { t } = useTranslation(); const { initialChatName, chatRenameVisible, showChatRenameModal, hideChatRenameModal, onChatRenameOk, chatRenameLoading, } = useRenameChat(); const handlePageChange = useCallback( (page: number, pageSize?: number) => { setPagination({ page, pageSize }); }, [setPagination], ); const handleShowCreateModal = useCallback(() => { showChatRenameModal(); }, [showChatRenameModal]); const [searchParams, setSearchParams] = useSearchParams(); const isCreate = searchParams.get('isCreate') === 'true'; useEffect(() => { if (isCreate) { handleShowCreateModal(); searchParams.delete('isCreate'); setSearchParams(searchParams); } }, [isCreate, handleShowCreateModal, searchParams, setSearchParams]); return (
{data.dialogs?.length <= 0 && !searchString && (
handleShowCreateModal()} />
)} {(data.dialogs?.length > 0 || searchString) && ( <>
{data.dialogs?.length <= 0 && searchString && (
handleShowCreateModal()} />
)}
{data.dialogs.map((x) => { return ( ); })}
)} {chatRenameVisible && ( )}
); }