Merge pull request #2936 from jryans/preview-bar-fire
Add important info to new preview bar
This commit is contained in:
commit
6db12f84df
2 changed files with 55 additions and 34 deletions
|
@ -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 = <RoomAvatar room={this.props.room} />;
|
||||
|
||||
const inviteMember = this._getInviteMember();
|
||||
let avatar;
|
||||
let inviterElement;
|
||||
if (inviteMember) {
|
||||
const MemberAvatar = sdk.getComponent("views.avatars.MemberAvatar");
|
||||
avatar = (<MemberAvatar member={inviteMember} onClick={this._onInviterClick} />);
|
||||
const inviterClasses = [
|
||||
"mx_RoomPreviewBar_inviter",
|
||||
getUserNameColorClass(inviteMember.userId),
|
||||
].join(" ");
|
||||
inviterElement = (
|
||||
<a onClick={this._onInviterClick} className={inviterClasses}>
|
||||
{inviteMember.name}
|
||||
</a>
|
||||
);
|
||||
inviterElement = <span>
|
||||
<span className="mx_RoomPreviewBar_inviter">
|
||||
{inviteMember.rawDisplayName}
|
||||
</span> ({inviteMember.userId})
|
||||
</span>;
|
||||
} else {
|
||||
inviterElement = (<span className="mx_RoomPreviewBar_inviter">{this.props.inviterName}</span>);
|
||||
}
|
||||
|
||||
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("<userName/> 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 <issueLink>submit a bug report</issueLink>.",
|
||||
_t(
|
||||
"%(errcode)s was returned while trying to access the room. " +
|
||||
"If you think you're seeing this message in error, please " +
|
||||
"<issueLink>submit a bug report</issueLink>.",
|
||||
{ errcode: this.props.error.errcode },
|
||||
{ issueLink: label => <a href="https://github.com/vector-im/riot-web/issues/new/choose"
|
||||
target="_blank" rel="noopener">{ label }</a> },
|
||||
|
|
|
@ -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?",
|
||||
"<userName/> invited you": "<userName/> 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?",
|
||||
|
|
Loading…
Reference in a new issue