UNPKG

stream-chat-react

Version:

React components to create chat conversations or livestream style chat

22 lines (21 loc) 1.52 kB
import React from 'react'; import { SearchSourceResultList as DefaultSearchSourceResultList } from './SearchSourceResultList'; import { SearchSourceResultsEmpty as DefaultSearchSourceResultsEmpty } from './SearchSourceResultsEmpty'; import { SearchSourceResultsHeader as DefaultSearchSourceResultsHeader } from './SearchSourceResultsHeader'; import { SearchSourceResultsContextProvider } from '../SearchSourceResultsContext'; import { useComponentContext } from '../../../context'; import { useStateStore } from '../../../store'; const searchSourceStateSelector = (nextValue) => ({ isLoading: nextValue.isLoading, items: nextValue.items, }); export const SearchSourceResults = ({ searchSource }) => { const { SearchSourceResultList = DefaultSearchSourceResultList, SearchSourceResultsEmpty = DefaultSearchSourceResultsEmpty, SearchSourceResultsHeader = DefaultSearchSourceResultsHeader, } = useComponentContext(); const { isLoading, items } = useStateStore(searchSource.state, searchSourceStateSelector); if (!items && !isLoading) return null; return (React.createElement(SearchSourceResultsContextProvider, { value: { searchSource } }, React.createElement("div", { className: 'str-chat__search-source-results', "data-testid": 'search-source-results' }, React.createElement(SearchSourceResultsHeader, null), items?.length || isLoading ? (React.createElement(SearchSourceResultList, null)) : (React.createElement(SearchSourceResultsEmpty, null))))); };