import { AnswerResponse, QuestionVariant } from "@/api/types"; import { useUserTest } from "@/api/userTests"; import Question from "@/components/question"; import Answer from "@/components/ui/answer"; import { Button, ButtonText } from "@/components/ui/button"; import Content from "@/components/ui/content"; import { Divider } from "@/components/ui/divider"; import UserTest from "@/components/user-test"; import { getUserTestStatus, TestStatus } from "@/utils/get-user-test-status"; import getUserTestTitle from "@/utils/get-user-test-title"; import { Stack, useLocalSearchParams } from "expo-router"; import { View } from "react-native"; const UserTestScreen = () => { const { id: idParam } = useLocalSearchParams<{ id: string }>(); const id = +idParam; const { data: userTest } = useUserTest(id); if (!userTest) return ( <> ); const status = getUserTestStatus(userTest); const displayCorrectAnswers = status !== TestStatus.InProgress; const handleContinueTest = () => { } const isCorrectVariation = (answer: AnswerResponse, variant: QuestionVariant) => { if(answer.is_correct) return true; const isCorrectVariant = (answer.question.correct_answers as number[]).includes(variant.id); const isUserAnsweredVariant = answer.answer ? (answer.answer as number[]).includes(variant.id) : false; return isCorrectVariant === isUserAnsweredVariant; } return ( <> {status === TestStatus.InProgress && } {userTest.answers.map((answer) => ( {answer.question.type !== 'text' && answer.question.variants.map((variant) => ( ))} {answer.question.type === 'text' && ( )} ))} ) } export default UserTestScreen;