diff --git a/src/components/views/rooms/RoomPreviewBar.js b/src/components/views/rooms/RoomPreviewBar.js
index 55c39d3947..5d79463112 100644
--- a/src/components/views/rooms/RoomPreviewBar.js
+++ b/src/components/views/rooms/RoomPreviewBar.js
@@ -24,7 +24,6 @@ import MatrixClientPeg from '../../../MatrixClientPeg';
import dis from '../../../dispatcher';
import classNames from 'classnames';
import { _t } from '../../../languageHandler';
-import {getUserNameColorClass} from '../../../utils/FormattingUtils';
const MessageCase = Object.freeze({
NotLoggedIn: "NotLoggedIn",
@@ -105,12 +104,6 @@ module.exports = React.createClass({
}
},
- _onInviterClick(evt) {
- evt.preventDefault();
- const member = this._getInviteMember();
- dis.dispatch({action: 'view_user_info', userId: member.userId});
- },
-
_getMessageCase() {
const isGuest = MatrixClientPeg.get().isGuest();
@@ -118,8 +111,7 @@ module.exports = React.createClass({
return MessageCase.NotLoggedIn;
}
- const myMember = this.props.room &&
- this.props.room.getMember(MatrixClientPeg.get().getUserId());
+ const myMember = this._getMyMember();
if (myMember) {
if (myMember.isKicked()) {
@@ -158,9 +150,7 @@ module.exports = React.createClass({
},
_getKickOrBanInfo() {
- const myMember = this.props.room ?
- this.props.room.getMember(MatrixClientPeg.get().getUserId()) :
- null;
+ const myMember = this._getMyMember();
if (!myMember) {
return {};
}
@@ -194,6 +184,13 @@ module.exports = React.createClass({
}
},
+ _getMyMember() {
+ return (
+ this.props.room &&
+ this.props.room.getMember(MatrixClientPeg.get().getUserId())
+ );
+ },
+
_getInviteMember: function() {
const {room} = this.props;
if (!room) {
@@ -208,6 +205,16 @@ module.exports = React.createClass({
return room.currentState.getMember(inviterUserId);
},
+ _isDMInvite() {
+ const myMember = this._getMyMember();
+ if (!myMember) {
+ return false;
+ }
+ const memberEvent = myMember.events.member;
+ const memberContent = memberEvent.getContent();
+ return memberContent.membership === "invite" && memberContent.is_direct;
+ },
+
onLoginClick: function() {
dis.dispatch({ action: 'start_login' });
},
@@ -279,7 +286,8 @@ module.exports = React.createClass({
break;
}
case MessageCase.OtherThreePIDError: {
- title = _t("Something went wrong with your invite to this room");
+ title = _t("Something went wrong with your invite to %(roomName)s",
+ {roomName: this._roomName()});
const joinRule = this._joinRule();
const errCodeMessage = _t("%(errcode)s was returned while trying to valide your invite. You could try to pass this information on to a room admin.",
{errcode: this.state.threePidFetchError.errcode},
@@ -305,14 +313,19 @@ module.exports = React.createClass({
break;
}
case MessageCase.InvitedEmailMismatch: {
- title = _t("The room invite wasn't sent to your account");
+ title = _t("This invite to %(roomName)s wasn't sent to your account",
+ {roomName: this._roomName()});
const joinRule = this._joinRule();
if (joinRule === "public") {
subTitle = _t("You can still join it because this is a public room.");
primaryActionLabel = _t("Join the discussion");
primaryActionHandler = this.props.onJoinClick;
} else {
- subTitle = _t("Sign in with a different account, ask for another invite, or add the e-mail address %(email)s to this account.", {email: this.props.invitedEmail});
+ subTitle = _t(
+ "Sign in with a different account, ask for another invite, or " +
+ "add the e-mail address %(email)s to this account.",
+ {email: this.props.invitedEmail},
+ );
if (joinRule !== "invite") {
primaryActionLabel = _t("Try to join anyway");
primaryActionHandler = this.props.onJoinClick;
@@ -321,26 +334,29 @@ module.exports = React.createClass({
break;
}
case MessageCase.Invite: {
+ const RoomAvatar = sdk.getComponent("views.avatars.RoomAvatar");
+ const avatar = ;
+
const inviteMember = this._getInviteMember();
- let avatar;
let inviterElement;
if (inviteMember) {
- const MemberAvatar = sdk.getComponent("views.avatars.MemberAvatar");
- avatar = ();
- const inviterClasses = [
- "mx_RoomPreviewBar_inviter",
- getUserNameColorClass(inviteMember.userId),
- ].join(" ");
- inviterElement = (
-
- {inviteMember.name}
-
- );
+ inviterElement =
+
+ {inviteMember.rawDisplayName}
+ ({inviteMember.userId})
+ ;
} else {
inviterElement = ({this.props.inviterName});
}
- title = _t("Do you want to join this room?");
+ const isDM = this._isDMInvite();
+ if (isDM) {
+ title = _t("Do you want to chat with %(user)s?",
+ { user: inviteMember.name });
+ } else {
+ title = _t("Do you want to join %(roomName)s?",
+ { roomName: this._roomName() });
+ }
subTitle = [
avatar,
_t(" invited you", {}, {userName: () => inviterElement}),
@@ -354,7 +370,8 @@ module.exports = React.createClass({
}
case MessageCase.ViewingRoom: {
if (this.props.canPreview) {
- title = _t("You're previewing this room. Want to join it?");
+ title = _t("You're previewing %(roomName)s. Want to join it?",
+ {roomName: this._roomName()});
} else {
title = _t("%(roomName)s can't be previewed. Do you want to join it?",
{roomName: this._roomName(true)});
@@ -372,7 +389,10 @@ module.exports = React.createClass({
title = _t("%(roomName)s is not accessible at this time.", {roomName: this._roomName(true)});
subTitle = [
_t("Try again later, or ask a room admin to check if you have access."),
- _t("%(errcode)s was returned while trying to access the room. If you think you're seeing this message in error, please submit a bug report.",
+ _t(
+ "%(errcode)s was returned while trying to access the room. " +
+ "If you think you're seeing this message in error, please " +
+ "submit a bug report.",
{ errcode: this.props.error.errcode },
{ issueLink: label => { label } },
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
index d7d2b108a2..162e20dcf7 100644
--- a/src/i18n/strings/en_EN.json
+++ b/src/i18n/strings/en_EN.json
@@ -803,18 +803,19 @@
"Forget this room": "Forget this room",
"Re-join": "Re-join",
"You were banned from %(roomName)s by %(memberName)s": "You were banned from %(roomName)s by %(memberName)s",
- "Something went wrong with your invite to this room": "Something went wrong with your invite to this room",
+ "Something went wrong with your invite to %(roomName)s": "Something went wrong with your invite to %(roomName)s",
"%(errcode)s was returned while trying to valide your invite. You could try to pass this information on to a room admin.": "%(errcode)s was returned while trying to valide your invite. You could try to pass this information on to a room admin.",
"You can only join it with a working invite.": "You can only join it with a working invite.",
"You can still join it because this is a public room.": "You can still join it because this is a public room.",
"Join the discussion": "Join the discussion",
"Try to join anyway": "Try to join anyway",
- "The room invite wasn't sent to your account": "The room invite wasn't sent to your account",
+ "This invite to %(roomName)s wasn't sent to your account": "This invite to %(roomName)s wasn't sent to your account",
"Sign in with a different account, ask for another invite, or add the e-mail address %(email)s to this account.": "Sign in with a different account, ask for another invite, or add the e-mail address %(email)s to this account.",
- "Do you want to join this room?": "Do you want to join this room?",
+ "Do you want to chat with %(user)s?": "Do you want to chat with %(user)s?",
+ "Do you want to join %(roomName)s?": "Do you want to join %(roomName)s?",
" invited you": " invited you",
"Reject": "Reject",
- "You're previewing this room. Want to join it?": "You're previewing this room. Want to join it?",
+ "You're previewing %(roomName)s. Want to join it?": "You're previewing %(roomName)s. Want to join it?",
"%(roomName)s can't be previewed. Do you want to join it?": "%(roomName)s can't be previewed. Do you want to join it?",
"%(roomName)s does not exist.": "%(roomName)s does not exist.",
"This room doesn't exist. Are you sure you're at the right place?": "This room doesn't exist. Are you sure you're at the right place?",