Hiding submit button while uploading questions on addQuestion page

This commit is contained in:
MrFry 2020-05-05 15:21:01 +02:00
parent 98e85a1ae3
commit ada93f0bb9
2 changed files with 28 additions and 9 deletions

View file

@ -17,6 +17,7 @@ const getDefaultQuestion = () => {
export default function AddQuestion (props) { export default function AddQuestion (props) {
const [form, setForm] = useState({ quiz: [getDefaultQuestion()] }) const [form, setForm] = useState({ quiz: [getDefaultQuestion()] })
const [subjects, setSubjects] = useState(undefined) const [subjects, setSubjects] = useState(undefined)
const [isSubmitting, setIsSubmitting] = useState(false)
const [isNewSubj, setIsNewSubj] = useState(false) const [isNewSubj, setIsNewSubj] = useState(false)
useEffect(() => { useEffect(() => {
@ -136,6 +137,8 @@ export default function AddQuestion (props) {
version = t.split('|')[1] version = t.split('|')[1]
} }
setIsSubmitting(true)
const rawResponse = await fetch(constants.apiUrl + 'isAdding', { const rawResponse = await fetch(constants.apiUrl + 'isAdding', {
method: 'POST', method: 'POST',
credentials: 'include', credentials: 'include',
@ -154,20 +157,23 @@ export default function AddQuestion (props) {
.then((resp) => { .then((resp) => {
if (resp.success) { if (resp.success) {
alert('Sikeres beküldés, ' + resp.newQuestions + ' új kérdés') // eslint-disable-line alert('Sikeres beküldés, ' + resp.newQuestions + ' új kérdés') // eslint-disable-line
setIsSubmitting(false)
} else { } else {
console.log(resp) console.log(resp)
alert('Hiba beküldés közben :/') // eslint-disable-line alert('Hiba beküldés közben :/') // eslint-disable-line
setIsSubmitting(false)
} }
}) })
.catch((e) => { .catch((e) => {
alert('Hiba beküldés közben :/') // eslint-disable-line alert('Hiba beküldés közben :/') // eslint-disable-line
console.log(e) console.log(e)
setIsSubmitting(false)
}) })
} }
const renderStuff = (props) => { const renderStuff = (props) => {
return ( return (
<div className={styles.feedback} > <div>
{form.quiz.map((q, i) => { {form.quiz.map((q, i) => {
return ( return (
<div key={i}> <div key={i}>
@ -193,7 +199,11 @@ export default function AddQuestion (props) {
Új kérdés hozzáadása Új kérdés hozzáadása
</button> </button>
</div> </div>
<div className={styles.buttonContainer} > {isSubmitting
? <div className={styles.issubmitting}>
Kérdések feldolgozása folyamatban, ha sokat küldtél, akkor több perc is lehet
</div>
: <div className={styles.buttonContainer} >
<button <button
className={styles.button} className={styles.button}
onClick={handleSubmit} onClick={handleSubmit}
@ -201,6 +211,7 @@ export default function AddQuestion (props) {
Kérdések beküldése Kérdések beküldése
</button> </button>
</div> </div>
}
<input <input
type='text' type='text'
id='cid' id='cid'
@ -274,6 +285,9 @@ export default function AddQuestion (props) {
kérdéseket lehet beküldeni, amik sima kérdés-válaszok, szóval pl nincs benne kép. Ez kérdéseket lehet beküldeni, amik sima kérdés-válaszok, szóval pl nincs benne kép. Ez
később bővül majd később bővül majd
</li> </li>
<li>
Ha sok új kérdést küldsze be, akkor akár több percig is eltarthat a dolog
</li>
<li> <li>
Bármilyen szöveget beküldhettek, de ne tegyétek, más felhasználókkal és magatokkal szúrtok Bármilyen szöveget beküldhettek, de ne tegyétek, más felhasználókkal és magatokkal szúrtok
ki, ty! ki, ty!

View file

@ -22,7 +22,7 @@
} }
.buttonContainer { .buttonContainer {
text-align: "center"; text-align: center;
width: 200px; width: 200px;
margin: 0 auto; margin: 0 auto;
padding: 10px; padding: 10px;
@ -83,3 +83,8 @@
font-size: 18px; font-size: 18px;
color: white; color: white;
} }
.issubmitting {
text-align: center;
color: white;
}