summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--app/components/Login.js4
-rw-r--r--app/containers/ConnectPage.js11
-rw-r--r--app/containers/LoginPage.js15
-rw-r--r--app/containers/SelectLocationPage.js7
-rw-r--r--app/containers/SettingsPage.js10
-rw-r--r--app/lib/formatters.js16
-rw-r--r--app/reducers/user.js2
7 files changed, 31 insertions, 34 deletions
diff --git a/app/components/Login.js b/app/components/Login.js
index 0dc74100c6..074518b7d7 100644
--- a/app/components/Login.js
+++ b/app/components/Login.js
@@ -108,7 +108,7 @@ export default class Login extends Component {
submitClass(user) {
const classes = ['login-form__submit'];
- if(user.account.length > 0) {
+ if(typeof(user.account) === 'string' && user.account.length > 0) {
classes.push('login-form__submit--active');
}
@@ -123,7 +123,7 @@ export default class Login extends Component {
const { account, status, error } = this.props.user;
const title = this.formTitle(status);
const subtitle = this.formSubtitle(status, error);
- const displayAccount = formatAccount(account);
+ const displayAccount = formatAccount(account || '');
const isConnecting = status === LoginState.connecting;
const isFailed = status === LoginState.failed;
const isLoggedIn = status === LoginState.ok;
diff --git a/app/containers/ConnectPage.js b/app/containers/ConnectPage.js
index 5444190609..7fdd570a69 100644
--- a/app/containers/ConnectPage.js
+++ b/app/containers/ConnectPage.js
@@ -1,14 +1,19 @@
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
import Connect from '../components/Connect';
-import userActions from '../actions/user';
+import connectActions from '../actions/connect';
const mapStateToProps = (state) => {
return state;
};
-const mapDispatchToProps = (dispatch) => {
- return {};
+const mapDispatchToProps = (dispatch, props) => {
+ const { connect, disconnect } = bindActionCreators(connectActions, dispatch);
+ const { backend } = props;
+ return {
+ onConnect: (addr) => connect(backend, addr),
+ onDisconnect: () => disconnect(backend)
+ };
};
export default connect(mapStateToProps, mapDispatchToProps)(Connect);
diff --git a/app/containers/LoginPage.js b/app/containers/LoginPage.js
index 0e6df5df47..905eaa78a5 100644
--- a/app/containers/LoginPage.js
+++ b/app/containers/LoginPage.js
@@ -9,17 +9,12 @@ const mapStateToProps = (state) => {
};
const mapDispatchToProps = (dispatch, props) => {
- const user = bindActionCreators(userActions, dispatch);
+ const { loginChange, login } = bindActionCreators(userActions, dispatch);
+ const { backend } = props;
return {
- onLogin: (account) => {
- return user.login(props.backend, account);
- },
- onChange: (account) => {
- return user.loginChange({ account });
- },
- onFirstChangeAfterFailure: () => {
- return user.loginChange({ status: LoginState.none, error: null });
- }
+ onLogin: (account) => login(backend, account),
+ onChange: (account) => loginChange({ account }),
+ onFirstChangeAfterFailure: () => loginChange({ status: LoginState.none, error: null })
};
};
diff --git a/app/containers/SelectLocationPage.js b/app/containers/SelectLocationPage.js
index 0610bc300b..c9bef71f6f 100644
--- a/app/containers/SelectLocationPage.js
+++ b/app/containers/SelectLocationPage.js
@@ -1,7 +1,6 @@
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
import SelectLocation from '../components/SelectLocation';
-import connectActions from '../actions/connect';
import settingsActions from '../actions/settings';
const mapStateToProps = (state) => {
@@ -9,11 +8,7 @@ const mapStateToProps = (state) => {
};
const mapDispatchToProps = (dispatch, props) => {
- const user = bindActionCreators(connectActions, dispatch);
- const settings = bindActionCreators(settingsActions, dispatch);
- return {
- updateSettings: settings.updateSettings
- };
+ return bindActionCreators(settingsActions, dispatch);
};
export default connect(mapStateToProps, mapDispatchToProps)(SelectLocation);
diff --git a/app/containers/SettingsPage.js b/app/containers/SettingsPage.js
index 5489eb5238..3b014886e1 100644
--- a/app/containers/SettingsPage.js
+++ b/app/containers/SettingsPage.js
@@ -9,13 +9,11 @@ const mapStateToProps = (state) => {
};
const mapDispatchToProps = (dispatch, props) => {
- const user = bindActionCreators(userActions, dispatch);
- const settings = bindActionCreators(settingsActions, dispatch);
+ const { logout } = bindActionCreators(userActions, dispatch);
+ const { updateSettings } = bindActionCreators(settingsActions, dispatch);
return {
- logout: () => {
- return user.logout(props.backend);
- },
- updateSettings: settings.updateSettings
+ logout: () => logout(props.backend),
+ updateSettings
};
};
diff --git a/app/lib/formatters.js b/app/lib/formatters.js
index b850b20393..966d9976bf 100644
--- a/app/lib/formatters.js
+++ b/app/lib/formatters.js
@@ -1,9 +1,13 @@
+import assert from 'assert';
+
export const formatAccount = (val) => {
- // display number altogether when longer than 12
- if(val.length > 12) {
- return val;
- }
+ assert(typeof(val) === 'string');
+
+ // display number altogether when longer than 12
+ if(val.length > 12) {
+ return val;
+ }
- // display quartets
- return val.replace(/([0-9]{4})/g, '$1 ').trim();
+ // display quartets
+ return val.replace(/([0-9]{4})/g, '$1 ').trim();
};
diff --git a/app/reducers/user.js b/app/reducers/user.js
index fd667e0c2c..5c1727b864 100644
--- a/app/reducers/user.js
+++ b/app/reducers/user.js
@@ -5,7 +5,7 @@ import actions from '../actions/user';
import { LoginState } from '../constants';
const initialState = {
- account: '',
+ account: null,
status: LoginState.none,
error: null
};