diff --git a/src/skins/vector/skindex.js b/src/skins/vector/skindex.js
index 3ee4caec97..84f26499e5 100644
--- a/src/skins/vector/skindex.js
+++ b/src/skins/vector/skindex.js
@@ -86,8 +86,7 @@ skin['organisms.UserSettings'] = require('./views/organisms/UserSettings');
skin['organisms.ViewSource'] = require('./views/organisms/ViewSource');
skin['pages.CompatibilityPage'] = require('./views/pages/CompatibilityPage');
skin['pages.MatrixChat'] = require('./views/pages/MatrixChat');
-skin['pages.LoginPage'] = require('./views/pages/LoginPage');
-skin['templates.Login'] = require('./views/templates/Login');
+skin['pages.Login'] = require('./views/pages/Login');
skin['templates.Register'] = require('./views/templates/Register');
module.exports = skin;
\ No newline at end of file
diff --git a/src/skins/vector/views/pages/LoginPage.js b/src/skins/vector/views/pages/Login.js
similarity index 99%
rename from src/skins/vector/views/pages/LoginPage.js
rename to src/skins/vector/views/pages/Login.js
index bfd2d4b936..26c243a70e 100644
--- a/src/skins/vector/views/pages/LoginPage.js
+++ b/src/skins/vector/views/pages/Login.js
@@ -26,7 +26,7 @@ var CasLogin = require("matrix-react-sdk/lib/components/CasLogin");
/**
* A wire component which glues together login UI components and Signup logic
*/
-module.exports = React.createClass({displayName: 'LoginPage',
+module.exports = React.createClass({displayName: 'Login',
propTypes: {
onLoggedIn: React.PropTypes.func.isRequired,
homeserverUrl: React.PropTypes.string,
diff --git a/src/skins/vector/views/pages/MatrixChat.js b/src/skins/vector/views/pages/MatrixChat.js
index 0fea1f3630..f8708f0e01 100644
--- a/src/skins/vector/views/pages/MatrixChat.js
+++ b/src/skins/vector/views/pages/MatrixChat.js
@@ -97,7 +97,6 @@ module.exports = React.createClass({
var LeftPanel = sdk.getComponent('organisms.LeftPanel');
var RoomView = sdk.getComponent('organisms.RoomView');
var RightPanel = sdk.getComponent('organisms.RightPanel');
- var Login = sdk.getComponent('templates.Login');
var UserSettings = sdk.getComponent('organisms.UserSettings');
var Register = sdk.getComponent('templates.Register');
var CreateRoom = sdk.getComponent('organisms.CreateRoom');
@@ -168,9 +167,9 @@ module.exports = React.createClass({
/>
);
} else {
- var LoginPage = sdk.getComponent("pages.LoginPage");
+ var Login = sdk.getComponent("pages.Login");
return (
-
+
);
}
}
diff --git a/src/skins/vector/views/templates/Login.js b/src/skins/vector/views/templates/Login.js
deleted file mode 100644
index 8bd9334e27..0000000000
--- a/src/skins/vector/views/templates/Login.js
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
-Copyright 2015 OpenMarket Ltd
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-'use strict';
-
-var React = require('react');
-var ReactDOM = require('react-dom');
-
-var sdk = require('matrix-react-sdk')
-var MatrixClientPeg = require('matrix-react-sdk/lib/MatrixClientPeg');
-
-var LoginController = require('matrix-react-sdk/lib/controllers/templates/Login')
-
-var config = require('../../../../../config.json');
-
-module.exports = React.createClass({
- displayName: 'Login',
- mixins: [LoginController],
-
- getInitialState: function() {
- // TODO: factor out all localstorage stuff into its own home.
- // This is common to Login, Register and MatrixClientPeg
- var localStorage = window.localStorage;
- var hs_url, is_url;
- if (localStorage) {
- hs_url = localStorage.getItem("mx_hs_url");
- is_url = localStorage.getItem("mx_is_url");
- }
-
- return {
- customHsUrl: hs_url || config.default_hs_url,
- customIsUrl: is_url || config.default_is_url,
- serverConfigVisible: (hs_url && hs_url !== config.default_hs_url ||
- is_url && is_url !== config.default_is_url)
- };
- },
-
- componentDidMount: function() {
- this.onHSChosen();
- },
-
- componentDidUpdate: function() {
- if (!this.state.focusFired && this.refs.user) {
- this.refs.user.focus();
- this.setState({ focusFired: true });
- }
- },
-
- getHsUrl: function() {
- if (this.state.serverConfigVisible) {
- return this.state.customHsUrl;
- } else {
- return config.default_hs_url;
- }
- },
-
- getIsUrl: function() {
- if (this.state.serverConfigVisible) {
- return this.state.customIsUrl;
- } else {
- return config.default_is_url;
- }
- },
-
- onServerConfigVisibleChange: function(ev) {
- this.setState({
- serverConfigVisible: ev.target.checked
- }, this.onHSChosen);
- },
-
- /**
- * Gets the form field values for the current login stage
- */
- getFormVals: function() {
- return {
- 'username': this.refs.user.value.trim(),
- 'password': this.refs.pass.value.trim()
- };
- },
-
- onHsUrlChanged: function() {
- var newHsUrl = this.refs.serverConfig.getHsUrl().trim();
- var newIsUrl = this.refs.serverConfig.getIsUrl().trim();
-
- if (newHsUrl == this.state.customHsUrl &&
- newIsUrl == this.state.customIsUrl)
- {
- return;
- }
- else {
- this.setState({
- customHsUrl: newHsUrl,
- customIsUrl: newIsUrl,
- });
- }
-
- // XXX: why are we replacing the MatrixClientPeg here when we're about
- // to do it again 1s later in the setTimeout to onHSChosen? -- matthew
- // Commenting it out for now to see what breaks.
- /*
- MatrixClientPeg.replaceUsingUrls(
- this.getHsUrl(),
- this.getIsUrl()
- );
- this.setState({
- hs_url: this.getHsUrl(),
- is_url: this.getIsUrl()
- });
- */
-
- // XXX: HSes do not have to offer password auth, so we
- // need to update and maybe show a different component
- // when a new HS is entered.
- if (this.updateHsTimeout) {
- clearTimeout(this.updateHsTimeout);
- }
- var self = this;
- this.updateHsTimeout = setTimeout(function() {
- self.onHSChosen();
- }, 1000);
- },
-
- componentForStep: function(step) {
- switch (step) {
- case 'choose_hs':
- case 'fetch_stages':
- var serverConfigStyle = {};
- serverConfigStyle.display = this.state.serverConfigVisible ? 'block' : 'none';
- var ServerConfig = sdk.getComponent("molecules.ServerConfig");
-
- return (
-
-
-
-
-
-
-
- );
- // XXX: clearly these should be separate organisms
- case 'stage_m.login.password':
- return (
-
-
-
- );
- case 'stage_m.login.cas':
- var CasLogin = sdk.getComponent('organisms.CasLogin');
- return (
-
- );
- }
- },
-
- onUsernameChanged: function(ev) {
- this.setState({username: ev.target.value});
- },
-
- onPasswordChanged: function(ev) {
- this.setState({password: ev.target.value});
- },
-
- loginContent: function() {
- var Loader = sdk.getComponent("atoms.Spinner");
- var loader = this.state.busy ?
: null;
- return (
-
-
Sign in
- {this.componentForStep(this.state.step)}
-
- { loader }
- {this.state.errorText}
-
-
Create a new account
-
-
-
- );
- },
-
- render: function() {
- return (
-
-
-
-

-
- {this.loginContent()}
-
-
- );
- }
-});