Newer
Older
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
import React, { PureComponent } from 'react';
import { AccountHeader, MenuPopup } from 'fether-ui';
import { accountsInfo$ } from '@parity/light.js';
import light from '@parity/light.js-react';
import { Link, Redirect, withRouter } from 'react-router-dom';
import Health from '../Health';
import TokensList from './TokensList';
import withAccount from '../utils/withAccount';
Axel Chalon
committed
@withRouter
state = {
isMenuOpen: false
};
handleToggleMenu = () => {
const { isMenuOpen } = this.state;
this.setState({ isMenuOpen: !isMenuOpen });
};
handleMenuRef = menuNode => this.setState({ menuNode });
handleGoToLink = url => {
this.props.history.push(url);
menuItems = () => {
const { accountAddress } = this.props;
return [
{
name: 'Backup Account',
url: `/backup/${accountAddress}`
},
{
name: 'Add tokens',
url: `/whitelist/${accountAddress}`
}
];
const { isMenuOpen, menuNode } = this.state;
// If the accountsInfo object is empty (i.e. no accounts), then we redirect
// to the accounts page to create an account
if (accountsInfo && !Object.keys(accountsInfo).length) {
Luke Schoen
committed
<div className='tokens'>
<div className={isMenuOpen ? 'popup-underlay' : ''} />
<MenuPopup
className='popup-menu-account'
context={menuNode}
handleGoToLink={this.handleGoToLink}
horizontalOffset={1}
menuItems={this.menuItems()}
onClose={this.handleToggleMenu}
open={isMenuOpen}
size='small'
/>
className='icon -menu'
ref={this.handleMenuRef}
onClick={this.handleToggleMenu}
>
Menu
</a>
}