blob: 3b17bd0fab7e8f240dab8a7d6b5ff8791d35ea30 (
plain) (
tree)
|
|
import * as _ from 'lodash';
import * as React from 'react';
import ReactTooltip = require('react-tooltip');
import { EtherscanLinkSuffixes } from 'ts/types';
import { colors } from 'ts/utils/colors';
import { utils } from 'ts/utils/utils';
interface EtherScanIconProps {
addressOrTxHash: string;
etherscanLinkSuffixes: EtherscanLinkSuffixes;
networkId: number;
}
export const EtherScanIcon = (props: EtherScanIconProps) => {
const etherscanLinkIfExists = utils.getEtherScanLinkIfExists(
props.addressOrTxHash,
props.networkId,
EtherscanLinkSuffixes.Address,
);
const transactionTooltipId = `${props.addressOrTxHash}-etherscan-icon-tooltip`;
return (
<div className="inline">
{!_.isUndefined(etherscanLinkIfExists) ? (
<a href={etherscanLinkIfExists} target="_blank">
{renderIcon()}
</a>
) : (
<div className="inline" data-tip={true} data-for={transactionTooltipId}>
{renderIcon()}
<ReactTooltip id={transactionTooltipId}>
Your network (id: {props.networkId}) is not supported by Etherscan
</ReactTooltip>
</div>
)}
</div>
);
};
function renderIcon() {
return <i style={{ color: colors.amber600 }} className="zmdi zmdi-open-in-new" />;
}
|