From 9d845e98a2a5cda8aaa22f581e28506a627dca43 Mon Sep 17 00:00:00 2001 From: elijah Date: Tue, 8 Nov 2016 13:55:08 -0800 Subject: ui: auto-initialize provider when logging in from the greeter --- ui/app/components/greeter_panel.js | 5 +++-- ui/app/components/login.js | 3 ++- ui/app/models/account.js | 8 +++++--- 3 files changed, 10 insertions(+), 6 deletions(-) (limited to 'ui') diff --git a/ui/app/components/greeter_panel.js b/ui/app/components/greeter_panel.js index c95b183..acaf0d5 100644 --- a/ui/app/components/greeter_panel.js +++ b/ui/app/components/greeter_panel.js @@ -17,7 +17,7 @@ export default class GreeterPanel extends React.Component { } onLogin(account) { - App.show('main', {initialAccount: account}) + App.start() } render () { @@ -25,7 +25,8 @@ export default class GreeterPanel extends React.Component {
- + diff --git a/ui/app/components/login.js b/ui/app/components/login.js index 9ff6541..0a47d58 100644 --- a/ui/app/components/login.js +++ b/ui/app/components/login.js @@ -14,6 +14,7 @@ class Login extends React.Component { static get defaultProps() {return{ rememberAllowed: false, // if set, show remember password checkbox + autoAllowed: false, // if set, allow auto setup of provider domain: null, // if set, only allow this domain address: null, // if set, only allow this username@domain onLogin: null, // callback @@ -391,7 +392,7 @@ class Login extends React.Component { doLogin() { let account = Account.findOrAdd(this.state.username) - account.login(this.state.password).then( + account.login(this.state.password, this.props.autoAllowed).then( account => { this.setState({loading: false}) if (this.props.onLogin) { diff --git a/ui/app/models/account.js b/ui/app/models/account.js index cb008cc..e93d757 100644 --- a/ui/app/models/account.js +++ b/ui/app/models/account.js @@ -53,8 +53,8 @@ export default class Account { // // returns a promise, fulfill is passed account object // - login(password) { - return bitmask.bonafide.user.auth(this.address, password).then( + login(password, autoSetupProvider=false) { + return bitmask.bonafide.user.auth(this.address, password, autoSetupProvider).then( response => { if (response.uuid) { this._uuid = response.uuid @@ -145,7 +145,9 @@ export default class Account { Account.list = Account.list.filter(i => { return i.id != account.id }) - if (index >= Account.list.length) { + if (Account.list.length == 0) { + return null + } else if (index >= Account.list.length) { index = index - 1 } else if (index == -1) { index = 0 -- cgit v1.2.3