diff --git a/src/components/structures/HomePage.js b/src/components/structures/HomePage.js
index 01aabf6115..8f0c270513 100644
--- a/src/components/structures/HomePage.js
+++ b/src/components/structures/HomePage.js
@@ -91,11 +91,15 @@ class HomePage extends React.Component {
this._unmounted = true;
}
- onLoginClick() {
+ onLoginClick(ev) {
+ ev.preventDefault();
+ ev.stopPropagation();
dis.dispatch({ action: 'start_login' });
}
- onRegisterClick() {
+ onRegisterClick(ev) {
+ ev.preventDefault();
+ ev.stopPropagation();
dis.dispatch({ action: 'start_registration' });
}
diff --git a/src/components/structures/MatrixChat.js b/src/components/structures/MatrixChat.js
index b01174a91c..a03265da1c 100644
--- a/src/components/structures/MatrixChat.js
+++ b/src/components/structures/MatrixChat.js
@@ -927,6 +927,10 @@ export default React.createClass({
},
_viewHome: function() {
+ // The home page requires the "logged in" view, so we'll set that.
+ this.setStateForNewView({
+ view: VIEWS.LOGGED_IN,
+ });
this._setPage(PageTypes.HomePage);
this.notifyNewScreen('home');
},
@@ -1183,10 +1187,7 @@ export default React.createClass({
* @param {string} teamToken
*/
_onLoggedIn: async function(teamToken) {
- this.setState({
- view: VIEWS.LOGGED_IN,
- });
-
+ this.setStateForNewView({view: VIEWS.LOGGED_IN});
if (teamToken) {
// A team member has logged in, not a guest
this._teamToken = teamToken;
diff --git a/src/components/structures/login/ForgotPassword.js b/src/components/structures/login/ForgotPassword.js
index 559136948a..5c0e428339 100644
--- a/src/components/structures/login/ForgotPassword.js
+++ b/src/components/structures/login/ForgotPassword.js
@@ -162,6 +162,18 @@ module.exports = React.createClass({
this.setState(newState);
},
+ onLoginClick: function(ev) {
+ ev.preventDefault();
+ ev.stopPropagation();
+ this.props.onLoginClick();
+ },
+
+ onRegisterClick: function(ev) {
+ ev.preventDefault();
+ ev.stopPropagation();
+ this.props.onRegisterClick();
+ },
+
showErrorDialog: function(body, title) {
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createTrackedDialog('Forgot Password Error', '', ErrorDialog, {
@@ -253,10 +265,10 @@ module.exports = React.createClass({
{ serverConfigSection }
{ errorText }
-
+
{ _t('Return to login screen') }
-
+
{ _t('Create an account') }
diff --git a/src/components/structures/login/Login.js b/src/components/structures/login/Login.js
index b94a1759cf..321084389b 100644
--- a/src/components/structures/login/Login.js
+++ b/src/components/structures/login/Login.js
@@ -214,7 +214,10 @@ module.exports = React.createClass({
}).done();
},
- _onLoginAsGuestClick: function() {
+ _onLoginAsGuestClick: function(ev) {
+ ev.preventDefault();
+ ev.stopPropagation();
+
const self = this;
self.setState({
busy: true,
@@ -297,6 +300,12 @@ module.exports = React.createClass({
});
},
+ onRegisterClick: function(ev) {
+ ev.preventDefault();
+ ev.stopPropagation();
+ this.props.onRegisterClick();
+ },
+
_tryWellKnownDiscovery: async function(serverName) {
if (!serverName.trim()) {
// Nothing to discover
@@ -567,7 +576,7 @@ module.exports = React.createClass({
{ errorTextSection }
{ this.componentForStep(this.state.currentFlow) }
{ serverConfig }
-
+
{ _t('Create an account') }
{ loginAsGuestJsx }
diff --git a/src/components/structures/login/Registration.js b/src/components/structures/login/Registration.js
index ad3ea5f19c..fa5a02e881 100644
--- a/src/components/structures/login/Registration.js
+++ b/src/components/structures/login/Registration.js
@@ -363,6 +363,12 @@ module.exports = React.createClass({
}
},
+ onLoginClick: function(ev) {
+ ev.preventDefault();
+ ev.stopPropagation();
+ this.props.onLoginClick();
+ },
+
_makeRegisterRequest: function(auth) {
// Only send the bind params if we're sending username / pw params
// (Since we need to send no params at all to use the ones saved in the
@@ -468,7 +474,7 @@ module.exports = React.createClass({
let signIn;
if (!this.state.doingUIAuth) {
signIn = (
-
+
{ theme === 'status' ? _t('Sign in') : _t('I already have an account') }
);