diff options
| -rw-r--r-- | app/components/Login.js | 4 | ||||
| -rw-r--r-- | app/containers/ConnectPage.js | 11 | ||||
| -rw-r--r-- | app/containers/LoginPage.js | 15 | ||||
| -rw-r--r-- | app/containers/SelectLocationPage.js | 7 | ||||
| -rw-r--r-- | app/containers/SettingsPage.js | 10 | ||||
| -rw-r--r-- | app/lib/formatters.js | 16 | ||||
| -rw-r--r-- | app/reducers/user.js | 2 |
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 }; |
