diff options
author | fragosti <francesco.agosti93@gmail.com> | 2018-11-01 10:50:37 +0800 |
---|---|---|
committer | fragosti <francesco.agosti93@gmail.com> | 2018-11-01 10:50:37 +0800 |
commit | 3f918622bcce21ba104e0f13e71247796345ab0f (patch) | |
tree | fe0e6dd540871a17abe1274fa2c7e4a1ad40d90b /packages/instant/src/components/erc20_token_selector.tsx | |
parent | 6091ee732d208eaf9889087b8308dfd0427b9be5 (diff) | |
download | dexon-0x-contracts-3f918622bcce21ba104e0f13e71247796345ab0f.tar dexon-0x-contracts-3f918622bcce21ba104e0f13e71247796345ab0f.tar.gz dexon-0x-contracts-3f918622bcce21ba104e0f13e71247796345ab0f.tar.bz2 dexon-0x-contracts-3f918622bcce21ba104e0f13e71247796345ab0f.tar.lz dexon-0x-contracts-3f918622bcce21ba104e0f13e71247796345ab0f.tar.xz dexon-0x-contracts-3f918622bcce21ba104e0f13e71247796345ab0f.tar.zst dexon-0x-contracts-3f918622bcce21ba104e0f13e71247796345ab0f.zip |
feat: implement basic erc20 token selector
Diffstat (limited to 'packages/instant/src/components/erc20_token_selector.tsx')
-rw-r--r-- | packages/instant/src/components/erc20_token_selector.tsx | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/packages/instant/src/components/erc20_token_selector.tsx b/packages/instant/src/components/erc20_token_selector.tsx new file mode 100644 index 000000000..a98176e9b --- /dev/null +++ b/packages/instant/src/components/erc20_token_selector.tsx @@ -0,0 +1,34 @@ +import * as _ from 'lodash'; +import * as React from 'react'; + +import { ERC20Asset } from '../types'; + +import { Button, Container } from './ui'; + +export interface ERC20TokenSelectorProps { + tokens: ERC20Asset[]; + onTokenSelect: (token: ERC20Asset) => void; +} + +export const ERC20TokenSelector: React.StatelessComponent<ERC20TokenSelectorProps> = ({ tokens, onTokenSelect }) => ( + <Container>{_.map(tokens, token => <TokenSelectorRow token={token} onClick={onTokenSelect} />)}</Container> +); + +interface TokenSelectorRowProps { + token: ERC20Asset; + onClick: (token: ERC20Asset) => void; +} + +class TokenSelectorRow extends React.Component<TokenSelectorRowProps> { + public render(): React.ReactNode { + const { token } = this.props; + return ( + <Container> + <Button onClick={this._handleClick}>Select {token.metaData.symbol}</Button> + </Container> + ); + } + private readonly _handleClick = (): void => { + this.props.onClick(this.props.token); + }; +} |