"use client"; import { Queries } from "@/api/queries"; import Loader from "@/components/Loader"; import QuizQuestionList from "@/components/quiz/QuizQuestionList"; import QuizSearch from "@/components/quiz/QuizSearch"; import QuizTable from "@/components/quiz/QuizTable"; import QuizWinnerTable from "@/components/quiz/QuizWinnerTable"; import GradientTitle from "@/components/vote/GradientTitle"; import { IQuizQuestions } from "@/models/quizQuestions.model"; import QuizProvider from "@/providers/QuizProvider"; import { useQuizSearchActive, useSteps } from "@/store/store"; import { Validator } from "@/utils/validator"; import Image from "next/image"; import Link from "next/link"; import { useEffect, useState } from "react"; import { useMediaQuery } from "usehooks-ts"; interface IParams { params: { quiz_id: string; }; } const page = ({ params }: IParams) => { const [quizFinished, setQuizFinished] = useState(false); const [data, setData] = useState(); const { active } = useQuizSearchActive(); const { step, setStep } = useSteps(); useEffect(() => { const local_info = sessionStorage.getItem("TURKMENTV_QUIZ_INFO"); if (!params.quiz_id) { Queries.getQuizQuestions().then((res) => { setData(res); if (res.data.questions) { res.data.questions.map((question) => question.status === "active" || question.status === "new" ? setQuizFinished(false) : setQuizFinished(true) ); } else if (res.data.steps && res.data.steps?.length > 0) { if (local_info) { if ( JSON.parse(local_info)?.tab && JSON.parse(local_info)?.uuid === res.data.uuid ) { setStep(JSON.parse(local_info)?.tab); } else { setStep(res.data.steps[res.data.steps.length - 1].tapgyr); } } else { setStep(res.data.steps[res.data.steps.length - 1].tapgyr); } for (let i = 0; i < res.data.steps.length; i++) { res.data.steps[i].questions.map((question) => question.status === "active" || question.status === "new" ? setQuizFinished(false) : setQuizFinished(true) ); } } }); } else { Queries.getQuiz(params.quiz_id).then((res) => { setData(res); if (res.data.questions) { res.data.questions.map((question) => question.status === "active" || question.status === "new" ? setQuizFinished(false) : setQuizFinished(true) ); } else if (res.data.steps && res.data.steps?.length > 0) { if (local_info) { if ( JSON.parse(local_info)?.tab && JSON.parse(local_info)?.uuid === res.data.uuid ) { setStep(JSON.parse(local_info)?.tab); } else { setStep(res.data.steps[res.data.steps.length - 1].tapgyr); } } else { setStep(res.data.steps[res.data.steps.length - 1].tapgyr); } for (let i = 0; i < res.data.steps.length; i++) { res.data.steps[i].questions.map((question) => question.status === "active" || question.status === "new" ? setQuizFinished(false) : setQuizFinished(true) ); } } }); } }, []); useEffect(() => { if (data) { sessionStorage.setItem( "TURKMENTV_QUIZ_INFO", JSON.stringify({ uuid: data.data.uuid, tab: step, }) ); } }, [data, step]); const mobile = useMediaQuery("(max-width: 768px)"); if (data) { if (!data.data) { return (
); } return (
{typeof data !== "string" ? (

{data ? Validator.reveseDate(data?.data.date) : null}

{data?.data.title}

{data?.data.description}

{data?.data.banner ? (
{mobile ? ( {"banner"} ) : ( {"banner"} )}
) : null}
{data?.data.rules && data.data.notes ? ( ) : null}
{data.data.has_steps !== 0 && data.data.steps && data.data.steps?.length > 0 && (

Gepleşik

{data.data.steps.map((item) => ( ))} Netije
)} {data?.data && !active ? ( ) : null} {data?.data.id && quizFinished && data.data.has_steps === 0 ? ( ) : null} {data?.data.id && data.data.has_steps === 0 && ( )}
) : (
Непредвиденная ошибка. Нет активной викторины.
)}
); } else { return (
); } }; export default page;