From 0ea9ecb5a370e43867dab9a6ed9f5b80cee00b14 Mon Sep 17 00:00:00 2001 From: mrfry Date: Tue, 17 Nov 2020 12:48:05 +0100 Subject: [PATCH] Home page and pw request page refactor --- src/data/links.json | 6 +- src/pages/addQuestion.js | 161 +++++++++++++++++-------------------- src/pages/feedback.js | 158 ++++++++++++++---------------------- src/pages/index.js | 39 ++++++--- src/pages/index.module.css | 38 ++++++--- src/pages/pwRequest.js | 1 - 6 files changed, 191 insertions(+), 212 deletions(-) diff --git a/src/data/links.json b/src/data/links.json index a0e576b..2f5c064 100644 --- a/src/data/links.json +++ b/src/data/links.json @@ -1,14 +1,14 @@ { "install": { - "href": "install", + "href": "/install", "text": "Install" }, "allqr": { - "href": "allqr.txt", + "href": "/allqr.txt", "text": "Összes kérdés TXT" }, "data": { - "href": "data.json", + "href": "/data.json", "text": "Összes kérdés JSON" } } diff --git a/src/pages/addQuestion.js b/src/pages/addQuestion.js index e657547..4ebdbe1 100644 --- a/src/pages/addQuestion.js +++ b/src/pages/addQuestion.js @@ -10,11 +10,11 @@ const getDefaultQuestion = () => { return { Q: '', A: '', - data: { type: 'simple' } + data: { type: 'simple' }, } } -export default function AddQuestion (props) { +export default function AddQuestion(props) { const [form, setForm] = useState({ quiz: [getDefaultQuestion()] }) const [subjects, setSubjects] = useState(undefined) const [isSubmitting, setIsSubmitting] = useState(false) @@ -23,7 +23,7 @@ export default function AddQuestion (props) { useEffect(() => { console.info('Fetching subject names') fetch(`${constants.apiUrl}dataCount?detailed=true`, { - credentials: 'include' + credentials: 'include', }) .then((resp) => { return resp.json() @@ -43,7 +43,7 @@ export default function AddQuestion (props) { setForm({ ...form, - quiz: quiz + quiz: quiz, }) } @@ -54,40 +54,37 @@ export default function AddQuestion (props) { return (
-
+
onChange({ ...currData, Q: e.target.value }, index)} + placeholder="Kérdés..." + type="text" + onChange={(e) => + onChange({ ...currData, Q: e.target.value }, index) + } value={Q || ''} className={styles.questionInput} />
-
+
onChange({ ...currData, A: e.target.value }, index)} + placeholder="Válasz..." + type="text" + onChange={(e) => + onChange({ ...currData, A: e.target.value }, index) + } value={A || ''} className={styles.questionInput} />
-
+
{ + type="text" + onChange={(e) => { // TODO: handle JSON // try { // let newData = JSON.parse(e.target.value) // onChange({ ...currData, data: newData }, index) // } catch (e) { - // } }} value={JSON.stringify(data) || ''} @@ -112,7 +109,7 @@ export default function AddQuestion (props) { setForm({ ...form, - quiz: quiz + quiz: quiz, }) } @@ -143,17 +140,18 @@ export default function AddQuestion (props) { method: 'POST', credentials: 'include', headers: { - 'Accept': 'application/json', - 'Content-Type': 'application/json' + Accept: 'application/json', + 'Content-Type': 'application/json', }, body: JSON.stringify({ ...form, id: cid, version: 'WEBSITE', - scriptVersion: version - }) + scriptVersion: version, + }), }) - rawResponse.json() + rawResponse + .json() .then((resp) => { if (resp.success) { alert('Sikeres beküldés, ' + resp.newQuestions + ' új kérdés') // eslint-disable-line @@ -179,12 +177,12 @@ export default function AddQuestion (props) {
{renderQuestionInput({ index: i, - onChange + onChange, })}
) })} -
+
- {isSubmitting - ?
- Kérdések feldolgozása folyamatban, ha sokat küldtél, akkor több perc is lehet + {isSubmitting ? ( +
+ Kérdések feldolgozása folyamatban, ha sokat küldtél, akkor több perc + is lehet
- :
-
- } - + )} +
) } @@ -226,43 +218,47 @@ export default function AddQuestion (props) { // TODO: handle if new subject return (
- {isNewSubj - ? { setForm({ ...form, - subj: e.target.value + subj: e.target.value, }) - }} /> - : { setForm({ ...form, - subj: subjects[e.target.value] + subj: subjects[e.target.value], }) - }}> - + }} + > + {props.subjects.map((subjName, i) => { return ( - + ) })} - - - } + )} { setIsNewSubj(!isNewSubj) }} + onClick={() => { + setIsNewSubj(!isNewSubj) + }} > - {isNewSubj - ? 'Létező tárgy ...' - : 'Új tárgy ...' - } + {isNewSubj ? 'Létező tárgy ...' : 'Új tárgy ...'}
) @@ -270,31 +266,28 @@ export default function AddQuestion (props) { const renderUsage = () => { return ( -
    +
      +
    • Ezen az oldalon kérdéseket tudsz beküldeni manuálisan.
    • +
    • Ezek a kérdések ellenőrizve lesznek hogy megvannak-e már
    • - Ezen az oldalon kérdéseket tudsz beküldeni manuálisan. + Ha több válasz van, akkor ', '-vel válaszd el őket ( "válasz1, + válasz2, válasz3" )
    • - Ezek a kérdések ellenőrizve lesznek hogy megvannak-e már + Kérdéseknél az utolsó sor (ahol a JSON cucc van) jelenleg nem + módosítható, csak olyan 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
    • - Ha több válasz van, akkor ', '-vel válaszd el őket ( "válasz1, válasz2, válasz3" ) + Ha sok új kérdést küldsze be, akkor akár több percig is eltarthat a + dolog. Akárhány kérdést be lehet egyszerre küldeni, de max 10-15 az + ajánlott
    • - Kérdéseknél az utolsó sor (ahol a JSON cucc van) jelenleg nem módosítható, csak olyan - 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 -
    • -
    • - Ha sok új kérdést küldsze be, akkor akár több percig is eltarthat a dolog. Akárhány - kérdést be lehet egyszerre küldeni, de max 10-15 az ajánlott -
    • -
    • - Bármilyen szöveget beküldhettek, de ne tegyétek, más felhasználóknak és magatoknak lesz - rosz, ty! + Bármilyen szöveget beküldhettek, de ne tegyétek, más felhasználóknak + és magatoknak lesz rosz, ty!
    - ) } @@ -308,8 +301,6 @@ export default function AddQuestion (props) {
) } else { - return ( - - ) + return } } diff --git a/src/pages/feedback.js b/src/pages/feedback.js index ca474ba..f806ceb 100644 --- a/src/pages/feedback.js +++ b/src/pages/feedback.js @@ -10,10 +10,10 @@ const results = { success: 'SUCCESS', error: 'ERROR', notSent: 'NOTSENT', - invalid: 'INVALID' + invalid: 'INVALID', } -export default function Feedback (props) { +export default function Feedback(props) { const [form, setForm] = useState({}) const [file, setFile] = useState(undefined) const [result, setResult] = useState(results.notSent) @@ -22,18 +22,16 @@ export default function Feedback (props) { const onChange = (e) => { setForm({ ...form, - [e.target.name]: e.target.value + [e.target.name]: e.target.value, }) } const renderTextInputArea = (params) => { return (
-
- {params.text} -
+
{params.text}