import { useParams } from "react-router-dom"; import { Box, Typography, Tooltip, useMediaQuery, useTheme, } from "@mui/material"; import { useDebouncedCallback } from "use-debounce"; import CustomCheckbox from "@ui_kit/CustomCheckbox"; import InfoIcon from "../../../assets/icons/InfoIcon"; import CustomTextField from "@ui_kit/CustomTextField"; import { questionStore, updateQuestionsList } from "@root/questions"; import type { QuizQuestionVariant } from "../../../model/questionTypes/variant"; interface Props { totalIndex: number; } export default function ResponseSettings({ totalIndex }: Props) { const quizId = Number(useParams().quizId); const { listQuestions } = questionStore(); const theme = useTheme(); const isTablet = useMediaQuery(theme.breakpoints.down(900)); const isFigmaTablte = useMediaQuery(theme.breakpoints.down(990)); const isMobile = useMediaQuery(theme.breakpoints.down(790)); const question = listQuestions[quizId][totalIndex] as QuizQuestionVariant; const debounced = useDebouncedCallback((value) => { updateQuestionsList(quizId, totalIndex, { content: { ...question.content, innerName: value }, }); }, 1000); return ( Настройки ответов { updateQuestionsList(quizId, totalIndex, { content: { ...question.content, largeCheck: target.checked, }, }); }} /> { updateQuestionsList(quizId, totalIndex, { content: { ...question.content, multi: target.checked }, }); }} /> { updateQuestionsList(quizId, totalIndex, { content: { ...question.content, own: target.checked }, }); }} /> Настройки вопросов { updateQuestionsList(quizId, totalIndex, { required: !target.checked, }); }} /> { updateQuestionsList(quizId, totalIndex, { content: { ...question.content, innerNameCheck: target.checked, innerName: target.checked ? question.content.innerName : "", }, }); }} /> {isMobile && ( )} {question.content.innerNameCheck && ( debounced(target.value)} /> )} ); }