import { Box, Typography, RadioGroup, FormGroup, FormControlLabel, Radio, Checkbox, useTheme, } from "@mui/material"; import { useQuizViewStore, updateAnswer, deleteAnswer } from "@root/quizView"; import RadioCheck from "@ui_kit/RadioCheck"; import RadioIcon from "@ui_kit/RadioIcon"; import type { QuizQuestionVariant } from "../../../model/questionTypes/variant"; type VariantProps = { stepNumber: number; currentQuestion: QuizQuestionVariant; }; export const Variant = ({ currentQuestion }: VariantProps) => { const { answers } = useQuizViewStore(); const theme = useTheme(); const { answer } = answers.find( ({ questionId }) => questionId === currentQuestion.content.id ) ?? {}; const Group = currentQuestion.content.multi ? FormGroup : RadioGroup; return ( {currentQuestion.title} answer === id )} sx={{ display: "flex", flexWrap: "wrap", flexDirection: "row", justifyContent: "space-between", flexBasis: "100%", marginTop: "20px", }} > {currentQuestion.content.variants.map((variant, index) => ( } icon={} /> ) : ( } icon={} /> ) } label={variant.answer} onClick={(event) => { event.preventDefault(); const variantId = currentQuestion.content.variants[index].id; if (currentQuestion.content.multi) { const currentAnswer = typeof answer !== "string" ? answer || [] : []; updateAnswer( currentQuestion.content.id, currentAnswer?.includes(variantId) ? currentAnswer?.filter((item) => item !== variantId) : [...currentAnswer, variantId] ); return; } updateAnswer(currentQuestion.content.id, variantId); if (answer === variantId) { deleteAnswer(currentQuestion.content.id); } }} /> ))} {currentQuestion.content.back && ( )} ); };