diff --git a/src/pages/ResultPage/ResultSettings.tsx b/src/pages/ResultPage/ResultSettings.tsx index 65a40fd7..e583995e 100644 --- a/src/pages/ResultPage/ResultSettings.tsx +++ b/src/pages/ResultPage/ResultSettings.tsx @@ -18,7 +18,7 @@ import { ResultCard, checkEmptyData } from "./cards/ResultCard"; import { EmailSettingsCard } from "./cards/EmailSettingsCard"; import { useCurrentQuiz } from "@root/quizes/hooks"; import { useQuestionsStore } from "@root/questions/store"; -import { deleteQuestion } from "@root/questions/actions"; +import { createResult, deleteQuestion } from "@root/questions/actions"; import { QuizQuestionResult } from "@model/questionTypes/result"; import IconPlus from "@icons/IconPlus"; @@ -57,6 +57,13 @@ export const ResultSettings = () => { ); useEffect(() => { + //Всегда должен существовать хоть 1 резулт - "line" + if ( + !questions?.find( (q) => (q.type === "result" && q.content.rule.parentId === "line")) + ) { + createResult(quiz?.backendId, "line"); + console.log("Я не нашёл линейный резулт и собираюсь создать новый"); + } return () => { if (!isReadyToLeaveRef.current && window.location.pathname !== "/edit") { setOpenNotificationModal(true); diff --git a/src/pages/startPage/EditPage.tsx b/src/pages/startPage/EditPage.tsx index 2466efb7..778bbbe5 100755 --- a/src/pages/startPage/EditPage.tsx +++ b/src/pages/startPage/EditPage.tsx @@ -54,13 +54,12 @@ export default function EditPage({ const { editQuizId } = useQuizStore(); const { questions } = useQuestionsStore(); console.log(questions); - const { whyCantCreatePublic, showConfirmLeaveModal } = useUiTools(); + const { whyCantCreatePublic, showConfirmLeaveModal, nextStep } = 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 [nextStep, setNextStep] = useState(0); const quizConfig = quiz?.config; // const [openBranchingPage, setOpenBranchingPage] = useState(false); diff --git a/src/stores/uiTools/actions.ts b/src/stores/uiTools/actions.ts index 2f3cd9cd..2ec4526e 100644 --- a/src/stores/uiTools/actions.ts +++ b/src/stores/uiTools/actions.ts @@ -40,3 +40,6 @@ export const setShowConfirmLeaveModal = (showConfirmLeaveModal: boolean) => export const updateSomeWorkBackend = (someWorkBackend: boolean) => useUiTools.setState({ someWorkBackend }); + +export const updateNextStep = (nextStep: number) => + useUiTools.setState({ nextStep }); diff --git a/src/stores/uiTools/store.ts b/src/stores/uiTools/store.ts index 3d297e39..122ccbf9 100644 --- a/src/stores/uiTools/store.ts +++ b/src/stores/uiTools/store.ts @@ -12,6 +12,7 @@ export type UiTools = { deleteNodeId: string | null; showConfirmLeaveModal: boolean; someWorkBackend: boolean; + nextStep: number }; export type WhyCantCreatePublic = { @@ -30,6 +31,7 @@ const initialState: UiTools = { deleteNodeId: null, showConfirmLeaveModal: false, someWorkBackend: false, + nextStep: -1 }; export const useUiTools = create()( diff --git a/src/ui_kit/Sidebar/Sidebar.tsx b/src/ui_kit/Sidebar/Sidebar.tsx index 9b11b3a2..915d72d3 100755 --- a/src/ui_kit/Sidebar/Sidebar.tsx +++ b/src/ui_kit/Sidebar/Sidebar.tsx @@ -11,6 +11,7 @@ import MenuItem from "../MenuItem"; import { useCurrentQuiz } from "@root/quizes/hooks"; import { useLocation, useNavigate } from "react-router-dom"; import { setCurrentStep } from "@root/quizes/actions"; +import { updateNextStep } from "@root/uiTools/actions"; const quizSettingsMenuItems = [ [TagIcon, "Дополнения"], @@ -37,6 +38,7 @@ export default function Sidebar({ changePage, disableCollapse }: SidebarProps) { navigate("/edit"); } + updateNextStep(index) changePage(index); }; @@ -106,9 +108,9 @@ export default function Sidebar({ changePage, disableCollapse }: SidebarProps) { key={index} text={menuItem.sidebarText} isCollapsed={isMenuCollapsed} - isActive={currentStep === index} + isActive={currentStep === index && pathname.startsWith("/edit")} disabled={ - index === 0 + pathname.startsWith("/edit") ? false : quiz === undefined ? true @@ -117,7 +119,7 @@ export default function Sidebar({ changePage, disableCollapse }: SidebarProps) { icon={