From eed127a23688db5d094e7ebee1e05f367ad6e08e Mon Sep 17 00:00:00 2001 From: IlyaDoronin Date: Fri, 1 Dec 2023 16:48:25 +0300 Subject: [PATCH] feat: new store for view --- src/pages/ViewPublicationPage/Footer.tsx | 4 +- .../StartPageViewPublication.tsx | 15 +++--- .../ViewPublicationPage/questions/Date.tsx | 13 ++--- .../ViewPublicationPage/questions/Emoji.tsx | 31 +++++++----- .../ViewPublicationPage/questions/File.tsx | 25 ++++------ .../ViewPublicationPage/questions/Images.tsx | 31 +++++++----- .../ViewPublicationPage/questions/Number.tsx | 50 ++++++++++++------- .../ViewPublicationPage/questions/Page.tsx | 14 +++--- .../ViewPublicationPage/questions/Rating.tsx | 15 +++--- .../ViewPublicationPage/questions/Select.tsx | 17 +++---- .../ViewPublicationPage/questions/Text.tsx | 19 +++---- .../ViewPublicationPage/questions/Variant.tsx | 3 +- .../ViewPublicationPage/questions/Varimg.tsx | 41 ++++++++------- src/pages/startPage/StartPage.tsx | 22 ++++---- 14 files changed, 161 insertions(+), 139 deletions(-) diff --git a/src/pages/ViewPublicationPage/Footer.tsx b/src/pages/ViewPublicationPage/Footer.tsx index 975def78..1a8ba1e3 100644 --- a/src/pages/ViewPublicationPage/Footer.tsx +++ b/src/pages/ViewPublicationPage/Footer.tsx @@ -25,8 +25,6 @@ export const Footer = ({ useEffect(() => { clearDisabledQuestions(); - const nextStepId = questions[stepNumber + 1].id; - const disabledIds = [] as string[]; const newDisabledIds = new Set([...disabledQuestionsId, ...disabledIds]); @@ -37,7 +35,7 @@ export const Footer = ({ const cleanDisabledQuestions = new Set(); answers.forEach(({ step, answer }) => { - questions[step].content.rule.main.forEach(({ next, rules }) => { + questions[step - 1].content.rule.main.forEach(({ next, rules }) => { rules.forEach(({ answers }) => { if (answer !== answers[0]) { cleanDisabledQuestions.add(next); diff --git a/src/pages/ViewPublicationPage/StartPageViewPublication.tsx b/src/pages/ViewPublicationPage/StartPageViewPublication.tsx index 3153015d..48ba2643 100644 --- a/src/pages/ViewPublicationPage/StartPageViewPublication.tsx +++ b/src/pages/ViewPublicationPage/StartPageViewPublication.tsx @@ -1,3 +1,4 @@ +import { useParams } from "react-router-dom"; import { Box, Button, @@ -12,7 +13,8 @@ import { devlog } from "@frontend/kitui"; import { quizApi } from "@api/quiz"; -import { useCurrentQuiz } from "@root/quizes/hooks"; +import { useQuizStore } from "@root/quizes/store"; +import { useQuestions } from "@root/questions/hooks"; import { setQuizes } from "@root/quizes/actions"; type StartPageViewPublicationProps = { @@ -24,9 +26,12 @@ export const StartPageViewPublication = ({ setStepNumber, showNextButton, }: StartPageViewPublicationProps) => { + const quizId = Number(useParams().quizId); + const { quizes } = useQuizStore(); + const { questions } = useQuestions(); const theme = useTheme(); const isTablet = useMediaQuery(theme.breakpoints.down(630)); - const quiz = useCurrentQuiz(); + const quiz = quizes.find(({ backendId }) => quizId === backendId); const isMediaFileExist = quiz?.config.startpage.background.desktop || quiz?.config.startpage.background.video; @@ -103,10 +108,8 @@ export const StartPageViewPublication = ({ - + + +