import { quizApi } from "@api/quiz"; import { devlog } from "@frontend/kitui"; import BackArrowIcon from "@icons/BackArrowIcon"; import { Burger } from "@icons/Burger"; import EyeIcon from "@icons/EyeIcon"; import { PenaLogoIcon } from "@icons/PenaLogoIcon"; import { Box, Button, Container, FormControl, IconButton, Switch, TextField, Typography, useMediaQuery, useTheme, } from "@mui/material"; import {decrementCurrentStep, resetEditConfig, setQuizes, updateQuiz} from "@root/quizes/actions"; import { useCurrentQuiz } from "@root/quizes/hooks"; import { useQuizStore } from "@root/quizes/store"; import CustomAvatar from "@ui_kit/Header/Avatar"; import NavMenuItem from "@ui_kit/Header/NavMenuItem"; import PenaLogo from "@ui_kit/PenaLogo"; import Sidebar from "@ui_kit/Sidebar"; import Stepper from "@ui_kit/Stepper"; import SwitchStepPages from "@ui_kit/switchStepPages"; import { isAxiosError } from "axios"; import { enqueueSnackbar } from "notistack"; import React, { useEffect, useLayoutEffect, useState } from "react"; import { Link, useNavigate } from "react-router-dom"; import useSWR from "swr"; import { SidebarMobile } from "./Sidebar/SidebarMobile"; import { cleanQuestions, setQuestions } from "@root/questions/actions"; import { updateOpenBranchingPanel } from "@root/uiTools/actions"; import { BranchingPanel } from "../Questions/BranchingPanel"; import { useQuestionsStore } from "@root/questions/store"; import { useQuizes } from "@root/quizes/hooks"; import { questionApi } from "@api/question"; import { useUiTools } from "@root/uiTools/store"; import Logotip from "../Landing/images/icons/QuizLogo"; export default function EditPage() { const quiz = useCurrentQuiz(); const { editQuizId } = useQuizStore(); useEffect(() => { const getData = async () => { const quizes = await quizApi.getList(); setQuizes(quizes); const questions = await questionApi.getList({ quiz_id: editQuizId }); setQuestions(questions); }; getData(); }, []); const { openBranchingPanel } = useUiTools(); const theme = useTheme(); const navigate = useNavigate(); const currentStep = useQuizStore((state) => state.currentStep); const isTablet = useMediaQuery(theme.breakpoints.down(1000)); const isMobile = useMediaQuery(theme.breakpoints.down(660)); const [mobileSidebar, setMobileSidebar] = useState(false); const quizConfig = quiz?.config; const disableTest = quiz === undefined ? true : (quiz.config.type === null) useEffect(() => { if (editQuizId === null) navigate("/list"); }, [navigate, editQuizId]); useEffect( () => () => { resetEditConfig(); cleanQuestions(); }, [] ); console.log(currentStep) console.log(quizConfig) if (!quizConfig) return <> return ( <> {/*хедер*/} {isMobile ? : } {isTablet ? ( {isMobile ? ( setMobileSidebar(!mobileSidebar)} style={{ fontSize: "30px", color: "white", cursor: "pointer" }} /> ) : ( )} ) : ( <> )} {isMobile ? : } {/* Выбор текущей страницы редактирования чего-либо находится здесь */} {quizConfig && ( <> )} {[1].includes(currentStep) && !openBranchingPanel && quizConfig.type !== "form" && ( updateOpenBranchingPanel(e.target.checked)} sx={{ width: 50, height: 30, padding: 0, "& .MuiSwitch-switchBase": { padding: 0, margin: "2px", transitionDuration: "300ms", "&.Mui-checked": { transform: "translateX(20px)", color: theme.palette.brightPurple.main, "& + .MuiSwitch-track": { backgroundColor: "#E8DCF9", opacity: 1, border: 0, }, "&.Mui-disabled + .MuiSwitch-track": { opacity: 0.5 }, }, "&.Mui-disabled .MuiSwitch-thumb": { color: theme.palette.mode === "light" ? theme.palette.grey[100] : theme.palette.grey[600], }, "&.Mui-disabled + .MuiSwitch-track": { opacity: theme.palette.mode === "light" ? 0.7 : 0.3, }, }, "& .MuiSwitch-thumb": { boxSizing: "border-box", width: 25, height: 25, }, "& .MuiSwitch-track": { borderRadius: 13, backgroundColor: theme.palette.mode === "light" ? "#E9E9EA" : "#39393D", opacity: 1, transition: theme.transitions.create(["background-color"], { duration: 500, }), }, }} /> Логика ветвления )} {disableTest ? ( ) : ( )} ); }