diff --git a/src/MistakesHistory.js b/src/MistakesHistory.js
index fef5492..037752b 100644
--- a/src/MistakesHistory.js
+++ b/src/MistakesHistory.js
@@ -58,27 +58,31 @@ export default class IncorrectHistory extends Component {
.then((querySnapshot) => {
let incorrectAnswers = [];
querySnapshot.docs.map((doc, index, array) => {
- if (index === 0 || doc.data().term !== array[index - 1].data().term || doc.data().definition !== array[index - 1].data().definition) {
+ if (index === 0 || doc.data().term !== array[array.length - 1].data().term || doc.data().definition !== array[array.length - 1].data().definition) {
incorrectAnswers.push({
term: doc.data().term,
definition: doc.data().definition,
- answers: [{
- answer: doc.data().answer,
- switchLanguage: doc.data().switch_language,
- }],
- count: doc.data().switch_language ? 0 : 1,
- switchedCount: doc.data().switch_language ? 1 : 0,
+ switchedAnswers: {},
+ notSwitchedAnswers: {},
+ switchedCount: 0,
+ notSwitchedCount: 0,
});
- } else {
- incorrectAnswers[incorrectAnswers.length - 1].answers.push({
- answer: doc.data().answer,
- switchLanguage: doc.data().switch_language,
- });
- if (doc.data().switch_language) {
- incorrectAnswers[incorrectAnswers.length - 1].switchedCount++;
+ }
+
+ if (doc.data().switch_language) {
+ if (Object.keys(incorrectAnswers[incorrectAnswers.length - 1].switchedAnswers).includes(doc.data().answer)) {
+ incorrectAnswers[incorrectAnswers.length - 1].switchedAnswers[doc.data().answer]++;
} else {
- incorrectAnswers[incorrectAnswers.length - 1].count++;
+ incorrectAnswers[incorrectAnswers.length - 1].switchedAnswers[doc.data().answer] = 1;
}
+ incorrectAnswers[incorrectAnswers.length - 1].switchedCount++;
+ } else {
+ if (Object.keys(incorrectAnswers[incorrectAnswers.length - 1].notSwitchedAnswers).includes(doc.data().answer)) {
+ incorrectAnswers[incorrectAnswers.length - 1].notSwitchedAnswers[doc.data().answer]++;
+ } else {
+ incorrectAnswers[incorrectAnswers.length - 1].notSwitchedAnswers[doc.data().answer] = 1;
+ }
+ incorrectAnswers[incorrectAnswers.length - 1].notSwitchedCount++;
}
return true;
});
@@ -155,55 +159,65 @@ export default class IncorrectHistory extends Component {
?
{answerItem.answer === "" ? skipped : answerItem.answer}
+ {answer === "" ? skipped : answer}
+ {
+ vocabItem.switchedAnswers[answer] > 1 &&
+ {` (x${vocabItem.switchedAnswers[answer]})`}
+ }
+
{answerItem.answer === "" ? skipped : answerItem.answer}
- )) + }).map((answer, index) => ++ {answer === "" ? skipped : answer} + { + vocabItem.notSwitchedAnswers[answer] > 1 && + {` (x${vocabItem.notSwitchedAnswers[answer]})`} + } +
+ ) }