import { useState, useEffect, useLayoutEffect, useRef } from "react"; import { Box, Button, IconButton, Typography, useMediaQuery, useTheme, } from "@mui/material"; import { collapseAllQuestions, createUntypedQuestion, setQuestions, } from "@root/questions/actions"; import { decrementCurrentStep, incrementCurrentStep, } from "@root/quizes/actions"; import { useCurrentQuiz } from "@root/quizes/hooks"; import QuizPreview from "@ui_kit/QuizPreview/QuizPreview"; import { createPortal } from "react-dom"; import AddPlus from "../../assets/icons/questionsPage/addPlus"; import ArrowLeft from "../../assets/icons/questionsPage/arrowLeft"; import BranchingQuestions from "./BranchingModal/BranchingQuestionsModal"; import { QuestionSwitchWindowTool } from "./QuestionSwitchWindowTool"; import { useQuestionsStore } from "@root/questions/store"; import { updateEditSomeQuestion } from "@root/uiTools/actions"; import { useUiTools } from "@root/uiTools/store"; import { questionApi } from "@api/question"; import { useNavigate } from "react-router-dom"; interface Props { openBranchingPage: boolean; setOpenBranchingPage: (a: boolean) => void; widthMain: number; } export default function QuestionsPage({ openBranchingPage, setOpenBranchingPage, widthMain, }: Props) { const theme = useTheme(); const { openedModalSettingsId } = useUiTools(); const isMobile = useMediaQuery(theme.breakpoints.down(660)); const quiz = useCurrentQuiz(); const navigate = useNavigate(); const { questions } = useQuestionsStore(); useLayoutEffect(() => { updateEditSomeQuestion(); }, []); const ref = useRef(); if (!quiz) return null; return ( <> {quiz.name ? quiz.name : "Заголовок quiz"} {!openBranchingPage && ( )} { createUntypedQuestion(quiz.backendId); }} sx={{ position: "fixed", bottom: "103px", }} data-cy="create-question" > {createPortal(, document.body)} {openedModalSettingsId !== null && } ); }