import { useState, useRef, useEffect } from "react"; import { Box, Button, FormControl, FormControlLabel, Link, Modal, Radio, RadioGroup, Tooltip, Typography, useTheme, Checkbox, } from "@mui/material"; import { AnyQuizQuestion, createBranchingRuleMain } from "../../../model/questionTypes/shared" import { Select } from "../Select"; import RadioCheck from "@ui_kit/RadioCheck"; import RadioIcon from "@ui_kit/RadioIcon"; import InfoIcon from "@icons/Info"; import { DeleteIcon } from "@icons/questionsPage/deleteIcon"; import { TypeSwitch, BlockRule } from "./Settings"; import { getQuestionById, updateOpenedModalSettingsId, updateQuestion } from "@root/questions/actions"; import { useQuestionsStore } from "@root/questions/store"; import { enqueueSnackbar } from "notistack"; export default function BranchingQuestions() { const theme = useTheme(); const { openedModalSettingsId } = useQuestionsStore(); const [targetQuestion, setTargetQuestion] = useState(getQuestionById(openedModalSettingsId)) const [parentQuestion, setParentQuestion] = useState(getQuestionById(openedModalSettingsId)) if (targetQuestion === null || parentQuestion === null) { enqueueSnackbar("Невозможно найти данные ветвления для этого вопроса") return <> } const saveData = () => { } const handleClose = () => { updateOpenedModalSettingsId() }; return ( <> <> {targetQuestion.title} { parentQuestion.content.rule.main.length ? parentQuestion.content.rule.main.map((e: any, i: number) => { if (e.next === targetQuestion.id) { return } else { <> } }) : } { const mutate = parentQuestion mutate.content.rule.main.push(createBranchingRuleMain(targetQuestion.id, parentQuestion.id)) setParentQuestion(mutate) }} > Добавить условие { const mutate = parentQuestion mutate.content.rule.default = targetQuestion.id setParentQuestion(mutate) }} />} label="Следующий вопрос по-умолчанию" /> ); }