import { useState, useEffect, useLayoutEffect, useRef } from "react"; import { Box, Button, IconButton, Typography, useMediaQuery, useTheme, } from "@mui/material"; import { collapseAllQuestions, createUntypedQuestion, } 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"; interface Props { openBranchingPage: boolean; setOpenBranchingPage: (a: boolean) => void; } export default function QuestionsPage({ openBranchingPage, setOpenBranchingPage, }: Props) { const theme = useTheme(); const { openedModalSettingsId } = useUiTools(); const isMobile = useMediaQuery(theme.breakpoints.down(660)); const quiz = useCurrentQuiz(); useLayoutEffect(() => { updateEditSomeQuestion(); }, []); const ref = useRef(); if (!quiz) return null; return ( <> {quiz.name ? quiz.name : "Заголовок quiz"} { createUntypedQuestion(quiz.backendId); }} sx={{ position: "fixed", left: isMobile ? "20px" : "250px", bottom: "140px", }} data-cy="create-question" > {createPortal(, document.body)} {openedModalSettingsId !== null && } ); }