const saveQuiz = (quiz) => { return async (dispatch) => { try { const data = { quizImage: quiz.avatar, quizTitle: quiz.quizTitle, quizDescription: quiz.quizDescription, quizCategory: quiz.quizCategory, quizType: quiz.quizType, quizDifficulty: quiz.quizDifficulty, quizQuestions: quiz.quizQuestions, }; await axios.post("/quiz", data); dispatch({ type: SAVE_QUIZ, }); } catch (error) { console.log(error); } }; }
export default function ProfileQuizes({ userQuizes }) { return ( <div className="profile-quizes"> <div className="profile-quizes__title">Quizes</div> {userQuizes ? ( <div className="profile-quizes__body"> {userQuizes.map((userQuiz, index) => ( <div key={index} className="profile-quizes__body--item"> <div>{userQuiz.quizTitle}</div> <div>{userQuiz.quizCategory}</div> <div>{userQuiz.quizQuestions.length}</div> </div> ))} </div> ) : ( <p>There is no quiz</p> )} </div> ); }
<div className="quiz__header--date">{quiz.quizDate}</div> <div className="quiz__header--question"> {quiz.quizQuestions.length} Question </div> <div className="quiz__header--img">
}; const question = quiz?.quizQuestions[step - 2]?.question || null; const answers = quiz?.quizQuestions[step - 2]?.answers || [];
} else if (action.by === "question") { quizesData = state.quizes.sort((a, b) => { if (a.quizQuestions.length < b.quizQuestions.length) { return -1; if (a.quizQuestions.length > b.quizQuestions.length) { return -1;
const create = (state = initialState, action) => { const questions = [...state.quiz.quizQuestions]; } else if ( state.step > 1 && (state.quiz.quizQuestions[state.step - 2].question === "" || state.quiz.quizQuestions[state.step - 2].answers.some( (item) => item.value === "" )) } else if ( action.value === -1 && state.quiz.quizQuestions[state.step - 2] ) { return { } else if ( action.value === 1 && state.quiz.quizQuestions[state.step - 2].question !== state.quiz.quizQuestions[state.quiz.quizQuestions.length - 1].question ) { return { ...state.quiz, quizQuestions: [ ...state.quiz.quizQuestions,
</div> <div className="quiz__header--question"> {randomQuiz.quizQuestions.length} Question </div> <div className="quiz__header--img">
if (question === quiz.quizQuestions.length - 1) { history.push({ pathname: `/result/${match.params.id}`, const que = quiz.quizQuestions[question]; const corAnswer = que.answers.filter((answer) => answer.answer === true); const incorAnswers = que.answers.filter( if (quiz?.quizQuestions.length) { setYourAnswers(new Array(quiz?.quizQuestions?.length)); setQuiz(response.data); setQuizAnswers( response.data.quizQuestions.map((item, index) => ({ questionIndex: index, answerIndex: item.answers.findIndex( return (jokerAnswers || quiz.quizQuestions[question].answers).map( (answer, index) => { return ( </div> <div className="section__question"> {quiz.quizQuestions[question].question} </div> <div className="section__answers">{answerSection()}</div>