import { FormControlLabel, Radio, useTheme } from "@mui/material"; import { enqueueSnackbar } from "notistack"; import { useQuizViewStore } from "@stores/quizView"; import { sendAnswer } from "@api/quizRelase"; 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 { QuizQuestionVarImg } from "@model/questionTypes/varimg"; type VarimgVariantProps = { currentQuestion: QuizQuestionVarImg; variant: QuestionVariant; index: number; isSending: boolean; setIsSending: (isSending: boolean) => void; }; export const VarimgVariant = ({ currentQuestion, variant, index, isSending, setIsSending }: VarimgVariantProps) => { const { settings, quizId, preview } = useQuizData(); const { updateAnswer, deleteAnswer } = useQuizViewStore((state) => state); const answers = useQuizViewStore((state) => state.answers); const theme = useTheme(); const { answer } = answers.find(({ questionId }) => questionId === currentQuestion.id) ?? {}; const sendVariant = async (event: MouseEvent) => { event.preventDefault(); 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) { try { await sendAnswer({ questionId: currentQuestion.id, body: "", qid: quizId, preview, }); } catch (error) { enqueueSnackbar("ответ не был засчитан"); } deleteAnswer(currentQuestion.id); } setIsSending(false); }; return ( } icon={} />} /> ); };