fix form quiz question components

This commit is contained in:
nflnkr 2023-11-29 18:33:54 +03:00
parent 02d2b2a325
commit 960ee026bd
3 changed files with 16 additions and 26 deletions

@ -12,7 +12,7 @@ import Page from "@icons/questionsPage/page";
import RatingIcon from "@icons/questionsPage/rating";
import Slider from "@icons/questionsPage/slider";
import { Box, InputAdornment, Paper } from "@mui/material";
import { updateQuestion } from "@root/questions/actions";
import { updateQuestion, updateUntypedQuestion } from "@root/questions/actions";
import CustomTextField from "@ui_kit/CustomTextField";
import { useRef, useState } from "react";
import type { DraggableProvidedDragHandleProps } from "react-beautiful-dnd";
@ -39,7 +39,9 @@ export default function QuestionsPageCard({
const anchorRef = useRef(null);
const setTitle = useDebouncedCallback((title) => {
updateQuestion(question.id, question => {
const updateQuestionFn = question.type === null ? updateUntypedQuestion : updateQuestion;
updateQuestionFn(question.id, question => {
question.title = title;
});
}, 200);
@ -106,7 +108,7 @@ export default function QuestionsPageCard({
}}
/>
{question.type === null ? (
null // <FormTypeQuestions question={question} /> // TODO
<FormTypeQuestions question={question} />
) : (
<SwitchQuestionsPage question={question} />
)}

@ -1,5 +1,5 @@
import { Box, Button, Typography, useTheme } from "@mui/material";
import { incrementCurrentStep } from "@root/quizes/actions";
import { decrementCurrentStep, incrementCurrentStep } from "@root/quizes/actions";
import QuizPreview from "@ui_kit/QuizPreview/QuizPreview";
import { createPortal } from "react-dom";
import AddAnswer from "../../../assets/icons/questionsPage/addAnswer";
@ -89,6 +89,7 @@ export default function FormQuestionsPage() {
<Button
variant="outlined"
sx={{ padding: "10px 20px", borderRadius: "8px", height: "44px" }}
onClick={decrementCurrentStep}
>
<ArrowLeft />
</Button>

@ -1,23 +1,20 @@
import { useState } from "react";
import { Box } from "@mui/material";
import QuestionsMiniButton from "@ui_kit/QuestionsMiniButton";
import ButtonsOptions from "../ButtonsOptions";
import SwitchAnswerOptions from "../answerOptions/switchAnswerOptions";
import { BUTTON_TYPE_QUESTIONS } from "../TypeQuestions";
import Answer from "../../../assets/icons/questionsPage/answer";
import Input from "../../../assets/icons/questionsPage/input";
import DropDown from "../../../assets/icons/questionsPage/drop_down";
import Date from "../../../assets/icons/questionsPage/date";
import Download from "../../../assets/icons/questionsPage/download";
import DropDown from "../../../assets/icons/questionsPage/drop_down";
import Input from "../../../assets/icons/questionsPage/input";
import Slider from "../../../assets/icons/questionsPage/slider";
import Download from "../../../assets/icons/questionsPage/download";
import type {
AnyTypedQuizQuestion,
} from "../../../model/questionTypes/shared";
import { QuestionType } from "@model/question/question";
import { updateQuestion } from "@root/questions/actions";
import { createTypedQuestion } from "@root/questions/actions";
import type {
UntypedQuizQuestion
} from "../../../model/questionTypes/shared";
type ButtonTypeQuestion = {
@ -60,11 +57,10 @@ const BUTTON_TYPE_SHORT_QUESTIONS: ButtonTypeQuestion[] = [
];
interface Props {
question: AnyTypedQuizQuestion;
question: UntypedQuizQuestion;
}
export default function FormTypeQuestions({ question }: Props) {
const [switchState, setSwitchState] = useState("");
return (
<Box>
@ -83,22 +79,13 @@ export default function FormTypeQuestions({ question }: Props) {
<QuestionsMiniButton
key={title}
onClick={() => {
updateQuestion(question.id, question => {
question.type = questionType;
})
createTypedQuestion(question.id, questionType);
}}
icon={icon}
text={title}
/>
))}
</Box>
<ButtonsOptions
switchState={switchState}
SSHC={setSwitchState}
question={question}
/>
{/* TODO конфликт типов */}
{/* <SwitchAnswerOptions switchState={switchState} question={question} /> */}
</Box>
);
}