import { Box, FormControlLabel, Radio, useTheme } from "@mui/material"; import { enqueueSnackbar } from "notistack"; import { sendAnswer } from "@api/quizRelase"; import { useQuizViewStore } from "@stores/quizView"; import { useQuizData } from "@contexts/QuizDataContext"; import { quizThemes } from "@utils/themes/Publication/themePublication"; import RadioCheck from "@ui_kit/RadioCheck"; import RadioIcon from "@ui_kit/RadioIcon"; import type { MouseEvent } from "react"; import type { QuestionVariant } from "@/model/questionTypes/shared"; import type { QuizQuestionImages } from "@model/questionTypes/images"; type ImagesProps = { currentQuestion: QuizQuestionImages; variant: QuestionVariant; isSending: boolean; setIsSending: (isSending: boolean) => void; index: number; }; export const ImageVariant = ({ currentQuestion, variant, isSending, setIsSending, index, }: ImagesProps) => { const { quizId, preview } = useQuizData(); const { settings } = useQuizData(); const answers = useQuizViewStore((state) => state.answers); const { deleteAnswer, updateAnswer } = useQuizViewStore((state) => state); const theme = useTheme(); const answer = answers.find( ({ questionId }) => questionId === currentQuestion.id )?.answer; const onVariantClick = async (event: MouseEvent) => { event.preventDefault(); if (isSending) return; setIsSending(true); try { await sendAnswer({ questionId: currentQuestion.id, body: `${currentQuestion.content.variants[index].answer} `, qid: quizId, preview, }); updateAnswer( currentQuestion.id, currentQuestion.content.variants[index].id, currentQuestion.content.variants[index].points || 0 ); } catch (error) { enqueueSnackbar("ответ не был засчитан"); } if (answer === currentQuestion.content.variants[index].id) { deleteAnswer(currentQuestion.id); try { await sendAnswer({ questionId: currentQuestion.id, body: "", qid: quizId, preview, }); } catch (error) { enqueueSnackbar("ответ не был засчитан"); } } setIsSending(false); }; return ( {variant.extendedText && ( )} } icon={} sx={{ position: "absolute", top: "-297px", right: 0, }} /> } label={variant.answer} /> ); };