Tokens.js 1.97 KiB
Newer Older
Amaury Martiny's avatar
Amaury Martiny committed
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
Amaury Martiny's avatar
Amaury Martiny committed
//
Amaury Martiny's avatar
Amaury Martiny committed
// SPDX-License-Identifier: BSD-3-Clause
import React, { PureComponent } from 'react';
import { AccountHeader, MenuPopup } from 'fether-ui';
import { Link, withRouter } from 'react-router-dom';
YJ's avatar
YJ committed
import Health from '../Health';
import TokensList from './TokensList';
import withAccount from '../utils/withAccount';
YJ's avatar
YJ committed

@withAccount
class Tokens extends PureComponent {
  handleGoToLink = url => {
    this.props.history.push(url);
YJ's avatar
YJ committed
  };

  isParitySignerAccount = () => {
    const {
      account: { type }
    } = this.props;

    return type === 'signer';
  };

  menuItems = () => {
    const {
      account: { address }
    } = this.props;
    const backupAccountItem = {
      name: 'Backup Account',
      url: `/backup/${address}`
    };

    let menuItems = [
      {
        name: 'Add tokens',
        url: `/whitelist/${address}`

    if (this.isParitySignerAccount() === false) {
      menuItems = [backupAccountItem, ...menuItems];
    }

    return menuItems;
YJ's avatar
YJ committed
  render () {
    const {
      account: { address, name, type }
    } = this.props;
Amaury Martiny's avatar
Amaury Martiny committed
    return (
        <AccountHeader
          address={address}
          copyAddress
          name={name}
          type={type}
YJ's avatar
YJ committed
            <Link to='/accounts' className='icon -back'>
              Back
            </Link>
            <MenuPopup
              className='popup-menu-account'
              horizontalOffset={1}
              menuItems={this.menuItems()}
              onItemClick={this.handleGoToLink}
              size='small'
              trigger={<a className='icon -menu'>Menu</a>}
            />
Axel Chalon's avatar
Axel Chalon committed
        <TokensList />
YJ's avatar
YJ committed
        <nav className='footer-nav'>
          <div className='footer-nav_status'>
            <Health />
          </div>
        </nav>
Amaury Martiny's avatar
Amaury Martiny committed
    );
  }
Amaury Martiny's avatar
Amaury Martiny committed
export default Tokens;