Skip to content
Snippets Groups Projects
Unverified Commit cd341c70 authored by Luca Moser's avatar Luca Moser Committed by GitHub
Browse files

auto. redirects to addr when requesting from faucet (#569)

parent 43970a0c
No related branches found
No related tags found
No related merge requests found
......@@ -8,7 +8,6 @@ import Row from "react-bootstrap/Row";
import Col from "react-bootstrap/Col";
import Button from 'react-bootstrap/Button'
import InputGroup from "react-bootstrap/InputGroup";
import {Link} from 'react-router-dom';
interface Props {
nodeStore?: NodeStore;
......@@ -20,6 +19,10 @@ interface Props {
@observer
export class FaucetAddressInput extends React.Component<Props, any> {
componentWillUnmount() {
this.props.faucetStore.reset();
}
updateSend = (e) => {
this.props.faucetStore.updateSend(e.target.value);
};
......@@ -34,7 +37,7 @@ export class FaucetAddressInput extends React.Component<Props, any> {
};
render() {
let {send_addr, sending} = this.props.faucetStore;
let {send_addr, query_error, sending} = this.props.faucetStore;
return (
<React.Fragment>
......@@ -64,14 +67,14 @@ export class FaucetAddressInput extends React.Component<Props, any> {
</Button>
</Col>
</Row>
<Row className={"mb-3"}>
<Col>
<small>
Check your funds on the explorer: <Link
to={`/explorer/address/${send_addr}`}>{send_addr}</Link>
</small>
</Col>
</Row>
{
query_error !== "" &&
<Row className={"mb-3"}>
<Col>
Couldn't request funds: {query_error}
</Col>
</Row>
}
</React.Fragment>
);
}
......
import {action, observable} from 'mobx';
import {RouterStore} from "mobx-react-router";
class SendResult {
MsgId: string;
......@@ -13,8 +14,12 @@ export class FaucetStore {
@observable send_addr: string = "";
@observable sending: boolean = false;
@observable sendResult: SendResult = null;
@observable query_error: string = "";
constructor() {
routerStore: RouterStore;
constructor(routerStore: RouterStore) {
this.routerStore = routerStore;
}
sendReq = async () => {
......@@ -27,7 +32,9 @@ export class FaucetStore {
return;
}
let result: SendResult = await res.json();
this.updateSendResult(result);
setTimeout(() => {
this.updateSendResult(result);
}, 2000);
} catch (err) {
this.updateQueryError(err);
}
......@@ -37,11 +44,7 @@ export class FaucetStore {
updateSendResult = (result: SendResult) => {
this.sending = false;
this.sendResult = result;
};
@action
resetSend = () => {
this.sending = false;
this.routerStore.history.push(`/explorer/address/${this.send_addr}`);
};
@action
......@@ -50,16 +53,22 @@ export class FaucetStore {
};
@action
updateSending = (sending: boolean) => this.sending = sending;
updateSending = (sending: boolean) => {
this.sending = sending;
this.query_error = "";
};
@action
reset = () => {
this.send_addr = null;
this.sending = false;
this.query_error = "";
};
@action
updateQueryError = (err: any) => {
this.sending = false;
this.query_error = err;
};
}
......
......@@ -17,7 +17,7 @@ const routerStore = new RouterStore();
const nodeStore = new NodeStore();
const explorerStore = new ExplorerStore(routerStore);
const drngStore = new DrngStore(routerStore);
const faucetStore = new FaucetStore();
const faucetStore = new FaucetStore(routerStore);
const visualizerStore = new VisualizerStore(routerStore);
const stores = {
"routerStore": routerStore,
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment