diff --git a/src/components/subjectView.js b/src/components/subjectView.js
index c4b03f0..d09c49d 100644
--- a/src/components/subjectView.js
+++ b/src/components/subjectView.js
@@ -6,7 +6,7 @@ import SubjectSelector from '../components/SubjectSelector.js'
import styles from './subjectView.module.css'
-export default function SubjectView (props) {
+export default function SubjectView(props) {
const { data, onChange, deleteQuestion } = props
const [activeSubjName, setActiveSubjName] = useState('')
const [searchTerm, setSearchTerm] = useState('')
@@ -15,14 +15,16 @@ export default function SubjectView (props) {
const [qCount, setQCount] = useState(0)
useEffect(() => {
- setSCount(data.Subjects.length)
- setQCount(data.Subjects.reduce((acc, subj) => {
- return acc + subj.Questions.length
- }, 0))
+ setSCount(data.length)
+ setQCount(
+ data.reduce((acc, subj) => {
+ return acc + subj.Questions.length
+ }, 0)
+ )
}, [])
if (data) {
- let currSubj = data.Subjects.find((subj) => {
+ let currSubj = data.find((subj) => {
return subj.Name === activeSubjName
})
@@ -30,11 +32,13 @@ export default function SubjectView (props) {
{ setSearchTerm(e.target.value) }}
+ onChange={(e) => {
+ setSearchTerm(e.target.value)
+ }}
/>
@@ -50,7 +54,9 @@ export default function SubjectView (props) {
data={data}
activeSubjName={activeSubjName}
searchTerm={searchTerm}
- onSubjSelect={(subjName) => { setActiveSubjName(subjName) }}
+ onSubjSelect={(subjName) => {
+ setActiveSubjName(subjName)
+ }}
/>
@@ -66,8 +72,6 @@ export default function SubjectView (props) {
)
} else {
- return (
-
- )
+ return
}
}
diff --git a/src/pages/index.js b/src/pages/index.js
index 6d2731f..783f310 100644
--- a/src/pages/index.js
+++ b/src/pages/index.js
@@ -11,7 +11,7 @@ import constants from '../constants.json'
const views = {
subject: 'SUBJECT',
question: 'QUESTION',
- welcome: 'WELCOME'
+ welcome: 'WELCOME',
}
// TODO: Add question on subjects view
@@ -19,7 +19,7 @@ const views = {
// TODO: question.data editor
// TODO: edit \n-s in questions / answers
-export default function Index (props) {
+export default function Index(props) {
const [data, setData] = useState(null)
const [view, setView] = useState(views.welcome)
const [sending, setSending] = useState(false)
@@ -31,16 +31,16 @@ export default function Index (props) {
const getCount = (d) => {
return {
- subjectCount: d.Subjects.length,
- questionCount: d.Subjects.reduce((acc, subj) => {
+ subjectCount: d.length,
+ questionCount: d.reduce((acc, subj) => {
acc += subj.Questions.length
return acc
- }, 0)
+ }, 0),
}
}
const setIndexes = (d) => {
- d.Subjects.forEach((subj, i) => {
+ d.forEach((subj, i) => {
subj.ind = i
subj.Questions.forEach((question, j) => {
question.ind = j
@@ -54,7 +54,7 @@ export default function Index (props) {
const toFetch = `${constants.apiUrl}data.json`
console.info('Fetching', toFetch)
fetch(toFetch, {
- credentials: 'include'
+ credentials: 'include',
})
.then((resp) => {
if (resp && resp.ok) {
@@ -81,31 +81,25 @@ export default function Index (props) {
}, [])
if (error) {
- return (
-
- {error}
-
- )
+ return
{error}
}
const deleteQuestion = (subjInd, questionInd) => {
- data.Subjects[subjInd].Questions.splice(questionInd, 1)
+ data[subjInd].Questions.splice(questionInd, 1)
- setData({
- ...setIndexes(data)
- })
+ setData([...setIndexes(data)])
}
const onChange = (subjInd, questionInd, newVal) => {
const key = subjInd + '/' + questionInd
setEditedQuestions({
...editedQuestions,
- [key]: editedQuestions[key] ? editedQuestions[key] + 1 : 1
+ [key]: editedQuestions[key] ? editedQuestions[key] + 1 : 1,
})
- data.Subjects[subjInd].Questions[questionInd] = newVal
+ data[subjInd].Questions[questionInd] = newVal
setData({
- ...data
+ ...data,
})
}
@@ -119,8 +113,8 @@ export default function Index (props) {
const rawResponse = await fetch(constants.apiUrl + 'uploaddata', {
method: 'POST',
headers: {
- 'Accept': 'application/json',
- 'Content-Type': 'application/json'
+ Accept: 'application/json',
+ 'Content-Type': 'application/json',
},
credentials: 'include',
body: JSON.stringify({
@@ -128,32 +122,35 @@ export default function Index (props) {
count: getCount(data),
initialCount: initialCount,
password: password,
- editedQuestions: editedQuestions
- })
+ editedQuestions: editedQuestions,
+ }),
})
- rawResponse.json()
+ rawResponse
+ .json()
.then((resp) => {
setSending(false)
if (resp.status === 'ok') {
- alert(`Sikeres feltöltés! thankx ${resp.user}!`) // eslint-disable-line
+ alert(`Sikeres feltöltés! thankx ${resp.user}!`) // eslint-disable-line
console.log('OK')
} else if (resp.status === 'invalidPass') {
- alert('Hibás jelszó!') // eslint-disable-line
+ alert('Hibás jelszó!') // eslint-disable-line
console.log('invalidPass')
} else {
- alert('Hiba feltöltés közben! (szerver oldalon)! Több adat konzolban') // eslint-disable-line
+ alert(
+ 'Hiba feltöltés közben! (szerver oldalon)! Több adat konzolban'
+ ) // eslint-disable-line
console.error('RESPONSE', resp)
console.error(resp.message)
}
})
.catch((e) => {
setSending(false)
- alert('Hiba feltöltés közben! (kliens oldalon)! Több adat konzolban') // eslint-disable-line
+ alert('Hiba feltöltés közben! (kliens oldalon)! Több adat konzolban') // eslint-disable-line
console.error('Error posting data', e)
})
} catch (e) {
setSending(false)
- alert('Hiba feltöltés közben! (kliens oldalon)! Több adat konzolban') // eslint-disable-line
+ alert('Hiba feltöltés közben! (kliens oldalon)! Több adat konzolban') // eslint-disable-line
console.error('Error posting data', e)
}
}
@@ -182,29 +179,25 @@ export default function Index (props) {
{initialCount.questionCount} kérdés, {initialCount.subjectCount} tárgy
- Itt az éles adatbázis kérdései jelennek meg, amiket tudsz szerkeszteni. A kérdésekhez
- tartozó '.data' prop-ot még nem tudod rendesen szerkeszteni, az később lesz implementálva.
- A Tárgy / Kérdés nézet között tudsz válogatni.
+ Itt az éles adatbázis kérdései jelennek meg, amiket tudsz
+ szerkeszteni. A kérdésekhez tartozó '.data' prop-ot még nem tudod
+ rendesen szerkeszteni, az később lesz implementálva. A Tárgy / Kérdés
+ nézet között tudsz válogatni.
- Tárgy nézet: a tárgyak dobozban kattints egy tárgyra, minden kérdés ott lessz hozzá.
+ Tárgy nézet: a tárgyak dobozban kattints egy tárgyra, minden kérdés
+ ott lessz hozzá.
- Kérdés nézet: Kereső sávba írd be a kérdést / választ, a találatok ha kevesebb mint 250
- megjelennek, és ott tudod szerkeszteni
+ Kérdés nézet: Kereső sávba írd be a kérdést / választ, a találatok ha
+ kevesebb mint 250 megjelennek, és ott tudod szerkeszteni
}
return (
@@ -219,10 +212,12 @@ export default function Index (props) {