From 1edea2a62cb23052bcc5714762c72a2402c70c3a Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Fri, 20 Nov 2015 12:02:23 +0000 Subject: [PATCH] Add a PostRegistration component; hook it up to MatrixChat. --- src/components/login/Registration.js | 21 +------------------- src/skins/vector/views/pages/MatrixChat.js | 23 ++++++++++++++++++++-- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/components/login/Registration.js b/src/components/login/Registration.js index 8fda406d4..b06f9ffef 100644 --- a/src/components/login/Registration.js +++ b/src/components/login/Registration.js @@ -173,31 +173,12 @@ module.exports = React.createClass({ }); }, - // TODO: - // This should really be a different component which MatrixChat then - // instantiates rather than having it pollute registration logic. There is - // no reason to wedge them together here. This function is currently NOT CALLED. - _getPostRegisterJsx: function() { - var ChangeDisplayName = sdk.getComponent('molecules.ChangeDisplayName'); - var ChangeAvatar = sdk.getComponent('molecules.ChangeAvatar'); - return ( -
- Set a display name: - - Upload an avatar: - - -
- ); - }, - _getRegisterContentJsx: function() { var currStep = this.registerLogic.getStep(); var registerStep; switch (currStep) { case "Register.COMPLETE": - return; // this._getPostRegisterJsx(); + break; // NOP case "Register.START": case "Register.STEP_m.login.dummy": registerStep = ( diff --git a/src/skins/vector/views/pages/MatrixChat.js b/src/skins/vector/views/pages/MatrixChat.js index 81268d5ad..9690533f5 100644 --- a/src/skins/vector/views/pages/MatrixChat.js +++ b/src/skins/vector/views/pages/MatrixChat.js @@ -27,6 +27,7 @@ var Matrix = require("matrix-js-sdk"); var ContextualMenu = require("../../../../ContextualMenu"); var Login = require("../../../../components/login/Login"); var Registration = require("../../../../components/login/Registration"); +var PostRegistration = require("../../../../components/login/PostRegistration"); var config = require("../../../../../config.json"); module.exports = React.createClass({ @@ -109,6 +110,17 @@ module.exports = React.createClass({ this.showScreen("login"); }, + onRegistered: function(credentials) { + this.onLoggedIn(credentials); + // do post-registration stuff + this.showScreen("post_registration"); + }, + + onFinishPostRegistration: function() { + console.log("onFinishPostRegistration"); + this.showScreen("settings"); + }, + render: function() { var LeftPanel = sdk.getComponent('organisms.LeftPanel'); var RoomView = sdk.getComponent('organisms.RoomView'); @@ -119,7 +131,14 @@ module.exports = React.createClass({ var MatrixToolbar = sdk.getComponent('molecules.MatrixToolbar'); var Notifier = sdk.getComponent('organisms.Notifier'); - if (this.state.logged_in && this.state.ready) { + // needs to be before normal PageTypes as you are logged in technically + if (this.state.screen == 'post_registration') { + return ( + + ); + } + else if (this.state.logged_in && this.state.ready) { var page_element; var right_panel = ""; @@ -185,7 +204,7 @@ module.exports = React.createClass({ hsUrl={config.default_hs_url} isUrl={config.default_is_url} registrationUrl={this.props.registrationUrl} - onLoggedIn={this.onLoggedIn} + onLoggedIn={this.onRegistered} onLoginClick={this.onLoginClick} /> ); } else {