* add tslint rule to disallow lodash.isUndefined * add tslint rule to disallow lodash.isNull * apply fixes
35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
import * as _ from 'lodash';
|
|
import * as React from 'react';
|
|
import { Identicon } from 'ts/components/ui/identicon';
|
|
import { Token } from 'ts/types';
|
|
|
|
interface TokenIconProps {
|
|
token: Token;
|
|
diameter: number;
|
|
link?: string;
|
|
}
|
|
|
|
interface TokenIconState {}
|
|
|
|
export class TokenIcon extends React.Component<TokenIconProps, TokenIconState> {
|
|
public render(): React.ReactNode {
|
|
const token = this.props.token;
|
|
const diameter = this.props.diameter;
|
|
const icon =
|
|
token.isRegistered && token.iconUrl !== undefined ? (
|
|
<img style={{ width: diameter, height: diameter }} src={token.iconUrl} />
|
|
) : (
|
|
<Identicon address={token.address} diameter={diameter} />
|
|
);
|
|
if (_.isEmpty(this.props.link)) {
|
|
return icon;
|
|
} else {
|
|
return (
|
|
<a href={this.props.link} target="_blank" style={{ textDecoration: 'none' }}>
|
|
{icon}
|
|
</a>
|
|
);
|
|
}
|
|
}
|
|
}
|