fix form quiz question components
This commit is contained in:
parent
02d2b2a325
commit
960ee026bd
@ -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 Slider from "../../../assets/icons/questionsPage/slider";
|
||||
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 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>
|
||||
);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user