Merge pull request #3083 from matrix-org/dbkr/remember_invited_room
Remember we were trying to accept an invite
This commit is contained in:
commit
f620b712fb
3 changed files with 28 additions and 2 deletions
|
@ -2,6 +2,7 @@
|
||||||
Copyright 2015, 2016 OpenMarket Ltd
|
Copyright 2015, 2016 OpenMarket Ltd
|
||||||
Copyright 2017 Vector Creations Ltd
|
Copyright 2017 Vector Creations Ltd
|
||||||
Copyright 2017-2019 New Vector Ltd
|
Copyright 2017-2019 New Vector Ltd
|
||||||
|
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
|
@ -435,9 +436,15 @@ export default React.createClass({
|
||||||
break;
|
break;
|
||||||
case 'start_registration':
|
case 'start_registration':
|
||||||
// This starts the full registration flow
|
// This starts the full registration flow
|
||||||
|
if (payload.screenAfterLogin) {
|
||||||
|
this._screenAfterLogin = payload.screenAfterLogin;
|
||||||
|
}
|
||||||
this._startRegistration(payload.params || {});
|
this._startRegistration(payload.params || {});
|
||||||
break;
|
break;
|
||||||
case 'start_login':
|
case 'start_login':
|
||||||
|
if (payload.screenAfterLogin) {
|
||||||
|
this._screenAfterLogin = payload.screenAfterLogin;
|
||||||
|
}
|
||||||
this.setStateForNewView({
|
this.setStateForNewView({
|
||||||
view: VIEWS.LOGIN,
|
view: VIEWS.LOGIN,
|
||||||
});
|
});
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
Copyright 2015, 2016 OpenMarket Ltd
|
Copyright 2015, 2016 OpenMarket Ltd
|
||||||
Copyright 2017 Vector Creations Ltd
|
Copyright 2017 Vector Creations Ltd
|
||||||
Copyright 2018, 2019 New Vector Ltd
|
Copyright 2018, 2019 New Vector Ltd
|
||||||
|
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
|
@ -1552,6 +1553,7 @@ module.exports = React.createClass({
|
||||||
inviterName={inviterName}
|
inviterName={inviterName}
|
||||||
invitedEmail={invitedEmail}
|
invitedEmail={invitedEmail}
|
||||||
oobData={this.props.oobData}
|
oobData={this.props.oobData}
|
||||||
|
signUrl={this.props.thirdPartyInvite ? this.props.thirdPartyInvite.inviteSignUrl : null}
|
||||||
room={this.state.room}
|
room={this.state.room}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
/*
|
/*
|
||||||
Copyright 2015, 2016 OpenMarket Ltd
|
Copyright 2015, 2016 OpenMarket Ltd
|
||||||
Copyright 2017 Vector Creations Ltd
|
Copyright 2017 Vector Creations Ltd
|
||||||
|
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
|
@ -57,6 +58,9 @@ module.exports = React.createClass({
|
||||||
// For third party invites, information passed about the room out-of-band
|
// For third party invites, information passed about the room out-of-band
|
||||||
oobData: PropTypes.object,
|
oobData: PropTypes.object,
|
||||||
|
|
||||||
|
// For third party invites, a URL for a 3pid invite signing service
|
||||||
|
signUrl: PropTypes.string,
|
||||||
|
|
||||||
// A standard client/server API error object. If supplied, indicates that the
|
// A standard client/server API error object. If supplied, indicates that the
|
||||||
// caller was unable to fetch details about the room for the given reason.
|
// caller was unable to fetch details about the room for the given reason.
|
||||||
error: PropTypes.object,
|
error: PropTypes.object,
|
||||||
|
@ -228,12 +232,25 @@ module.exports = React.createClass({
|
||||||
return memberContent.membership === "invite" && memberContent.is_direct;
|
return memberContent.membership === "invite" && memberContent.is_direct;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_makeScreenAfterLogin() {
|
||||||
|
return {
|
||||||
|
screen: 'room',
|
||||||
|
params: {
|
||||||
|
email: this.props.invitedEmail,
|
||||||
|
signurl: this.props.signUrl,
|
||||||
|
room_name: this.props.oobData.room_name,
|
||||||
|
room_avatar_url: this.props.oobData.avatarUrl,
|
||||||
|
inviter_name: this.props.oobData.inviterName,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
onLoginClick: function() {
|
onLoginClick: function() {
|
||||||
dis.dispatch({ action: 'start_login' });
|
dis.dispatch({ action: 'start_login', screenAfterLogin: this._makeScreenAfterLogin() });
|
||||||
},
|
},
|
||||||
|
|
||||||
onRegisterClick: function() {
|
onRegisterClick: function() {
|
||||||
dis.dispatch({ action: 'start_registration' });
|
dis.dispatch({ action: 'start_registration', screenAfterLogin: this._makeScreenAfterLogin() });
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function() {
|
render: function() {
|
||||||
|
|
Loading…
Reference in a new issue