import { Box, FormControlLabel, Radio, RadioGroup, Typography, useTheme } from "@mui/material"; import { deleteAnswer, updateAnswer, useQuizViewStore } from "@stores/quizView"; import RadioCheck from "@ui_kit/RadioCheck"; import RadioIcon from "@ui_kit/RadioIcon"; import { sendAnswer } from "@api/quizRelase"; import BlankImage from "@icons/BlankImage"; import { useQuizData } from "@utils/hooks/useQuizData"; import { quizThemes } from "@utils/themes/Publication/themePublication"; import { enqueueSnackbar } from "notistack"; import { useQuizId } from "../../../contexts/QuizIdContext"; import { useRootContainerSize } from "../../../contexts/RootContainerWidthContext"; import type { QuizQuestionVarImg } from "../../../model/questionTypes/varimg"; type VarimgProps = { currentQuestion: QuizQuestionVarImg; }; export const Varimg = ({ currentQuestion }: VarimgProps) => { const { settings } = useQuizData(); const { answers } = useQuizViewStore(); const qid = useQuizId(); const theme = useTheme(); const isMobile = useRootContainerSize() < 650; const { answer } = answers.find( ({ questionId }) => questionId === currentQuestion.id ) ?? {}; const variant = currentQuestion.content.variants.find( ({ id }) => answer === id ); return ( {currentQuestion.title} answer === id )} sx={{ display: "flex", flexWrap: "wrap", flexDirection: "row", justifyContent: "space-between", flexBasis: "100%", }} > {currentQuestion.content.variants.map((variant, index) => ( { event.preventDefault(); try { await sendAnswer({ questionId: currentQuestion.id, body: `${currentQuestion.content.variants[index].answer} `, qid, }); updateAnswer( currentQuestion.id, currentQuestion.content.variants[index].id, currentQuestion.content.variants[index].points || 0 ); } catch (e) { enqueueSnackbar("ответ не был засчитан"); } if (answer === currentQuestion.content.variants[index].id) { try { await sendAnswer({ questionId: currentQuestion.id, body: "", qid, }); } catch (e) { enqueueSnackbar("ответ не был засчитан"); } deleteAnswer(currentQuestion.id); } }} control={ } icon={} /> } label={variant.answer} /> ))} {/* {(variant?.extendedText || currentQuestion.content.back) && ( */} {answer ? ( variant?.extendedText ? ( ) : ( ) ) : currentQuestion.content.back !== " " && currentQuestion.content.back !== null ? ( ) : (currentQuestion.content.replText !== " " && currentQuestion.content.replText.length > 0) ? currentQuestion.content.replText : variant?.extendedText || isMobile ? ( "Выберите вариант ответа ниже" ) : ( "Выберите вариант ответа слева" )} {/* )} */} ); };