@bzxnetwork/portal
Version:
Frontend demo portal for bZx
63 lines (55 loc) • 1.69 kB
JSX
import styled from "styled-components";
// import Typography from "@material-ui/core/Typography";
import Button from "@material-ui/core/Button";
import Section, { SectionLabel } from "../common/FormSection";
import TokenPicker from "../common/TokenPicker";
import { addTrackedToken } from "../common/trackedTokens";
const Container = styled.div`
display: flex;
flex-direction: column;
align-items: center;
& > *:first-child {
margin-bottom: 12px;
}
`;
const defaultToken = tokens => {
let token = tokens.filter(t => t.symbol === `KNC`);
if (token.length > 0) {
token = token[0]; // eslint-disable-line prefer-destructuring
} else {
token = tokens[0]; // eslint-disable-line prefer-destructuring
}
return token;
};
export default class AddToken extends React.Component {
state = {
tokenAddress: defaultToken(this.props.tokens).address
};
setTokenAddress = addr => this.setState({ tokenAddress: addr });
handleAddTrackedToken = () => {
addTrackedToken(this.props.tokens, this.state.tokenAddress);
this.props.updateTrackedTokens();
};
render() {
const { tokens } = this.props;
return (
<Section>
<SectionLabel>Add new tracked token</SectionLabel>
<Container>
<TokenPicker
tokens={tokens}
setAddress={this.setTokenAddress}
value={this.state.tokenAddress}
/>
<Button
variant="raised"
color="primary"
onClick={this.handleAddTrackedToken}
>
Add Token
</Button>
</Container>
</Section>
);
}
}