diff --git a/src/components/views/rooms/RoomTile.js b/src/components/views/rooms/RoomTile.js index 79698e475d..ac79da9851 100644 --- a/src/components/views/rooms/RoomTile.js +++ b/src/components/views/rooms/RoomTile.js @@ -21,6 +21,7 @@ var ReactDOM = require("react-dom"); var classNames = require('classnames'); var dis = require("../../../dispatcher"); var MatrixClientPeg = require('../../../MatrixClientPeg'); +var DMRoomMap = require('../../../utils/DMRoomMap'); var sdk = require('../../../index'); var ContextualMenu = require('../../structures/ContextualMenu'); var RoomNotifs = require('../../../RoomNotifs'); @@ -64,6 +65,16 @@ module.exports = React.createClass({ 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) { if (accountDataEvent.getType() == 'm.push_rules') { this.setState({ @@ -259,6 +270,11 @@ module.exports = React.createClass({ var RoomAvatar = sdk.getComponent('avatars.RoomAvatar'); + var directMessageIndicator; + if (this._isDirectMessageRoom(this.props.room.roomId)) { + directMessageIndicator = dm; + } + // These props are injected by React DnD, // as defined by your `collect` function above: var isDragging = this.props.isDragging; @@ -271,6 +287,7 @@ module.exports = React.createClass({
+ {directMessageIndicator}