Remember we were trying to accept an invite
When the user was on an invite page and clicked the sign up/sign in buttons, remember that invite so we can show it again after they're done signing up/in. https://github.com/vector-im/riot-web/issues/9816pull/21833/head
							parent
							
								
									41cbfe0d27
								
							
						
					
					
						commit
						80812db466
					
				| 
						 | 
				
			
			@ -2,6 +2,7 @@
 | 
			
		|||
Copyright 2015, 2016 OpenMarket Ltd
 | 
			
		||||
Copyright 2017 Vector Creations 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");
 | 
			
		||||
you may not use this file except in compliance with the License.
 | 
			
		||||
| 
						 | 
				
			
			@ -435,9 +436,15 @@ export default React.createClass({
 | 
			
		|||
                break;
 | 
			
		||||
            case 'start_registration':
 | 
			
		||||
                // This starts the full registration flow
 | 
			
		||||
                if (payload.screenAfterLogin) {
 | 
			
		||||
                    this._screenAfterLogin = payload.screenAfterLogin;
 | 
			
		||||
                }
 | 
			
		||||
                this._startRegistration(payload.params || {});
 | 
			
		||||
                break;
 | 
			
		||||
            case 'start_login':
 | 
			
		||||
                if (payload.screenAfterLogin) {
 | 
			
		||||
                    this._screenAfterLogin = payload.screenAfterLogin;
 | 
			
		||||
                }
 | 
			
		||||
                this.setStateForNewView({
 | 
			
		||||
                    view: VIEWS.LOGIN,
 | 
			
		||||
                });
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,6 +2,7 @@
 | 
			
		|||
Copyright 2015, 2016 OpenMarket Ltd
 | 
			
		||||
Copyright 2017 Vector Creations 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");
 | 
			
		||||
you may not use this file except in compliance with the License.
 | 
			
		||||
| 
						 | 
				
			
			@ -1552,6 +1553,7 @@ module.exports = React.createClass({
 | 
			
		|||
                            inviterName={inviterName}
 | 
			
		||||
                            invitedEmail={invitedEmail}
 | 
			
		||||
                            oobData={this.props.oobData}
 | 
			
		||||
                            signUrl={this.props.thirdPartyInvite.inviteSignUrl}
 | 
			
		||||
                            room={this.state.room}
 | 
			
		||||
                        />
 | 
			
		||||
                    </div>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2015, 2016 OpenMarket 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");
 | 
			
		||||
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
 | 
			
		||||
        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
 | 
			
		||||
        // caller was unable to fetch details about the room for the given reason.
 | 
			
		||||
        error: PropTypes.object,
 | 
			
		||||
| 
						 | 
				
			
			@ -228,12 +232,25 @@ module.exports = React.createClass({
 | 
			
		|||
        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() {
 | 
			
		||||
        dis.dispatch({ action: 'start_login' });
 | 
			
		||||
        dis.dispatch({ action: 'start_login', screenAfterLogin: this._makeScreenAfterLogin() });
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    onRegisterClick: function() {
 | 
			
		||||
        dis.dispatch({ action: 'start_registration' });
 | 
			
		||||
        dis.dispatch({ action: 'start_registration', screenAfterLogin: this._makeScreenAfterLogin() });
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    render: function() {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue