import { NormalizedBityRate } from 'reducers/swap/types'; import bityLogoWhite from 'assets/images/logo-bity-white.svg'; import Spinner from 'components/ui/Spinner'; import { bityReferralURL } from 'config/data'; import React, { Component } from 'react'; import translate from 'translations'; import { toFixedIfLarger } from 'utils/formatters'; import './CurrentRates.scss'; interface Props { [id: string]: NormalizedBityRate; } interface State { ETHBTCAmount: number; ETHREPAmount: number; BTCETHAmount: number; BTCREPAmount: number; } export default class CurrentRates extends Component { public state = { ETHBTCAmount: 1, ETHREPAmount: 1, BTCETHAmount: 1, BTCREPAmount: 1 }; public onChange = (event: any) => { const { value } = event.target; const { name } = event.target; this.setState({ [name]: value }); }; public buildPairRate = (origin: string, destination: string) => { const pair = origin + destination; const statePair = this.state[(pair + 'Amount') as keyof State]; const propsPair = this.props[pair] ? this.props[pair].rate : null; return (
{propsPair ? (
{` ${origin} = ${toFixedIfLarger(statePair * propsPair, 6)} ${destination}`}
) : ( )}
); }; public render() { return (

{translate('SWAP_rates')}

{this.buildPairRate('ETH', 'BTC')} {this.buildPairRate('ETH', 'REP')}
{this.buildPairRate('BTC', 'ETH')} {this.buildPairRate('BTC', 'REP')}
); } }