Merge pull request #453 from matrix-org/wmwragg/one-to-one-indicators

Wmwragg/one to one indicators
This commit is contained in:
Matthew Hodgson 2016-09-09 15:08:48 +01:00 committed by GitHub
commit 4de0e19ef3

View file

@ -21,6 +21,7 @@ var ReactDOM = require("react-dom");
var classNames = require('classnames'); var classNames = require('classnames');
var dis = require("../../../dispatcher"); var dis = require("../../../dispatcher");
var MatrixClientPeg = require('../../../MatrixClientPeg'); var MatrixClientPeg = require('../../../MatrixClientPeg');
var DMRoomMap = require('../../../utils/DMRoomMap');
var sdk = require('../../../index'); var sdk = require('../../../index');
var ContextualMenu = require('../../structures/ContextualMenu'); var ContextualMenu = require('../../structures/ContextualMenu');
var RoomNotifs = require('../../../RoomNotifs'); var RoomNotifs = require('../../../RoomNotifs');
@ -64,6 +65,16 @@ module.exports = React.createClass({
return this.state.notifState != RoomNotifs.MUTE; return this.state.notifState != RoomNotifs.MUTE;
}, },
_isDirectMessageRoom: function(roomId) {
const dmRoomMap = new DMRoomMap(MatrixClientPeg.get());
var dmRooms = dmRoomMap.getUserIdForRoomId(roomId);
if (dmRooms) {
return true;
} else {
return false;
}
},
onAccountData: function(accountDataEvent) { onAccountData: function(accountDataEvent) {
if (accountDataEvent.getType() == 'm.push_rules') { if (accountDataEvent.getType() == 'm.push_rules') {
this.setState({ this.setState({
@ -259,6 +270,11 @@ module.exports = React.createClass({
var RoomAvatar = sdk.getComponent('avatars.RoomAvatar'); var RoomAvatar = sdk.getComponent('avatars.RoomAvatar');
var directMessageIndicator;
if (this._isDirectMessageRoom(this.props.room.roomId)) {
directMessageIndicator = <img src="img/icon_person.svg" className="mx_RoomTile_dm" width="11" height="13" alt="dm"/>;
}
// These props are injected by React DnD, // These props are injected by React DnD,
// as defined by your `collect` function above: // as defined by your `collect` function above:
var isDragging = this.props.isDragging; var isDragging = this.props.isDragging;
@ -271,6 +287,7 @@ module.exports = React.createClass({
<div className="mx_RoomTile_avatar_menu" onClick={this.onAvatarClicked}> <div className="mx_RoomTile_avatar_menu" onClick={this.onAvatarClicked}>
<div className={avatarContainerClasses}> <div className={avatarContainerClasses}>
<RoomAvatar room={this.props.room} width={24} height={24} /> <RoomAvatar room={this.props.room} width={24} height={24} />
{directMessageIndicator}
</div> </div>
</div> </div>
</div> </div>