From 587c304317663c619afb845b053199203ae31a22 Mon Sep 17 00:00:00 2001 From: mrfry Date: Thu, 26 Nov 2020 09:51:20 +0100 Subject: [PATCH] Multiple db handling in addQuestion --- src/pages/addQuestion.js | 41 +++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/src/pages/addQuestion.js b/src/pages/addQuestion.js index 4ebdbe1..98f2d6e 100644 --- a/src/pages/addQuestion.js +++ b/src/pages/addQuestion.js @@ -14,7 +14,7 @@ const getDefaultQuestion = () => { } } -export default function AddQuestion(props) { +export default function AddQuestion() { const [form, setForm] = useState({ quiz: [getDefaultQuestion()] }) const [subjects, setSubjects] = useState(undefined) const [isSubmitting, setIsSubmitting] = useState(false) @@ -29,9 +29,15 @@ export default function AddQuestion(props) { return resp.json() }) .then((data) => { - let res = data.map((x) => { - return x.name - }) + let res = data.reduce((acc, x) => { + return [ + ...acc, + ...x.subjs.map((subj) => { + return subj.name + }), + ] + }, []) + res = res.sort() setSubjects(res) }) @@ -58,8 +64,8 @@ export default function AddQuestion(props) { - onChange({ ...currData, Q: e.target.value }, index) + onChange={(err) => + onChange({ ...currData, Q: err.target.value }, index) } value={Q || ''} className={styles.questionInput} @@ -69,8 +75,8 @@ export default function AddQuestion(props) { - onChange({ ...currData, A: e.target.value }, index) + onChange={(err) => + onChange({ ...currData, A: err.target.value }, index) } value={A || ''} className={styles.questionInput} @@ -154,17 +160,22 @@ export default function AddQuestion(props) { .json() .then((resp) => { if (resp.success) { - alert('Sikeres beküldés, ' + resp.newQuestions + ' új kérdés') // eslint-disable-line + alert( + 'Sikeres beküldés, ' + + resp.newQuestions.reduce((acc, res) => { + return acc + res.newQuestions + }, 0) + + ' új kérdés' + ) // eslint-disable-line setIsSubmitting(false) } else { - console.log(resp) alert('Hiba beküldés közben :/') // eslint-disable-line setIsSubmitting(false) } }) - .catch((e) => { + .catch((err) => { alert('Hiba beküldés közben :/') // eslint-disable-line - console.log(e) + console.log(err) setIsSubmitting(false) }) } @@ -214,7 +225,7 @@ export default function AddQuestion(props) { ) } - const renderSubjSelector = (props) => { + const renderSubjSelector = () => { // TODO: handle if new subject return (
@@ -243,7 +254,7 @@ export default function AddQuestion(props) { - {props.subjects.map((subjName, i) => { + {subjects.map((subjName, i) => { return (