Tokens.js 1.92 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, Clickable, 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 {
  isParitySignerAccount = () => {
    const {
      account: { type }
    } = this.props;

    return type === 'signer';
  };

  menuItems = () => {
      account: { address },
      history
    const backupAccountItem = {
      name: 'Backup Account',
      onClick: () => history.push(`/backup/${address}`)
Luke Schoen's avatar
Luke Schoen committed
    const menuItems = [
        name: 'Add Tokens',
        onClick: () => history.push(`/whitelist/${address}`)

    if (this.isParitySignerAccount() === false) {
      menuItems.unshift(backupAccountItem);
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()}
              size='small'
              trigger={<Clickable className='icon -menu' />}
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;