Skip to content

Commit 408948d

Browse files
committed
add retry submit
1 parent 1dc726a commit 408948d

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/components/survey/generic/index.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import Icon from "components/common/icon";
44
import Markdown from "components/common/markdown";
55
import Modal from "components/common/modal";
66
import useAssessment from "lib/hooks/use-assessment";
7+
import useDidUpdate from "lib/hooks/use-did-update";
78
import useGraphql from "lib/hooks/use-graphql";
89
import useHttp from "lib/hooks/use-http";
910
import useTranslate from "lib/hooks/use-translate";
@@ -16,6 +17,7 @@ export default function Generic() {
1617
const [answers, setAnswers] = useState([]);
1718
const [showInstructions, setShowInstructions] = useState(false);
1819
const [showConclusions, setShowConclusions] = useState(false);
20+
const [submitAttempts, setSubmitAttempts] = useState(0);
1921

2022
const assessment = useAssessment({surveyType: "generic"});
2123
const questionSets = assessment ? assessment.survey.questionSets : [];
@@ -39,6 +41,7 @@ export default function Generic() {
3941
const back = () => { setQuestionSetIndex(questionSetIndex - 1); };
4042

4143
const onSubmit = () => {
44+
if(submitAttempts > 3) { return; }
4245
const query = graphQL.generic.update;
4346
const variables = {
4447
assessmentID: assessment.id,
@@ -51,11 +54,13 @@ export default function Generic() {
5154
} else {
5255
console.warn(errors || data); // eslint-disable-line no-console
5356

54-
// setTimeout(() => setSubmitAttempts((x) => x + 1), 2000);
57+
setTimeout(() => setSubmitAttempts((x) => x + 1), 2000);
5558
}
5659
});
5760
};
5861

62+
useDidUpdate(() => { onSubmit(); }, [submitAttempts]);
63+
5964
useEffect(() => {
6065
setShowInstructions(true);
6166
}, [assessment]);

0 commit comments

Comments
 (0)