aboutsummaryrefslogtreecommitdiffstats
path: root/packages/website
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2018-05-15 16:22:22 +0800
committerFabio Berger <me@fabioberger.com>2018-05-15 16:22:22 +0800
commitfe00c06d4b7ef0616f0d8980ec79f7db73fb7ce1 (patch)
tree5e58c147dc8cdf7cf2af2edd6a13b8dde904b2fe /packages/website
parenta7031602261379a12fe0889230f1207e5ab322c4 (diff)
parentca08dd9705c2aefb092b10926af359ed8fabac79 (diff)
downloaddexon-sol-tools-fe00c06d4b7ef0616f0d8980ec79f7db73fb7ce1.tar
dexon-sol-tools-fe00c06d4b7ef0616f0d8980ec79f7db73fb7ce1.tar.gz
dexon-sol-tools-fe00c06d4b7ef0616f0d8980ec79f7db73fb7ce1.tar.bz2
dexon-sol-tools-fe00c06d4b7ef0616f0d8980ec79f7db73fb7ce1.tar.lz
dexon-sol-tools-fe00c06d4b7ef0616f0d8980ec79f7db73fb7ce1.tar.xz
dexon-sol-tools-fe00c06d4b7ef0616f0d8980ec79f7db73fb7ce1.tar.zst
dexon-sol-tools-fe00c06d4b7ef0616f0d8980ec79f7db73fb7ce1.zip
Merge development
Diffstat (limited to 'packages/website')
-rw-r--r--packages/website/ts/components/relayer_index/relayer_grid_tile.tsx6
-rw-r--r--packages/website/ts/components/relayer_index/relayer_top_tokens.tsx53
-rw-r--r--packages/website/ts/types.ts2
3 files changed, 47 insertions, 14 deletions
diff --git a/packages/website/ts/components/relayer_index/relayer_grid_tile.tsx b/packages/website/ts/components/relayer_index/relayer_grid_tile.tsx
index 592bff29f..5964dcd56 100644
--- a/packages/website/ts/components/relayer_index/relayer_grid_tile.tsx
+++ b/packages/website/ts/components/relayer_index/relayer_grid_tile.tsx
@@ -47,7 +47,7 @@ const styles: Styles = {
width: '100%',
boxSizing: 'border-box',
},
- dailyTradeVolumeLabel: {
+ weeklyTradeVolumeLabel: {
fontSize: 14,
color: colors.mediumBlue,
},
@@ -80,9 +80,9 @@ export const RelayerGridTile: React.StatelessComponent<RelayerGridTileProps> = (
<div className="py1" style={styles.relayerNameLabel}>
{props.relayerInfo.name}
</div>
- <div style={styles.dailyTradeVolumeLabel}>{props.relayerInfo.dailyTxnVolume}</div>
+ <div style={styles.weeklyTradeVolumeLabel}>{props.relayerInfo.weeklyTxnVolume}</div>
<div className="py1" style={styles.subLabel}>
- Daily Trade Volume
+ Weekly Trade Volume
</div>
<TopTokens tokens={props.relayerInfo.topTokens} networkId={props.networkId} />
<div className="py1" style={styles.subLabel}>
diff --git a/packages/website/ts/components/relayer_index/relayer_top_tokens.tsx b/packages/website/ts/components/relayer_index/relayer_top_tokens.tsx
index 468a350e4..03c70c9dd 100644
--- a/packages/website/ts/components/relayer_index/relayer_top_tokens.tsx
+++ b/packages/website/ts/components/relayer_index/relayer_top_tokens.tsx
@@ -26,21 +26,54 @@ export const TopTokens: React.StatelessComponent<TopTokensProps> = (props: TopTo
{_.map(props.tokens, (tokenInfo: WebsiteBackendTokenInfo, index: number) => {
const firstItemStyle = { ...styles.tokenLabel, ...styles.followingTokenLabel };
const style = index !== 0 ? firstItemStyle : styles.tokenLabel;
- return (
- <a
- key={tokenInfo.address}
- href={tokenLinkFromToken(tokenInfo, props.networkId)}
- target="_blank"
- style={style}
- >
- {tokenInfo.symbol}
- </a>
- );
+ return <TokenLink tokenInfo={tokenInfo} style={style} networkId={props.networkId} />;
})}
</div>
);
};
+interface TokenLinkProps {
+ tokenInfo: WebsiteBackendTokenInfo;
+ style: React.CSSProperties;
+ networkId: number;
+}
+interface TokenLinkState {
+ isHovering: boolean;
+}
+
+class TokenLink extends React.Component<TokenLinkProps, TokenLinkState> {
+ constructor(props: TokenLinkProps) {
+ super(props);
+ this.state = {
+ isHovering: false,
+ };
+ }
+ public render(): React.ReactNode {
+ const style = {
+ ...this.props.style,
+ cursor: 'pointer',
+ opacity: this.state.isHovering ? 0.5 : 1,
+ };
+ return (
+ <a
+ key={this.props.tokenInfo.address}
+ href={tokenLinkFromToken(this.props.tokenInfo, this.props.networkId)}
+ target="_blank"
+ style={style}
+ onMouseEnter={this._onToggleHover.bind(this, true)}
+ onMouseLeave={this._onToggleHover.bind(this, false)}
+ >
+ {this.props.tokenInfo.symbol}
+ </a>
+ );
+ }
+ private _onToggleHover(isHovering: boolean): void {
+ this.setState({
+ isHovering,
+ });
+ }
+}
+
function tokenLinkFromToken(tokenInfo: WebsiteBackendTokenInfo, networkId: number): string {
return sharedUtils.getEtherScanLinkIfExists(tokenInfo.address, networkId, EtherscanLinkSuffixes.Address);
}
diff --git a/packages/website/ts/types.ts b/packages/website/ts/types.ts
index 58929a0c6..5caf5e73c 100644
--- a/packages/website/ts/types.ts
+++ b/packages/website/ts/types.ts
@@ -506,7 +506,7 @@ export interface TokenState {
export interface WebsiteBackendRelayerInfo {
name: string;
- dailyTxnVolume: string;
+ weeklyTxnVolume: string;
url: string;
appUrl?: string;
headerImgUrl?: string;