diff --git a/res/css/views/rooms/_RoomBreadcrumbs.scss b/res/css/views/rooms/_RoomBreadcrumbs.scss index 715851f615..6c3eb0420a 100644 --- a/res/css/views/rooms/_RoomBreadcrumbs.scss +++ b/res/css/views/rooms/_RoomBreadcrumbs.scss @@ -46,6 +46,12 @@ limitations under the License. top: -3px; right: -4px; } + + .mx_RoomBreadcrumbs_dmIndicator { + position: absolute; + bottom: 0; + right: -4px; + } } .mx_RoomBreadcrumbs_animate { diff --git a/src/components/views/rooms/RoomBreadcrumbs.js b/src/components/views/rooms/RoomBreadcrumbs.js index c7dbeb3dd8..43dcabdf96 100644 --- a/src/components/views/rooms/RoomBreadcrumbs.js +++ b/src/components/views/rooms/RoomBreadcrumbs.js @@ -23,6 +23,8 @@ import classNames from 'classnames'; import sdk from "../../../index"; import * as RoomNotifs from '../../../RoomNotifs'; import * as FormattingUtils from "../../../utils/FormattingUtils"; +import DMRoomMap from "../../../utils/DMRoomMap"; +import {_t} from "../../../languageHandler"; const MAX_ROOMS = 20; @@ -209,6 +211,11 @@ export default class RoomBreadcrumbs extends React.Component { this.setState({rooms}); } + _isDmRoom(room) { + const dmRooms = DMRoomMap.shared().getUserIdForRoomId(room.roomId); + return Boolean(dmRooms); + } + render() { const Tooltip = sdk.getComponent('elements.Tooltip'); const IndicatorScrollbar = sdk.getComponent('structures.IndicatorScrollbar'); @@ -246,11 +253,23 @@ export default class RoomBreadcrumbs extends React.Component { badge =
{r.formattedCount}
; } + let dmIndicator; + if (this._isDmRoom(r.room)) { + dmIndicator = {_t("Direct; + } + return ( this._viewRoom(r.room)} onMouseEnter={() => this._onMouseEnter(r.room)} onMouseLeave={() => this._onMouseLeave(r.room)}> {badge} + {dmIndicator} {tooltip} ); diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 3dcc1691b8..7e6529e6f3 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -760,6 +760,7 @@ "Seen by %(userName)s at %(dateTime)s": "Seen by %(userName)s at %(dateTime)s", "Seen by %(displayName)s (%(userName)s) at %(dateTime)s": "Seen by %(displayName)s (%(userName)s) at %(dateTime)s", "Replying": "Replying", + "Direct Chat": "Direct Chat", "No rooms to show": "No rooms to show", "Unnamed room": "Unnamed room", "World readable": "World readable", @@ -1263,7 +1264,6 @@ "Forget": "Forget", "Favourite": "Favourite", "Low Priority": "Low Priority", - "Direct Chat": "Direct Chat", "Clear status": "Clear status", "Update status": "Update status", "Set status": "Set status",