on master help sign in
accept-transfer: prevent multiple clicks
c93b2b8Hunter Miller
src/views/AcceptTransfer.tsx+13−1
@@ -1,4 +1,10 @@
1−import React, { useCallback, useEffect, useMemo, useState } from 'react';
1+import React, {
2+ useCallback,
3+ useEffect,
4+ useMemo,
5+ useRef,
6+ useState,
7+} from 'react';
2import cn from 'classnames';
8import cn from 'classnames';
3import { Nothing } from 'folktale/maybe';
9import { Nothing } from 'folktale/maybe';
4import { Grid, Text, CheckboxInput, Button } from 'indigo-react';
10import { Grid, Text, CheckboxInput, Button } from 'indigo-react';
@@ -68,6 +74,7 @@ export default function AcceptTransfer() {
68
74
69 const name = useCurrentPointName();
75 const name = useCurrentPointName();
70
76
77+ const transferring = useRef(false);
71 const [reset, setReset] = useState(true);
78 const [reset, setReset] = useState(true);
72
79
73 const {
80 const {
@@ -115,6 +122,11 @@ export default function AcceptTransfer() {
115 }, [pop, setPointCursor]);
122 }, [pop, setPointCursor]);
116
123
117 const acceptTransfer = useCallback(async () => {
124 const acceptTransfer = useCallback(async () => {
125+ if (transferring.current) {
126+ return;
127+ }
128+
129+ transferring.current = true;
118 await transferPoint(_address, reset);
130 await transferPoint(_address, reset);
119 await checkForUpdates({
131 await checkForUpdates({
120 point: point.value,
132 point: point.value,