NewTokenItem.js 1.33 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
// SPDX-License-Identifier: BSD-3-Clause
import React, { Component } from 'react';
Amaury Martiny's avatar
Amaury Martiny committed
import { inject, observer } from 'mobx-react';
import { TokenCard } from 'fether-ui';
Amaury Martiny's avatar
Amaury Martiny committed

@inject('tokensStore')
@observer
class NewTokenItem extends Component {
Amaury Martiny's avatar
Amaury Martiny committed
  handleAddToken = () => {
Brian Flanagan's avatar
Brian Flanagan committed
    const { token, tokensStore } = this.props;
Amaury Martiny's avatar
Amaury Martiny committed
    tokensStore.addToken(token.address, token);
  };

  handleRemoveToken = () => {
Brian Flanagan's avatar
Brian Flanagan committed
    const { token, tokensStore } = this.props;
Amaury Martiny's avatar
Amaury Martiny committed
    tokensStore.removeToken(token.address);
  };

  render () {
    const {
      token,
      tokensStore: { tokens }
    } = this.props;
Amaury Martiny's avatar
Amaury Martiny committed

    return (
      <li key={token.address}>
        <TokenCard balance={null} showBalance={false} token={token}>
          <div className='token_buttons'>
            {tokens[token.address] ? (
              <button
                className='button -utility -bad'
                onClick={this.handleRemoveToken}
              >
                Remove
              </button>
            ) : (
              <button
                className='button -utility -good'
                onClick={this.handleAddToken}
              >
                Add
              </button>
            )}
        </TokenCard>
Amaury Martiny's avatar
Amaury Martiny committed
      </li>
    );
  }
}

export default NewTokenItem;