diff --git a/js/src/modals/Faucet/faucet.js b/js/src/modals/Faucet/faucet.js new file mode 100644 index 000000000..e4399e8ba --- /dev/null +++ b/js/src/modals/Faucet/faucet.js @@ -0,0 +1,162 @@ +// Copyright 2015-2017 Parity Technologies (UK) Ltd. +// This file is part of Parity. + +// Parity is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity. If not, see . + +import { observer } from 'mobx-react'; +import React, { Component, PropTypes } from 'react'; +import { FormattedMessage } from 'react-intl'; + +import { txLink } from '~/3rdparty/etherscan/links'; +import { Button, ModalBox, Portal, ShortenedHash } from '~/ui'; +import { CloseIcon, DialIcon, DoneIcon, ErrorIcon, SendIcon } from '~/ui/Icons'; + +import Store from './store'; + +@observer +export default class Faucet extends Component { + static propTypes = { + address: PropTypes.string.isRequired, + netVersion: PropTypes.string.isRequired, + onClose: PropTypes.func.isRequired + } + + store = new Store(this.props.netVersion, this.props.address); + + render () { + const { error, isBusy, isCompleted } = this.store; + + let icon = ; + + if (isCompleted) { + icon = error + ? + : ; + } + + return ( + + } + > + + + ); + } + + renderActions = () => { + const { canTransact, isBusy, isCompleted } = this.store; + + return isCompleted || isBusy + ? ( +