WikiLerni/front/src/tools/answers.js

46 lines
1.5 KiB
JavaScript

const configFrontEnd = require("../config/general");
import { saveLocaly } from "./clientstorage.js";
import { isEmpty, replaceAll } from "../../../tools/main";
const txt = require("../../../lang/"+configFrontEnd.lang+"/answer");
// Enregistrement côté client du dernier résultat à un quiz en attendant d'être connecté
export const saveAnswer = (answer) =>
{
if(!isEmpty(answer.duration) && !isEmpty(answer.nbCorrectAnswers) && !isEmpty(answer.nbQuestions) && (!isEmpty(answer.QuestionnaireId) || !isEmpty(answer.GroupId)))
{
saveLocaly("lastAnswer", answer);
return true;
}
else
return false;
}
// Retourne le texte suivant le nombre de bonnes réponses
export const checkAnswerOuput = (answer) =>
{
if(!isEmpty(answer.duration) && !isEmpty(answer.nbCorrectAnswers) && !isEmpty(answer.nbQuestions))
{
const ratio=answer.nbCorrectAnswers/answer.nbQuestions;
const mapObj=
{
DURATION: answer.duration,
NBCORRECTANSWERS: answer.nbCorrectAnswers,
NBQUESTIONS: answer.nbQuestions
}
let output="";
if(ratio < 0.4)
output=replaceAll(txt.checkResponsesOuputFail, mapObj);
else if(ratio < 0.8)
output=replaceAll(txt.checkResponsesOuputMedium, mapObj);
else
output=replaceAll(txt.checkResponsesOuputSuccess, mapObj);
if(output)
return output;
else
return "";
}
else
return "";
}