diff --git a/src/controllers/molecules/MemberInfo.js b/src/components/views/rooms/MemberInfo.js similarity index 78% rename from src/controllers/molecules/MemberInfo.js rename to src/components/views/rooms/MemberInfo.js index 913e36a4ce..02dea43aa7 100644 --- a/src/controllers/molecules/MemberInfo.js +++ b/src/components/views/rooms/MemberInfo.js @@ -25,13 +25,15 @@ limitations under the License. * 'muted': boolean, * 'isTargetMod': boolean */ +var React = require('react'); +var MatrixClientPeg = require("../../../MatrixClientPeg"); +var dis = require("../../../dispatcher"); +var Modal = require("../../../Modal"); +var sdk = require('../../../index'); -var MatrixClientPeg = require("../../MatrixClientPeg"); -var dis = require("../../dispatcher"); -var Modal = require("../../Modal"); -var sdk = require('../../index'); +module.exports = React.createClass({ + displayName: 'MemberInfo', -module.exports = { componentDidMount: function() { // work out the current state if (this.props.member) { @@ -320,6 +322,76 @@ module.exports = { powerLevelContent.events_default ); return member.powerLevel < levelToSend; - } -}; + }, + + onCancel: function(e) { + dis.dispatch({ + action: "view_user", + member: null + }); + }, + + render: function() { + var interactButton, kickButton, banButton, muteButton, giveModButton, spinner; + if (this.props.member.userId === MatrixClientPeg.get().credentials.userId) { + interactButton =