From 1a9968c1e2592be5baae4bf2c6551ad7f5228f17 Mon Sep 17 00:00:00 2001 From: elijah Date: Fri, 24 Feb 2017 20:35:24 -0800 Subject: [bug] update UI to use current API --- ui/app/app.js | 34 ++++++++++++----------- ui/app/components/main_panel/email_section.js | 39 +++++++++++++-------------- ui/app/components/main_panel/index.js | 14 +++++----- ui/app/models/account.js | 17 +++++------- 4 files changed, 50 insertions(+), 54 deletions(-) (limited to 'ui') diff --git a/ui/app/app.js b/ui/app/app.js index 05dadf1f..ea7f0f52 100644 --- a/ui/app/app.js +++ b/ui/app/app.js @@ -16,21 +16,25 @@ class Application { } start() { - Provider.list(false).then(domains => { - Account.initializeList(domains) - Account.active().then(account => { - if (account == null) { - this.show('greeter') - } else { - Account.addPrimary(account) - this.show('main', {initialAccount: account}) - } - }, error => { - this.showError(error) - }) - }, error => { - this.showError(error) - }) + Provider.list(false).then( + domains => { + Account.initializeList(domains) + Account.active().then( + accounts => { + if (0 == accounts.length) { + this.show('greeter') + } else { + accounts.forEach(account => { + Account.addActive(account) + }) + this.show('main', {initialAccount: Account.list[0]}) + } + }, + error => {this.showError(error)} + ) + }, + error => {this.showError(error)} + ) } show(panel, properties) { diff --git a/ui/app/components/main_panel/email_section.js b/ui/app/components/main_panel/email_section.js index c86188eb..e48b8e27 100644 --- a/ui/app/components/main_panel/email_section.js +++ b/ui/app/components/main_panel/email_section.js @@ -74,19 +74,15 @@ export default class EmailSection extends React.Component { } componentWillMount() { - //let events = [].concat(GENERAL_NOTICES, ACCOUNT_NOTICES, STATUSES, STATUS_ERRORS) - //for (let event of events) { - // bitmask.events.register(event, this.logEvent) - //} + let events = [].concat(GENERAL_NOTICES, ACCOUNT_NOTICES, STATUSES, STATUS_ERRORS) + for (let event of events) { + bitmask.events.register(event, this.logEvent) + } bitmask.mail.status().then(status => { - // either 'running' or 'disabled' - let newstatus = 'error' - if (status['mail'] == 'running') { - newstatus = 'on' - } else if (status['mail'] == 'disabled') { - newstatus = 'disabled' - } - this.setState({status: newstatus}) + this.setState({ + status: status.status, + error: status.error + }) }) } @@ -107,13 +103,13 @@ export default class EmailSection extends React.Component { } render () { - //let message = null - //if (this.state.error) { - // // style may be: success, warning, danger, info - // message = ( - // {this.state.error} - // ) - //} + let message = null + if (this.state.error) { + // style may be: success, warning, danger, info + message = ( + {this.state.error} + ) + } let button = null let body = null let header =

Mail

@@ -124,12 +120,13 @@ export default class EmailSection extends React.Component { header =

Mail Disabled

} if (this.state.expanded) { - body = ( + body = (
+ {message} - ) +
) } return ( - ) - } + sidePanel = ( + + ) return (
diff --git a/ui/app/models/account.js b/ui/app/models/account.js index 0251da03..3656d2c7 100644 --- a/ui/app/models/account.js +++ b/ui/app/models/account.js @@ -109,19 +109,16 @@ export default class Account { } // - // returns a promise, fullfill is passed account object + // returns a list of the authenticated accounts // static active() { - if (!bitmask.api_token()) { - return new Promise((resolve, reject) => {resolve(null)}) - } - return bitmask.bonafide.user.active().then( + return bitmask.bonafide.user.list().then( response => { - if (response.user == '') { - return null - } else { - return new Account(response.user, {authenticated: true}) + let list = [] + for (let accountProps of response) { + list.push(new Account(accountProps.userid, accountProps)) } + return list } ) } @@ -181,7 +178,7 @@ export default class Account { // this is a temporary hack to support the old behavior // util the backend has a proper concept of an account list. // - static addPrimary(account) { + static addActive(account) { Account.list = Account.list.filter(i => { return i.domain != account.domain }) -- cgit v1.2.3