import React, { Fragment } from 'react'; import { connect } from 'react-redux'; import PropTypes from 'prop-types'; import classNames from 'classnames'; import * as stateActions from '../../redux/stateActions'; import ParticipantList from '../ParticipantList/ParticipantList'; import Chat from '../Chat/Chat'; import Settings from '../Settings'; import FileSharing from '../FileSharing'; import TabHeader from './TabHeader'; class ToolArea extends React.Component { constructor(props) { super(props); } render() { const { currentToolTab, toolAreaOpen, unreadMessages, unreadFiles, toggleToolArea, unread } = this.props; const VisibleTab = { chat : Chat, files : FileSharing, users : ParticipantList, settings : Settings }[currentToolTab]; return (

Toolbox

{!toolAreaOpen && unread > 0 && ( = 10 })}> {unread} )}
); } } ToolArea.propTypes = { advancedMode : PropTypes.bool, currentToolTab : PropTypes.string.isRequired, setToolTab : PropTypes.func.isRequired, unreadMessages : PropTypes.number.isRequired, unreadFiles : PropTypes.number.isRequired, toolAreaOpen : PropTypes.bool, toggleToolArea : PropTypes.func.isRequired, closeToolArea : PropTypes.func.isRequired, unread : PropTypes.number.isRequired }; const mapStateToProps = (state) => ({ currentToolTab : state.toolarea.currentToolTab, unreadMessages : state.toolarea.unreadMessages, unreadFiles : state.toolarea.unreadFiles, toolAreaOpen : state.toolarea.toolAreaOpen, unread : state.toolarea.unreadMessages + state.toolarea.unreadFiles }); const mapDispatchToProps = { setToolTab : stateActions.setToolTab, toggleToolArea : stateActions.toggleToolArea, closeToolArea : stateActions.closeToolArea }; const ToolAreaContainer = connect( mapStateToProps, mapDispatchToProps )(ToolArea); export default ToolAreaContainer;