diff options
author | elijah <elijah@riseup.net> | 2016-08-26 21:09:53 -0700 |
---|---|---|
committer | Kali Kaneko (leap communications) <kali@leap.se> | 2016-09-01 01:41:24 -0400 |
commit | 62f069ef0af1444089a4d477f05ac7279897fa32 (patch) | |
tree | bde623ee4ec8de240ed5504d3cdbc01c5d6755fc /src/leap/bitmask_js/app/components/main_panel/index.js | |
parent | 50a258d45e851a865801da9d888037b5869a3489 (diff) |
[feat] added initial bitmask_js (WIP)
Diffstat (limited to 'src/leap/bitmask_js/app/components/main_panel/index.js')
-rw-r--r-- | src/leap/bitmask_js/app/components/main_panel/index.js | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/leap/bitmask_js/app/components/main_panel/index.js b/src/leap/bitmask_js/app/components/main_panel/index.js new file mode 100644 index 00000000..910d58b6 --- /dev/null +++ b/src/leap/bitmask_js/app/components/main_panel/index.js @@ -0,0 +1,57 @@ +// +// The main panel manages the current account and the list of available accounts +// +// It displays multiple sections, one for each service. +// + +import React from 'react' +import App from 'app' +import Login from 'components/login' + +import './main_panel.less' +import AccountList from './account_list' +import UserSection from './user_section' + +export default class MainPanel extends React.Component { + + static get defaultProps() {return{ + initialAccount: null + }} + + constructor(props) { + super(props) + this.state = { + account: null, + accounts: [] + } + this.activateAccount = this.activateAccount.bind(this) + } + + componentWillMount() { + if (this.props.initialAccount) { + this.setState({ + account: this.props.initialAccount, + accounts: [this.props.initialAccount] + }) + } + } + + activateAccount(account) { + this.setState({ + account: account, + accounts: [account] + }) + } + + render() { + return ( + <div className="main-panel"> + <AccountList account={this.state.account} accounts={this.state.accounts} onSelect={this.activateAccount} /> + <div className="body"> + <UserSection account={this.state.account} onLogin={this.activateAccount} onLogout={this.activateAccount}/> + </div> + </div> + ) + } + +} |