import { connect } from 'react-redux'; import { MAX_LIVESTREAM_COMMENTS } from 'constants/livestream'; import { doResolveUris } from 'redux/actions/claims'; import { selectClaimForUri, selectMyClaimIdsRaw } from 'redux/selectors/claims'; import { doCommentSocketConnect, doCommentSocketDisconnect } from 'redux/actions/websocket'; import { doCommentList, doSuperChatList } from 'redux/actions/comments'; import { selectTopLevelCommentsForUri, selectIsFetchingComments, selectSuperChatsForUri, selectSuperChatTotalAmountForUri, selectPinnedCommentsForUri, } from 'redux/selectors/comments'; import LivestreamComments from './view'; const select = (state, props) => ({ claim: selectClaimForUri(state, props.uri), comments: selectTopLevelCommentsForUri(state, props.uri, MAX_LIVESTREAM_COMMENTS), pinnedComments: selectPinnedCommentsForUri(state, props.uri), fetchingComments: selectIsFetchingComments(state), superChats: selectSuperChatsForUri(state, props.uri), superChatsTotalAmount: selectSuperChatTotalAmountForUri(state, props.uri), myChannelIds: selectMyClaimIdsRaw(state), }); export default connect(select, { doCommentSocketConnect, doCommentSocketDisconnect, doCommentList, doSuperChatList, doResolveUris, })(LivestreamComments);