'use client'; import { Queries } from '@/api/queries'; import { v4 } from 'uuid'; import { useState, useEffect, useContext } from 'react'; import { IQuizQuestionsWinners } from '@/models/quizQuestionsWinners.model'; import QuizContext from '@/context/QuizContext'; interface IProps { quizId: number; quizFinished: boolean; } const QuizWinnerTable = ({ quizId, quizFinished }: IProps) => { // const [questionsData, setQuestionsData] = useState(); const [winnersData, setWinnersData] = useState(); const { questionsData } = useContext(QuizContext).quizQuestionsContext; useEffect(() => { if (quizFinished) { // Queries.getQuizQuestions().then((res) => { // setQuestionsData(res); // }); Queries.getQuizWinners(quizId).then((res) => { setWinnersData(res); }); } }, []); // const { data, error, isFetching } = useQuery({ // queryKey: ['quiz_questions_winners'], // queryFn: () => Queries.getQuizWinners(quizId), // keepPreviousData: true, // }); // if (isFetching) return ; // if (error) return

{JSON.stringify(error)}

; return winnersData?.data.length != 0 ? (

Bäsleşigiň jemi

{winnersData?.data[0].client_id ? (
) : null} {winnersData?.data[0].client.phone ? (
Gatnaşyjynyň tel. Beligisi
) : null} {winnersData?.data[0].client.answers.length != 0 ? (
Soraglara näçinji jogap berdi
) : null} {winnersData?.data[0].total_score_of_client ? (
Jogaplaryň jemi
) : null} {winnersData?.data[0].total_score_of_client ? (
Utuklaryň jemi
) : null}
{winnersData?.data.map((winner, id) => (
{id + 1}
{winnersData.data[0].client.phone ? (
+{winner.client.phone}
) : null} {winnersData.data[0].client.answers.length != 0 ? (
{questionsData ? questionsData.map((question) => { const matchingAnswer = winner.client.answers.find( (answer) => answer.question_id === question.id, ); return ( {matchingAnswer && matchingAnswer.serial_number_for_correct != null ? matchingAnswer.serial_number_for_correct : matchingAnswer && matchingAnswer.serial_number_for_correct === null ? 'X' : '0'} ); }) : null}
) : null} {winnersData.data[0].total_score_of_client ? (
{winner.correct_answers_time}
) : null} {winnersData.data[0].total_score_of_client ? (
{winner.total_score_of_client}
) : null}
))}
{winnersData?.data[0].client_id ? (
) : null} {winnersData?.data[0].client.phone ? (
Gatnaşyjynyň tel. Beligisi
) : null} {winnersData?.data[0].total_score_of_client ? (
Балы за быстроту
) : null} {winnersData?.data[0].total_score_of_client ? (
Utuklaryň jemi
) : null}
{winnersData?.data.map((winner, id) => (
{id + 1}
{winnersData.data[0].client.phone ? (
+{winner.client.phone}
) : null} {winnersData.data[0].total_score_of_client ? (
{winner.correct_answers_time}
) : null} {winnersData.data[0].total_score_of_client ? (
{winner.total_score_of_client}
) : null}
{winnersData?.data[0].client.answers.length != 0 ? (
Soraglara näçinji jogap berdi :
) : null} {winnersData.data[0].client.answers.length != 0 ? (
{questionsData ? questionsData.map((question) => { const matchingAnswer = winner.client.answers.find( (answer) => answer.question_id === question.id, ); return ( {matchingAnswer && matchingAnswer.serial_number_for_correct != null ? matchingAnswer.serial_number_for_correct : matchingAnswer && matchingAnswer.serial_number_for_correct === null ? 'X' : '0'} ); }) : null}
) : null}
))}

Belgileriň düşündirilişi

100
Bäsşeikde gazanylan utuklaryň jemi
100
Soraga jogaplaryň tertip belgisiniň jemi
1
Dogry jogaplara näçinji bolup jogap berdi
X
Soraga nädogry jogap berdi
0
Soraga jogap ugratmady
) : null; }; export default QuizWinnerTable;