diff --git a/src/App.tsx b/src/App.tsx
index 09a95a93..ff27dd94 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -101,13 +101,6 @@ export function useUserAccountFetcher({
dayjs.locale("ru");
const routeslink = [
- {
- path: "/list",
- page: ,
- header: false,
- sidebar: false,
- footer: false,
- },
{
path: "/tariffs",
page: ,
@@ -122,13 +115,6 @@ const routeslink = [
sidebar: true,
footer: true,
},
- {
- path: "/view",
- page: ,
- header: false,
- sidebar: false,
- footer: false,
- },
{
path: "/design",
page: ,
@@ -211,13 +197,20 @@ export default function App() {
}
/>
+ } />
+ } />
}>
{routeslink.map((e, i) => (
+
}
/>
))}
diff --git a/src/pages/DesignPage/DesignPage.tsx b/src/pages/DesignPage/DesignPage.tsx
index 94c5f547..8940a67c 100644
--- a/src/pages/DesignPage/DesignPage.tsx
+++ b/src/pages/DesignPage/DesignPage.tsx
@@ -25,19 +25,6 @@ import QuizPreview from "@ui_kit/QuizPreview/QuizPreview";
export const DesignPage = () => {
const quiz = useCurrentQuiz();
const { editQuizId } = useQuizStore();
-
- useEffect(() => {
- const getData = async () => {
- const quizes = await quizApi.getList();
- setQuizes(quizes);
- if (editQuizId) {
- const questions = await questionApi.getList({ quiz_id: editQuizId });
- setQuestions(questions);
- }
- };
- getData();
- }, []);
-
const { showConfirmLeaveModal } = useUiTools();
const theme = useTheme();
const navigate = useNavigate();
diff --git a/src/pages/createQuize/MyQuizzesFull.tsx b/src/pages/createQuize/MyQuizzesFull.tsx
index b0f15fe1..44c2099d 100644
--- a/src/pages/createQuize/MyQuizzesFull.tsx
+++ b/src/pages/createQuize/MyQuizzesFull.tsx
@@ -15,6 +15,7 @@ import { useNavigate } from "react-router-dom";
import { resetEditConfig } from "@root/quizes/actions";
import FirstQuiz from "./FirstQuiz";
import QuizCard from "./QuizCard";
+import HeaderFull from "@ui_kit/Header/HeaderFull";
interface Props {
outerContainerSx?: SxProps;
@@ -32,6 +33,7 @@ export default function MyQuizzesFull({
return (
<>
+
{quizes.length === 0 ? (
) : (
diff --git a/src/pages/main.tsx b/src/pages/main.tsx
index 0aee0fe8..50ca3118 100755
--- a/src/pages/main.tsx
+++ b/src/pages/main.tsx
@@ -3,10 +3,10 @@ import Sidebar from "@ui_kit/Sidebar";
import Box from "@mui/material/Box";
import { useTheme, useMediaQuery } from "@mui/material";
import HeaderFull from "@ui_kit/Header/HeaderFull";
-import { useState } from "react";
+import { useEffect, useState } from "react";
import { SidebarMobile } from "./startPage/Sidebar/SidebarMobile";
import { setShowConfirmLeaveModal } from "@root/uiTools/actions";
-import { setCurrentStep } from "@root/quizes/actions";
+import { setCurrentStep, setQuizes } from "@root/quizes/actions";
import { useQuizStore } from "@root/quizes/store";
import { SmallSwitchQuestionListGraph } from "@ui_kit/Toolbars/SmallSwitchQuestionListGraph";
import { PanelSwitchQuestionListGraph } from "@ui_kit/Toolbars/PanelSwitchQuestionListGraph";
@@ -17,6 +17,9 @@ import { LinkSimple } from "@icons/LinkSimple";
import { useCurrentQuiz } from "@root/quizes/hooks";
import { deleteTimeoutedQuestions } from "@utils/deleteTimeoutedQuestions";
import { useQuestionsStore } from "@root/questions/store";
+import { quizApi } from "@api/quiz";
+import { questionApi } from "@api/question";
+import { createResult, setQuestions } from "@root/questions/actions";
interface Props {
sidebar: boolean;
@@ -30,7 +33,34 @@ export default function Main({ sidebar, header, footer, page }: Props) {
const quiz = useCurrentQuiz();
const quizConfig = quiz?.config;
const { questions } = useQuestionsStore();
+ const { editQuizId } = useQuizStore();
const currentStep = useQuizStore((state) => state.currentStep);
+
+ useEffect(() => {
+ const getData = async () => {
+ const quizes = await quizApi.getList();
+ setQuizes(quizes);
+
+ if (editQuizId) {
+ const questions = await questionApi.getList({ quiz_id: editQuizId });
+
+ setQuestions(questions);
+ //Всегда должен существовать хоть 1 резулт - "line"
+ if (
+ !questions?.find(
+ (q) =>
+ (q.type === "result" && q.content.includes(':"line"')) ||
+ q.content.includes(":'line'"),
+ )
+ ) {
+ createResult(quiz?.backendId, "line");
+ console.log("Я не нашёл линейный резулт и собираюсь создать новый");
+ }
+ }
+ };
+ getData();
+ }, []);
+
const isMobile = useMediaQuery(theme.breakpoints.down(600));
const isMobileSm = useMediaQuery(theme.breakpoints.down(370));
const isBranchingLogic = useMediaQuery(theme.breakpoints.down(1100));
@@ -45,6 +75,9 @@ export default function Main({ sidebar, header, footer, page }: Props) {
}
setOpenBranchingPage((old) => !old);
};
+
+ if (!quizConfig) return <>>;
+
const isConditionMet =
[1].includes(currentStep) && quizConfig.type !== "form";
@@ -58,9 +91,10 @@ export default function Main({ sidebar, header, footer, page }: Props) {
setCurrentStep(index);
};
+
return (
<>
- {header ? : }
+
{page}
- {footer ? (
+
+ {footer && (
)}
- ) : (
- <>>
)}
diff --git a/src/pages/startPage/EditPage.tsx b/src/pages/startPage/EditPage.tsx
index b5fe6a2d..3b4a15c8 100755
--- a/src/pages/startPage/EditPage.tsx
+++ b/src/pages/startPage/EditPage.tsx
@@ -41,65 +41,22 @@ import { AnyTypedQuizQuestion } from "@model/questionTypes/shared";
import { ModalInfoWhyCantCreate } from "./ModalInfoWhyCantCreate";
import { ConfirmLeaveModal } from "./ConfirmLeaveModal";
import { checkQuestionHint } from "@utils/checkQuestionHint";
-import { deleteTimeoutedQuestions } from "@utils/deleteTimeoutedQuestions";
-import { toggleQuizPreview } from "@root/quizPreview";
-import { LinkSimple } from "@icons/LinkSimple";
-import { SmallSwitchQuestionListGraph } from "@ui_kit/Toolbars/SmallSwitchQuestionListGraph";
-import { PanelSwitchQuestionListGraph } from "@ui_kit/Toolbars/PanelSwitchQuestionListGraph";
-import { ButtonTestPublication } from "@ui_kit/Toolbars/ButtonTestPublication";
-import { ButtonRecallQuiz } from "@ui_kit/Toolbars/ButtonRecallQuiz";
export default function EditPage() {
const quiz = useCurrentQuiz();
const { editQuizId } = useQuizStore();
const { questions } = useQuestionsStore();
console.log(questions);
-
- useEffect(() => {
- const getData = async () => {
- const quizes = await quizApi.getList();
- setQuizes(quizes);
-
- if (editQuizId) {
- const questions = await questionApi.getList({ quiz_id: editQuizId });
-
- setQuestions(questions);
- //Всегда должен существовать хоть 1 резулт - "line"
- if (
- !questions?.find(
- (q) =>
- (q.type === "result" && q.content.includes(':"line"')) ||
- q.content.includes(":'line'"),
- )
- ) {
- createResult(quiz?.backendId, "line");
- console.log("Я не нашёл линейный резулт и собираюсь создать новый");
- }
- }
- };
- getData();
- }, []);
-
const { whyCantCreatePublic, showConfirmLeaveModal } = useUiTools();
const theme = useTheme();
const navigate = useNavigate();
const currentStep = useQuizStore((state) => state.currentStep);
const isBranchingLogic = useMediaQuery(theme.breakpoints.down(1100));
const isMobile = useMediaQuery(theme.breakpoints.down(660));
- const isLinkButton = useMediaQuery(theme.breakpoints.down(708));
- const isMobileSm = useMediaQuery(theme.breakpoints.down(370));
- const [mobileSidebar, setMobileSidebar] = useState(false);
const [nextStep, setNextStep] = useState(0);
const quizConfig = quiz?.config;
const [openBranchingPage, setOpenBranchingPage] = useState(false);
- const openBranchingPageHC = () => {
- if (!openBranchingPage) {
- deleteTimeoutedQuestions(questions, quiz);
- }
- setOpenBranchingPage((old) => !old);
- };
-
useEffect(() => {
if (editQuizId === null) navigate("/list");
}, [navigate, editQuizId]);
@@ -144,33 +101,14 @@ export default function EditPage() {
const isConditionMet =
[1].includes(currentStep) && quizConfig.type !== "form";
- const changePage = (index: number) => {
- if (currentStep === 2) {
- setNextStep(index);
- setShowConfirmLeaveModal(true);
-
- return;
- }
-
- setCurrentStep(index);
- };
-
return (
<>
- {/**/}
-
- {/*{isMobile ? (*/}
- {/* */}
- {/*) : (*/}
- {/* */}
- {/*)}*/}
-
)}
-
- {/**/}
- {/* {isConditionMet &&*/}
- {/* (isBranchingLogic ? (*/}
- {/* */}
- {/* ) : (*/}
- {/* */}
- {/* ))}*/}
- {/* /!* Кнопка тестового просмотра *!/*/}
- {/* */}
- {/* /!* Кнопка отозвать *!/*/}
- {/* */}
- {/* /!* Ссылка *!/*/}
- {/* {quiz?.status === "start" &&*/}
- {/* (!isLinkButton ? (*/}
- {/* */}
- {/* https://hbpn.link/{quiz.qid}*/}
- {/* */}
- {/* ) : (*/}
- {/* */}
- {/* */}
- {/* */}
- {/* ))}*/}
- {/* /!* Маленькая кнопка ссылки *!/*/}
- {/* {isMobile && quiz?.status === "start" && (*/}
- {/* */}
- {/* */}
- {/* */}
- {/* )}*/}
- {/**/}