@@ -4,6 +4,7 @@ import Icon from "components/common/icon";
4
4
import Markdown from "components/common/markdown" ;
5
5
import Modal from "components/common/modal" ;
6
6
import useAssessment from "lib/hooks/use-assessment" ;
7
+ import useDidUpdate from "lib/hooks/use-did-update" ;
7
8
import useGraphql from "lib/hooks/use-graphql" ;
8
9
import useHttp from "lib/hooks/use-http" ;
9
10
import useTranslate from "lib/hooks/use-translate" ;
@@ -16,6 +17,7 @@ export default function Generic() {
16
17
const [ answers , setAnswers ] = useState ( [ ] ) ;
17
18
const [ showInstructions , setShowInstructions ] = useState ( false ) ;
18
19
const [ showConclusions , setShowConclusions ] = useState ( false ) ;
20
+ const [ submitAttempts , setSubmitAttempts ] = useState ( 0 ) ;
19
21
20
22
const assessment = useAssessment ( { surveyType : "generic" } ) ;
21
23
const questionSets = assessment ? assessment . survey . questionSets : [ ] ;
@@ -39,6 +41,7 @@ export default function Generic() {
39
41
const back = ( ) => { setQuestionSetIndex ( questionSetIndex - 1 ) ; } ;
40
42
41
43
const onSubmit = ( ) => {
44
+ if ( submitAttempts > 3 ) { return ; }
42
45
const query = graphQL . generic . update ;
43
46
const variables = {
44
47
assessmentID : assessment . id ,
@@ -51,11 +54,13 @@ export default function Generic() {
51
54
} else {
52
55
console . warn ( errors || data ) ; // eslint-disable-line no-console
53
56
54
- // setTimeout(() => setSubmitAttempts((x) => x + 1), 2000);
57
+ setTimeout ( ( ) => setSubmitAttempts ( ( x ) => x + 1 ) , 2000 ) ;
55
58
}
56
59
} ) ;
57
60
} ;
58
61
62
+ useDidUpdate ( ( ) => { onSubmit ( ) ; } , [ submitAttempts ] ) ;
63
+
59
64
useEffect ( ( ) => {
60
65
setShowInstructions ( true ) ;
61
66
} , [ assessment ] ) ;
0 commit comments