import React, { PureComponent } from 'react' import Route from '../components/templates/Route' import Button from '../components/atoms/Button' import Spinner from '../components/atoms/Spinner' import { User } from '../context/User' import Web3message from '../components/organisms/Web3message' import styles from './Faucet.module.scss' interface FaucetState { isLoading: boolean success?: string error?: string eth?: string } export default class Faucet extends PureComponent<{}, FaucetState> { public state = { isLoading: false, success: undefined, error: undefined, eth: 'xx' } private getTokens = async (requestFromFaucet: () => any) => { this.setState({ isLoading: true }) try { const response = await requestFromFaucet() if (response.error) { this.setState({ isLoading: false, error: response.error }) return } this.setState({ isLoading: false, success: `Successfully added ETH to your account.` }) } catch (error) { this.setState({ isLoading: false, error }) } } private RequestMarkup = () => ( {states => ( )} ) private ActionMarkup = () => (
{this.state.isLoading ? ( ) : this.state.error ? (

{this.state.error}

) : this.state.success ? (
{this.state.success}
) : ( )}

You can only request Ether once every 24 hours for your address.

) private reset = () => { this.setState({ error: undefined, success: undefined, isLoading: false }) } public render() { return ( ) } }