From c49099b52e53b51fa3f28cc24c6769471a1a83e1 Mon Sep 17 00:00:00 2001 From: Nastya Date: Mon, 20 May 2024 05:54:30 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9B=D0=B5=D0=BD=D0=B8=D0=B2=D0=B0=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B4=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B0=20=D1=81?= =?UTF-8?q?=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86=20=D1=80=D0=B5=D0=B4=D0=B0?= =?UTF-8?q?=D0=BA=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BA=D0=B2=D0=B8=D0=B7=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/ResultPage/ResultPage.tsx | 2 +- src/pages/startPage/EditPage.tsx | 24 +++------------- src/ui_kit/switchStepPages.tsx | 43 +++++++++++++++-------------- 3 files changed, 28 insertions(+), 41 deletions(-) diff --git a/src/pages/ResultPage/ResultPage.tsx b/src/pages/ResultPage/ResultPage.tsx index beb78bbd..c49ef5e3 100644 --- a/src/pages/ResultPage/ResultPage.tsx +++ b/src/pages/ResultPage/ResultPage.tsx @@ -7,7 +7,7 @@ import { import { Box, Button } from "@mui/material"; import ArrowLeft from "@icons/questionsPage/arrowLeft"; -export const ResultPage = () => { +export default () => { return ( <> diff --git a/src/pages/startPage/EditPage.tsx b/src/pages/startPage/EditPage.tsx index 6850cfdf..3631271c 100755 --- a/src/pages/startPage/EditPage.tsx +++ b/src/pages/startPage/EditPage.tsx @@ -1,40 +1,24 @@ -import { quizApi } from "@api/quiz"; -import EyeIcon from "@icons/EyeIcon"; -import VisibilityIcon from "@mui/icons-material/Visibility"; - import { Box, - Button, - IconButton, - Switch, - Typography, useMediaQuery, useTheme, } from "@mui/material"; -import { setQuizes, updateQuiz, setCurrentStep } from "@root/quizes/actions"; +import { updateQuiz, setCurrentStep } from "@root/quizes/actions"; import { useCurrentQuiz } from "@root/quizes/hooks"; import { useQuizStore } from "@root/quizes/store"; -import Sidebar from "@ui_kit/Sidebar/Sidebar"; import Stepper from "@ui_kit/Stepper"; import SwitchStepPages from "@ui_kit/switchStepPages"; -import { useEffect, useRef, useState } from "react"; -import { Link, useNavigate } from "react-router-dom"; +import { useEffect, useRef } from "react"; +import { useNavigate } from "react-router-dom"; import { useDebouncedCallback } from "use-debounce"; -import { SidebarMobile } from "../../ui_kit/Sidebar/SidebarMobile"; -import { - cleanQuestions, - createResult, - setQuestions, -} from "@root/questions/actions"; +import { cleanQuestions } from "@root/questions/actions"; import { updateCanCreatePublic, updateModalInfoWhyCantCreate, setShowConfirmLeaveModal, updateSomeWorkBackend, } from "@root/uiTools/actions"; -import { Header } from "@ui_kit/Header/Header"; import { useQuestionsStore } from "@root/questions/store"; -import { questionApi } from "@api/question"; import { useUiTools } from "@root/uiTools/store"; import { AnyTypedQuizQuestion } from "@model/questionTypes/shared"; diff --git a/src/ui_kit/switchStepPages.tsx b/src/ui_kit/switchStepPages.tsx index ab72fb8b..6b16382b 100755 --- a/src/ui_kit/switchStepPages.tsx +++ b/src/ui_kit/switchStepPages.tsx @@ -1,19 +1,23 @@ +import type { SuspenseProps } from "react"; +import { lazy, Suspense } from "react"; import { QuizResultsType, QuizStartpageType, QuizType, } from "@model/quizSettings"; -import ContactFormPage from "../pages/ContactFormPage/ContactFormPage"; -import InstallQuiz from "../pages/InstallQuiz/InstallQuiz"; -import FormQuestionsPage from "../pages/Questions/Form/FormQuestionsPage"; -import QuestionsPage from "../pages/Questions/QuestionsPage"; -import { QuestionsMap } from "../pages/QuestionsMap"; -import { ResultPage } from "../pages/ResultPage/ResultPage"; -import { ResultSettings } from "../pages/ResultPage/ResultSettings"; -import StartPageSettings from "../pages/startPage/StartPageSettings"; -import StepOne from "../pages/startPage/stepOne"; -import Steptwo from "../pages/startPage/steptwo"; +const ContactFormPage = lazy(() => import("../pages/ContactFormPage/ContactFormPage")); +const InstallQuiz = lazy(() => import("../pages/InstallQuiz/InstallQuiz")); +const FormQuestionsPage = lazy(() => import("../pages/Questions/Form/FormQuestionsPage")); +const QuestionsPage = lazy(() => import("../pages/Questions/QuestionsPage")); +const ResultPage = lazy(() => import("../pages/ResultPage/ResultPage")); +const StartPageSettings = lazy(() => import("../pages/startPage/StartPageSettings")); +const StepOne = lazy(() => import("../pages/startPage/stepOne")); +const Steptwo = lazy(() => import("../pages/startPage/steptwo")); + +const LazyLoading = ({ children, fallback }: SuspenseProps) => ( + }>{children} +); interface Props { activeStep: number; quizType: QuizType; @@ -28,33 +32,32 @@ export default function SwitchStepPages({ activeStep = 1, quizType, quizStartPageType, - quizResults, openBranchingPage, setOpenBranchingPage, widthMain, }: Props) { switch (activeStep) { case 0: { - if (!quizType) return ; - if (!quizStartPageType) return ; - return ; + if (!quizType) return ; + if (!quizStartPageType) return ; + return ; } case 1: return quizType === "form" ? ( - + ) : ( - + /> ); case 2: - return ; + return ; case 3: - return ; + return ; case 4: - return ; + return ; default: throw new Error(`Invalid quiz setup step: ${activeStep}`); }