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 CustomTextField from "@ui_kit/CustomTextField"; import InfoIcon from "../../../assets/icons/InfoIcon"; import { questionStore, updateQuestionsList } from "@root/questions"; import type { QuizQuestionVarImg } from "../../../model/questionTypes/varimg"; type SettingOptionsAndPictProps = { totalIndex: number; }; export default function SettingOptionsAndPict({ totalIndex }: SettingOptionsAndPictProps) { const quizId = Number(useParams().quizId); const { listQuestions } = questionStore(); const theme = useTheme(); const isWrappColumn = useMediaQuery(theme.breakpoints.down(980)); const isFigmaTablte = useMediaQuery(theme.breakpoints.down(990)); const isMobile = useMediaQuery(theme.breakpoints.down(680)); const question = listQuestions[quizId][totalIndex] as QuizQuestionVarImg; const debounced = useDebouncedCallback((replText) => { updateQuestionsList(quizId, totalIndex, { content: { ...question.content, replText }, }); }, 1000); const debounceDescription = useDebouncedCallback((value) => { updateQuestionsList(quizId, totalIndex, { content: { ...question.content, innerName: value }, }); }, 1000); return ( <> Настройки ответов { updateQuestionsList(quizId, totalIndex, { content: { ...question.content, own: target.checked }, }); }} /> {!isWrappColumn && ( Текст-заглушка на картинке debounced(target.value)} /> )} Настройки вопросов { updateQuestionsList(quizId, totalIndex, { content: { ...question.content, required: target.checked }, }); }} /> { updateQuestionsList(quizId, totalIndex, { content: { ...question.content, innerNameCheck: target.checked, innerName: "", }, }); }} /> {question.content.innerNameCheck && ( debounceDescription(target.value)} /> )} {isWrappColumn && ( <> Текст-заглушка на картинке debounced(target.value)} /> )} ); }