Use a callback prop instead of window.

This commit is contained in:
Luke Barnard 2017-02-13 14:36:03 +00:00
parent 4ac769168a
commit 16e3365240
2 changed files with 8 additions and 3 deletions

View file

@ -975,6 +975,11 @@ module.exports = React.createClass({
this._setPage(PageTypes.UserSettings); this._setPage(PageTypes.UserSettings);
}, },
onTeamMemberRegistered: function(teamToken) {
this._teamToken = teamToken;
this._setPage(PageTypes.HomePage);
},
onFinishPostRegistration: function() { onFinishPostRegistration: function() {
// Don't confuse this with "PageType" which is the middle window to show // Don't confuse this with "PageType" which is the middle window to show
this.setState({ this.setState({
@ -1103,6 +1108,7 @@ module.exports = React.createClass({
customIsUrl={this.getCurrentIsUrl()} customIsUrl={this.getCurrentIsUrl()}
registrationUrl={this.props.registrationUrl} registrationUrl={this.props.registrationUrl}
defaultDeviceDisplayName={this.props.defaultDeviceDisplayName} defaultDeviceDisplayName={this.props.defaultDeviceDisplayName}
onTeamMemberRegistered={this.onTeamMemberRegistered}
onLoggedIn={this.onRegistered} onLoggedIn={this.onRegistered}
onLoginClick={this.onLoginClick} onLoginClick={this.onLoginClick}
onRegisterClick={this.onRegisterClick} onRegisterClick={this.onRegisterClick}

View file

@ -58,6 +58,7 @@ module.exports = React.createClass({
teamServerURL: React.PropTypes.string.isRequired, teamServerURL: React.PropTypes.string.isRequired,
}), }),
teamSelected: React.PropTypes.object, teamSelected: React.PropTypes.object,
onTeamMemberRegistered: React.PropTypes.func.isRequired,
defaultDeviceDisplayName: React.PropTypes.string, defaultDeviceDisplayName: React.PropTypes.string,
@ -227,9 +228,7 @@ module.exports = React.createClass({
const teamToken = data.team_token; const teamToken = data.team_token;
// Store for use /w welcome pages // Store for use /w welcome pages
window.localStorage.setItem('mx_team_token', teamToken); window.localStorage.setItem('mx_team_token', teamToken);
// Set the team token and view homepage self.props.onTeamMemberRegistered(teamToken);
window.matrixChat._teamToken = teamToken;
window.mxDispatcher.dispatch({action: 'view_home_page'});
self._rtsClient.getTeam(teamToken).then((team) => { self._rtsClient.getTeam(teamToken).then((team) => {
console.log( console.log(