From 1ca17853e90da3131910398e520e3258e58659cc Mon Sep 17 00:00:00 2001 From: Nastya Date: Sat, 23 Dec 2023 18:29:33 +0300 Subject: [PATCH] =?UTF-8?q?=D1=83=20=D0=BB=D0=B8=D0=BD=D0=B5=D0=B9=D0=BD?= =?UTF-8?q?=D0=BE=D0=B9=20=D0=BF=D1=83=D0=B1=D0=BB=D0=B8=D0=BA=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B8=20=D0=BF=D0=BE=D0=BA=D0=B0=D0=B7=D1=8B=D0=B2=D0=B0?= =?UTF-8?q?=D1=8E=D1=82=D1=81=D1=8F=20=D1=88=D0=B0=D0=B3=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/ViewPublicationPage/ContactForm.tsx | 50 ++++++++++---- src/pages/ViewPublicationPage/Footer.tsx | 69 ++++++++++--------- src/pages/ViewPublicationPage/index.tsx | 2 + 3 files changed, 78 insertions(+), 43 deletions(-) diff --git a/src/pages/ViewPublicationPage/ContactForm.tsx b/src/pages/ViewPublicationPage/ContactForm.tsx index 728c7ba5..153a00c6 100644 --- a/src/pages/ViewPublicationPage/ContactForm.tsx +++ b/src/pages/ViewPublicationPage/ContactForm.tsx @@ -12,6 +12,7 @@ import { useState } from "react"; import { useQuestionsStore } from "@root/questions/store"; import type { AnyTypedQuizQuestion } from "../../model/questionTypes/shared"; +import { enqueueSnackbar } from "notistack"; type ContactFormProps = { currentQuestion: AnyTypedQuizQuestion; @@ -155,28 +156,53 @@ export const ContactForm = ({ ); }; -const Inputs = () => { +const Inputs = (currentQuestion: any) => { const quiz = useCurrentQuiz(); + const { questions } = useQuestionsStore() - let someUsed = [] - const Icons = icons.map((data) => { - const FC = quiz?.config.formContact[data.type] - if (FC.used) someUsed.push() - return - }) + const [name, setName] = useState("") + const [email, setEmail] = useState("") + const [phone, setPhone] = useState("") + const [text, setText] = useState("") + const [adress, setAdress] = useState("") - if (someUsed.length) { - return <>{someUsed} + //@ts-ignore + const FC: any = quiz?.config.formContact.fields + console.log(FC) + + //@ts-ignore + const Name = setName(target.value)} id={name} title={FC["name"].innerText || "Введите имя"} desc={FC["name"].text || "имя"} Icon={NameIcon} /> + //@ts-ignore + const Email = setEmail(target.value)} id={email} title={FC["email"].innerText || "Введите Email"} desc={FC["email"].text || "Email"} Icon={EmailIcon} /> + //@ts-ignore + const Phone = setPhone(target.value)} id={phone} title={FC["phone"].innerText || "Введите номер телефона"} desc={FC["phone"].text || "номер телефона"} Icon={PhoneIcon} /> + //@ts-ignore + const Text = setText(target.value)} id={text} title={FC["text"].innerText || "Введите фамилию"} desc={FC["text"].text || "фамилию"} Icon={TextIcon} /> + //@ts-ignore + const Adress = setAdress(target.value)} id={adress} title={FC["address"].innerText || "Введите адрес"} desc={FC["address"].text || "адрес"} Icon={AddressIcon} /> + + + + //@ts-ignore + if (questions.some((data) => data.used)) { + return <> + {FC["name"].used ? Name : <>} + {FC["email"].used ? Email : <>} + {FC["phone"].used ? Phone : <>} + {FC["text"].used ? Text : <>} + {FC["address"].used ? Adress : <>} + } else { return <> - {Icons[0]} - {Icons[1]} - {Icons[2]} + {Name} + {Email} + {Phone} } } + const CustomInput = ({ title, desc, Icon }: any) => { return {title} diff --git a/src/pages/ViewPublicationPage/Footer.tsx b/src/pages/ViewPublicationPage/Footer.tsx index 6833117d..4bf9cd4a 100644 --- a/src/pages/ViewPublicationPage/Footer.tsx +++ b/src/pages/ViewPublicationPage/Footer.tsx @@ -20,6 +20,7 @@ type FooterProps = { export const Footer = ({ setCurrentQuestion, question, setShowContactForm, setShowResultForm }: FooterProps) => { const [disablePreviousButton, setDisablePreviousButton] = useState(false); const [disableNextButton, setDisableNextButton] = useState(false); + const [stepNumber, setStepNumber] = useState(1); const quiz = useCurrentQuiz(); const { answers } = useQuizViewStore(); const questions = useQuestionsStore().questions as AnyTypedQuizQuestion[]; @@ -123,6 +124,7 @@ export const Footer = ({ setCurrentQuestion, question, setShowContactForm, setSh const followPreviousStep = () => { if (linear) { + setStepNumber(q=>q-1) const questionIndex = questions.findIndex(({ id }) => id === question.id); const previousQuestion = questions[questionIndex - 1]; @@ -150,6 +152,7 @@ export const Footer = ({ setCurrentQuestion, question, setShowContactForm, setSh if (linear) { + setStepNumber(q=>q+1) const questionIndex = questions.findIndex(({ id }) => id === question.id); const nextQuestion = questions[questionIndex + 1]; @@ -205,37 +208,41 @@ export const Footer = ({ setCurrentQuestion, question, setShowContactForm, setSh gap: "10px", }} > - - - {/* Шаг - - {stepNumber} */} - {/* */} - {/* Из - - {questions.length} - */} - + + {linear && + <> + + Шаг + + {stepNumber} + + Из + + {questions.filter(q=>q.type !== "result").length} + + + + }