import { Box, Button, IconButton, Modal, Typography, useMediaQuery, useTheme, } from "@mui/material"; import { copyQuestion, deleteQuestion, deleteQuestionWithTimeout, updateQuestion, } from "@root/questions/actions"; import CustomTextField from "@ui_kit/CustomTextField"; import { useState } from "react"; import { useDebouncedCallback } from "use-debounce"; import type { QuizQuestionPage } from "../../../model/questionTypes/page"; import ButtonsOptions from "../ButtonsOptions"; import SwitchPageOptions from "./switchPageOptions"; import { MediaSelectionAndDisplay } from "@ui_kit/MediaSelectionAndDisplay"; import { CopyIcon } from "@icons/questionsPage/CopyIcon"; import { DeleteFunction } from "@utils/deleteFunc"; import { DeleteIcon } from "@icons/questionsPage/deleteIcon"; import { useCurrentQuiz } from "@root/quizes/hooks"; import { useQuestionsStore } from "@root/questions/store"; import { updateDesireToOpenABranchingModal } from "@root/uiTools/actions"; type Props = { disableInput?: boolean; question: QuizQuestionPage; }; export default function PageOptions({ disableInput, question }: Props) { const [switchState, setSwitchState] = useState("setting"); const theme = useTheme(); const isTablet = useMediaQuery(theme.breakpoints.down(980)); const isFigmaTablet = useMediaQuery(theme.breakpoints.down(990)); const isMobile = useMediaQuery(theme.breakpoints.down(780)); const setText = useDebouncedCallback((value) => { updateQuestion(question.id, (question) => { if (question.type !== "page") return; question.content.text = value; }); }, 200); const quiz = useCurrentQuiz(); const { questions } = useQuestionsStore.getState(); const [openDelete, setOpenDelete] = useState(false); const openedModal = () => { updateDesireToOpenABranchingModal(question.content.id); }; const SSHC = (data: string) => { setSwitchState(data); }; return ( <> setText(target.value)} /> {/* */} copyQuestion(question.id, question.quizId)} > { if (question.type === null) { deleteQuestion(question.id); } if (question.content.rule.parentId.length !== 0) { setOpenDelete(true); } else { deleteQuestionWithTimeout(question.id, () => DeleteFunction(questions, question, quiz), ); } }} data-cy="delete-question" > setOpenDelete(false)}> Вы удаляете вопрос, участвующий в ветвлении. Все его потомки потеряют данные ветвления. Вы уверены, что хотите удалить вопрос? {/**/} {/**/} ); }