import React, { Component, Fragment } from 'react' import { connect } from 'react-redux' import { Prompt } from 'react-router-dom' import superagent from 'superagent' import * as Actions from './actions' import * as UIActions from '../../actions/ui' import './RolePicker.sass' import Category from './Category' import { Scrollbars } from 'react-custom-scrollbars'; import { Link } from 'react-router-dom'; const mapState = ({ rolePicker, servers }, ownProps) => { return { data: rolePicker, server: servers.get(ownProps.match.params.server) } } @connect(mapState) class RolePicker extends Component { componentWillMount () { const { dispatch, match: { params: { server } } } = this.props dispatch(Actions.setup(server)) } componentWillReceiveProps (nextProps) { if (this.props.match.params.server !== nextProps.match.params.server) { const { dispatch } = this.props dispatch(UIActions.fadeOut(() => dispatch(Actions.setup(nextProps.match.params.server)))) } } get serverId () { return this.props.server.get('id') } isSelected = id => { return this.props.data.getIn([ 'rolesSelected', id ]) } get rolesHaveChanged () { const { data } = this.props return !data.get('rolesSelected').equals(data.get('originalRolesSelected')) } editServerMessage = (e) => { const { dispatch } = this.props dispatch(Actions.editServerMessage(this.serverId, e.target.value)) } saveServerMessage = (e) => { const { dispatch } = this.props dispatch(Actions.saveServerMessage(this.serverId)) } openMessageEditor = () => { const { dispatch } = this.props dispatch(Actions.openMessageEditor(this.serverId)) } closeMessageEditor = () => { const { dispatch } = this.props dispatch(Actions.closeMessageEditor) } renderServerMessage (server) { const isEditing = this.props.data.get('isEditingMessage') const roleManager = server.getIn(['perms', 'canManageRoles']) const msg = server.get('message') const msgBuffer = this.props.data.get('messageBuffer') console.log(msg, roleManager, isEditing, this.props.data.toJS()) if (!roleManager && msg !== '') { return

Server Message

{msg}

} if (roleManager && !isEditing) { return

Server Message

{msg || no server message}

} if (roleManager && isEditing) { return

Server Message