TokensList.js 1.25 KiB
Newer Older
// 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
Amaury Martiny's avatar
Amaury Martiny committed
import React, { Component } from 'react';
import { DivWindowContent } from '../../assets/theme/shared/styledComponents/DivWindowContent.styles';
Thibaut Sardan's avatar
Thibaut Sardan committed
import RequireHealth from '../../RequireHealthOverlay';
Amaury Martiny's avatar
Amaury Martiny committed
import TokenBalance from './TokenBalance';
import withTokens from '../../utils/withTokens';
Axel Chalon's avatar
Axel Chalon committed

Amaury Martiny's avatar
Amaury Martiny committed
@withTokens
Axel Chalon's avatar
Axel Chalon committed
class TokensList extends Component {
Amaury Martiny's avatar
Amaury Martiny committed
  render () {
Axel Chalon's avatar
Axel Chalon committed
    const { tokensArray } = this.props;
    // Show empty token placeholder if tokens have not been loaded yet
    const shownArray = tokensArray.length ? tokensArray : [{}];
    return (
Thibaut Sardan's avatar
Thibaut Sardan committed
      <RequireHealth require='sync'>
Thibaut Sardan's avatar
Thibaut Sardan committed
          <div className='box -scroller'>
            <ul className='list -padded'>
              {shownArray.map((
                token,
                index // With empty tokens, the token.address is not defined, so we prefix with index
              ) => (
                <li key={`${index}-${token.address}`}>
                  <TokenBalance token={token} />
                </li>
              ))}
            </ul>
          </div>
Thibaut Sardan's avatar
Thibaut Sardan committed
      </RequireHealth>
Axel Chalon's avatar
Axel Chalon committed
export default TokensList;