54 lines
1.9 KiB
JavaScript
54 lines
1.9 KiB
JavaScript
// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
|
|
// See License.txt for license information.
|
|
|
|
import {bindActionCreators} from 'redux';
|
|
import {connect} from 'react-redux';
|
|
|
|
import {viewChannel, markChannelAsRead} from 'mattermost-redux/actions/channels';
|
|
import {startPeriodicStatusUpdates, stopPeriodicStatusUpdates} from 'mattermost-redux/actions/users';
|
|
import {init as initWebSocket, close as closeWebSocket} from 'mattermost-redux/actions/websocket';
|
|
import {RequestStatus} from 'mattermost-redux/constants';
|
|
import {getCurrentChannelId} from 'mattermost-redux/selectors/entities/channels';
|
|
import {getCurrentTeamId} from 'mattermost-redux/selectors/entities/teams';
|
|
|
|
import {
|
|
loadChannelsIfNecessary,
|
|
loadProfilesAndTeamMembersForDMSidebar,
|
|
selectInitialChannel
|
|
} from 'app/actions/views/channel';
|
|
import {connection} from 'app/actions/device';
|
|
import {selectFirstAvailableTeam} from 'app/actions/views/select_team';
|
|
import {getTheme} from 'mattermost-redux/selectors/entities/preferences';
|
|
|
|
import Channel from './channel';
|
|
|
|
function mapStateToProps(state) {
|
|
const {myChannels: channelsRequest} = state.requests.channels;
|
|
|
|
return {
|
|
channelsRequestFailed: channelsRequest.status === RequestStatus.FAILURE,
|
|
currentTeamId: getCurrentTeamId(state),
|
|
currentChannelId: getCurrentChannelId(state),
|
|
theme: getTheme(state)
|
|
};
|
|
}
|
|
|
|
function mapDispatchToProps(dispatch) {
|
|
return {
|
|
actions: bindActionCreators({
|
|
connection,
|
|
loadChannelsIfNecessary,
|
|
loadProfilesAndTeamMembersForDMSidebar,
|
|
markChannelAsRead,
|
|
selectFirstAvailableTeam,
|
|
selectInitialChannel,
|
|
initWebSocket,
|
|
closeWebSocket,
|
|
startPeriodicStatusUpdates,
|
|
stopPeriodicStatusUpdates,
|
|
viewChannel
|
|
}, dispatch)
|
|
};
|
|
}
|
|
|
|
export default connect(mapStateToProps, mapDispatchToProps)(Channel);
|