frontPanel/src/pages/Questions/QuestionSwitchWindowTool.tsx

67 lines
2.0 KiB
TypeScript
Raw Normal View History

import { useEffect, useLayoutEffect } from "react";
2023-12-25 15:38:40 +00:00
import { Box, useMediaQuery, useTheme } from "@mui/material";
2023-11-29 15:45:15 +00:00
import { DraggableList } from "./DraggableList";
import { SwitchBranchingPanel } from "./SwitchBranchingPanel";
2023-11-29 15:45:15 +00:00
import { BranchingMap } from "./BranchingMap";
2023-12-25 15:38:40 +00:00
import { useQuestionsStore } from "@root/questions/store";
import { useUiTools } from "@root/uiTools/store";
2023-12-25 15:38:40 +00:00
import { useQuestions } from "@root/questions/hooks";
import { useCurrentQuiz } from "@root/quizes/hooks";
import { updateSomeWorkBackend } from "@root/uiTools/actions";
2023-12-25 15:38:40 +00:00
import {
copyQuestion,
deleteQuestion,
deleteQuestionWithTimeout,
clearRuleForAll,
updateQuestion,
getQuestionByContentId,
} from "@root/questions/actions";
import { updateRootContentId } from "@root/quizes/actions";
2023-11-29 15:45:15 +00:00
2023-12-25 15:38:40 +00:00
import type { AnyTypedQuizQuestion } from "@model/questionTypes/shared";
import { DeleteFunction } from "@utils/deleteFunc";
import { deleteTimeoutedQuestions } from "@utils/deleteTimeoutedQuestions";
2023-11-29 15:45:15 +00:00
interface Props {
openBranchingPage: boolean;
setOpenBranchingPage: (a:boolean) => void;
}
export const QuestionSwitchWindowTool = ({
openBranchingPage,
setOpenBranchingPage}:Props) => {
2023-12-25 15:38:40 +00:00
const { questions } = useQuestionsStore.getState();
const theme = useTheme();
const isMobile = useMediaQuery(theme.breakpoints.down(600));
const quiz = useCurrentQuiz();
console.log("Я компонент в котором отвечала")
2023-12-25 15:38:40 +00:00
const openBranchingPageHC = () => {
if (!openBranchingPage) {
deleteTimeoutedQuestions(questions, quiz)
2023-12-25 15:38:40 +00:00
}
setOpenBranchingPage(!openBranchingPage)
}
2023-12-25 15:38:40 +00:00
return (
<Box
sx={{
display: "flex",
gap: "20px",
flexWrap: "wrap",
marginBottom: isMobile ? "20px" : undefined,
}}
>
<Box sx={{ flexBasis: "796px" }}>
{openBranchingPage ? <BranchingMap /> : <DraggableList />}
2023-12-25 15:38:40 +00:00
</Box>
<SwitchBranchingPanel
openBranchingPage={openBranchingPage}
setOpenBranchingPage={openBranchingPageHC}
/>
2023-12-25 15:38:40 +00:00
</Box>
);
};