import React from 'react' import { Button, Glyphicon, Alert } from 'react-bootstrap' import SectionLayout from './section_layout' import Login from 'components/login' import Spinner from 'components/spinner' import Account from 'models/account' import bitmask from 'lib/bitmask' export default class UserSection extends React.Component { static get defaultProps() {return{ account: null, onLogout: null, onLogin: null }} constructor(props) { super(props) this.state = { error: null, loading: false } this.logout = this.logout.bind(this) } logout() { this.setState({loading: true}) this.props.account.logout().then( account => { this.setState({error: null, loading: false}) if (this.props.onLogout) { this.props.onLogout(account) } }, error => { this.setState({error: error, loading: false}) } ) } render () { let message = null if (this.state.error) { // style may be: success, warning, danger, info message = ( {this.state.error} ) } if (this.props.account.authenticated) { let button = null if (this.state.loading) { button = } else { button = } return (

{this.props.account.address}

{message}
) } else { return ( ) } } }