import { Box, Typography, RadioGroup, FormControlLabel, Radio, useTheme, FormControl, useMediaQuery } from "@mui/material"; import { modes } from "../../../utils/themes/Publication/themePublication"; import { useQuizViewStore, updateAnswer, deleteAnswer } from "@root/quizView/store"; import RadioCheck from "@ui_kit/RadioCheck"; import RadioIcon from "@ui_kit/RadioIcon"; import type { QuizQuestionEmoji } from "../../../model/questionTypes/emoji"; import { enqueueSnackbar } from "notistack"; import { sendAnswer } from "@api/quizRelase"; import { useQuestionsStore } from "@root/quizData/store" type EmojiProps = { currentQuestion: QuizQuestionEmoji; }; export const Emoji = ({ currentQuestion }: EmojiProps) => { const theme = useTheme(); const mode = modes; const isMobile = useMediaQuery(theme.breakpoints.down(650)); const { settings } = useQuestionsStore() const { answers } = useQuizViewStore(); const { answer } = answers.find( ({ questionId }) => questionId === currentQuestion.id ) ?? {}; return ( {currentQuestion.title} answer === id )} onChange={({ target }) =>{ console.log(currentQuestion.content.variants[Number(target.value)]) updateAnswer( currentQuestion.id, currentQuestion.content.variants[Number(target.value)].answer ) } } sx={{ display: "flex", flexWrap: "wrap", flexDirection: "row", justifyContent: "space-between", marginTop: "20px", }} > {currentQuestion.content.variants.map((variant, index) => ( {variant.extendedText && ( {variant.extendedText} )} { event.preventDefault(); try { await sendAnswer({ questionId: currentQuestion.id, body: currentQuestion.content.variants[index].answer, //@ts-ignore qid: settings.qid }) updateAnswer( currentQuestion.id, currentQuestion.content.variants[index].id ); } catch (e) { enqueueSnackbar("ответ не был засчитан") } if (answer === currentQuestion.content.variants[index].id) { deleteAnswer(currentQuestion.id); try { await sendAnswer({ questionId: currentQuestion.id, body: "", //@ts-ignore qid: settings.qid }) } catch (e) { enqueueSnackbar("ответ не был засчитан") } } }} control={ //@ts-ignore } icon={} /> } label={ {variant.answer} } /> ))} ); };