NewTokenItem.js 1.44 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';
import { withRouter } from 'react-router-dom';
@withRouter
Amaury Martiny's avatar
Amaury Martiny committed
@inject('tokensStore')
@observer
class NewTokenItem extends Component {
Amaury Martiny's avatar
Amaury Martiny committed
  handleAddToken = () => {
    const { history, token, tokensStore } = this.props;
Amaury Martiny's avatar
Amaury Martiny committed
    tokensStore.addToken(token.address, token);
    history.goBack();
Amaury Martiny's avatar
Amaury Martiny committed
  };

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

  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;