UNPKG

@droppii-org/chat-sdk

Version:

Droppii React Chat SDK

24 lines (23 loc) 1.51 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { Empty, Spin } from "antd"; import { useTranslation } from "react-i18next"; import { useSearchMessage } from "../../hooks/search/useSearchMessage"; import { MessageType } from "@openim/wasm-client-sdk"; import InfiniteScroll from "react-infinite-scroll-component"; import SearchItemAsMessage from "./item/SearchItemAsMessage"; const SearchConversationAsMessages = (props) => { const { searchTerm = "" } = props; const { t } = useTranslation(); const { dataFlatten, hasNextPage, fetchNextPage, isLoading } = useSearchMessage({ payload: { searchTerm: searchTerm.trim(), contentType: MessageType.TextMessage, }, }); if ((dataFlatten.length === 0 && !isLoading) || searchTerm.trim() === "") return _jsx(Empty, { description: t("no_conversation") }); if (isLoading) return (_jsx("div", { className: "flex items-center justify-center", children: _jsx(Spin, {}) })); return (_jsx("div", { id: "scrollableVideoDiv", className: "h-full overflow-auto", children: _jsx(InfiniteScroll, { dataLength: dataFlatten.length, next: fetchNextPage, hasMore: hasNextPage, loader: _jsx("div", { className: "flex items-center justify-center py-2", children: _jsx(Spin, {}) }), scrollableTarget: "scrollableVideoDiv", children: dataFlatten.map((item) => (_jsx(SearchItemAsMessage, { message: item.chatLog, searchTerm: searchTerm }))) }) })); }; export default SearchConversationAsMessages;