From 6e1e79465fbc934a7dfed69bc281ea7de5b005ef Mon Sep 17 00:00:00 2001 From: karimaldeen Date: Mon, 9 Sep 2024 13:46:31 +0300 Subject: [PATCH] fix question --- package.json | 1 + pnpm-lock.yaml | 12 ++- .../ImageBoxField/ImageBoxField.tsx | 5 +- src/Pages/Admin/question/AddPage.tsx | 76 ++++++++-------- .../question/Model/Field/CheckboxField.tsx | 11 ++- .../question/Model/Field/ChoiceFields.tsx | 79 +++++++++-------- .../Admin/question/Model/Field/Choices.tsx | 4 +- src/Pages/Admin/question/Model/Field/File.tsx | 87 ------------------- .../Admin/question/Model/Field/HintField.tsx | 69 --------------- .../Admin/question/Model/Field/TextField.tsx | 4 +- src/Pages/Admin/question/Model/FilterForm.tsx | 25 ------ src/Pages/Admin/question/Model/Malty/Add.tsx | 33 ++----- .../Model/Malty/ChoiceField/CheckboxField.tsx | 12 +-- .../Model/Malty/ChoiceField/ChoiceFields.tsx | 24 +++-- .../question/Model/Malty/ChoiceField/File.tsx | 6 +- .../Model/Malty/ChoiceField/TextField.tsx | 2 +- src/Pages/Admin/question/Model/Malty/Edit.tsx | 11 +-- .../Malty/QuestionFIeld/QuestionFIeld.tsx | 22 ++++- src/Pages/Admin/question/Model/MathInput.tsx | 33 ------- src/Pages/Admin/question/Model/ModelForm.tsx | 67 +++++++------- .../Admin/question/Model/Tags/SelectTag.tsx | 74 ---------------- src/Pages/Admin/question/Model/formUtil.ts | 26 +++--- src/Pages/Admin/question/Page.tsx | 17 +--- src/Pages/Admin/question/useTableColumns.tsx | 17 ++-- src/Styles/Pages/exercise.scss | 2 +- src/translate/ar.json | 5 +- src/utils/setLocalStorageQuestions.ts | 32 +++---- 27 files changed, 251 insertions(+), 505 deletions(-) delete mode 100644 src/Pages/Admin/question/Model/Field/File.tsx delete mode 100644 src/Pages/Admin/question/Model/Field/HintField.tsx delete mode 100644 src/Pages/Admin/question/Model/FilterForm.tsx delete mode 100644 src/Pages/Admin/question/Model/MathInput.tsx delete mode 100644 src/Pages/Admin/question/Model/Tags/SelectTag.tsx diff --git a/package.json b/package.json index a8cf452..160eac3 100644 --- a/package.json +++ b/package.json @@ -56,6 +56,7 @@ "@testing-library/user-event": "^13.5.0", "@types/node": "^20.14.0", "@types/react": "^18.3.3", + "@types/react-beautiful-dnd": "^13.1.8", "@types/react-dom": "^18.3.0", "@types/react-helmet": "^6.1.11", "@vitejs/plugin-legacy": "^5.4.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c504886..98426af 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -84,6 +84,9 @@ importers: '@types/react': specifier: ^18.3.3 version: 18.3.3 + '@types/react-beautiful-dnd': + specifier: ^13.1.8 + version: 13.1.8 '@types/react-dom': specifier: ^18.3.0 version: 18.3.0 @@ -1342,6 +1345,9 @@ packages: '@types/prop-types@15.7.12': resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + '@types/react-beautiful-dnd@13.1.8': + resolution: {integrity: sha512-E3TyFsro9pQuK4r8S/OL6G99eq7p8v29sX0PM7oT8Z+PJfZvSQTx4zTQbUJ+QZXioAF0e7TGBEcA1XhYhCweyQ==} + '@types/react-dom@18.3.0': resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} @@ -4997,7 +5003,7 @@ snapshots: '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 optional: true '@popperjs/core@2.11.8': {} @@ -5252,6 +5258,10 @@ snapshots: '@types/prop-types@15.7.12': {} + '@types/react-beautiful-dnd@13.1.8': + dependencies: + '@types/react': 18.3.3 + '@types/react-dom@18.3.0': dependencies: '@types/react': 18.3.3 diff --git a/src/Components/CustomFields/ImageBoxField/ImageBoxField.tsx b/src/Components/CustomFields/ImageBoxField/ImageBoxField.tsx index d76796f..ad04ff7 100644 --- a/src/Components/CustomFields/ImageBoxField/ImageBoxField.tsx +++ b/src/Components/CustomFields/ImageBoxField/ImageBoxField.tsx @@ -14,7 +14,10 @@ const ImageBoxField = ({ name }: any) => { const value = getNestedValue(formik.values, name); const [imagePreview, setImagePreview] = useState(null); const fileInputRef = useRef(null); - + console.log(formik.values); + + console.log(value,name); + useEffect(() => { if (value instanceof File) { generateImagePreview(value, setImagePreview); diff --git a/src/Pages/Admin/question/AddPage.tsx b/src/Pages/Admin/question/AddPage.tsx index 8c28e2c..7340c8f 100644 --- a/src/Pages/Admin/question/AddPage.tsx +++ b/src/Pages/Admin/question/AddPage.tsx @@ -42,6 +42,7 @@ const AddPage: React.FC = () => { isBseQuestion, setTagsSearch, setObjectToEdit, + objectToEdit, setSuccess, SavedQuestionData, } = useObjectToEdit(); @@ -102,8 +103,6 @@ const AddPage: React.FC = () => { { resetForm }: { resetForm: () => void }, ) => { const DataToSend = structuredClone(values); - console.log(DataToSend); - setTagsSearch(null); const canAnswersBeShuffled = DataToSend?.canAnswersBeShuffled ? 1 : 0; if (isBseQuestion || DataToSend?.isBase === 1) { @@ -166,52 +165,55 @@ const AddPage: React.FC = () => { }; const navigate = useNavigate(); + // console.log(SavedQuestionData); + + // useEffect(() => { + // if ( + // isSuccessAsync && + // (SavedQuestionData?.Questions?.length > 0 ? isSuccess : true) + // ) { + // setObjectToEdit(null); + // setSuccess(true); + // localStorage.removeItem(QUESTION_OBJECT_KEY); + // } + // if (isSuccess && !SavedQuestionData?.Questions?.length) { + // toast.success(t("validation.the_possess_done_successful")); + // setObjectToEdit(null); + // setSuccess(true); + // localStorage.removeItem(QUESTION_OBJECT_KEY); + // } + // }, [isSuccess, isSuccessAsync]); - useEffect(() => { - if ( - isSuccessAsync && - (SavedQuestionData?.Questions?.length > 0 ? isSuccess : true) - ) { - setObjectToEdit(null); - setSuccess(true); - localStorage.removeItem(QUESTION_OBJECT_KEY); - } - if (isSuccess && !SavedQuestionData?.Questions?.length) { - toast.success(t("validation.the_possess_done_successful")); - setObjectToEdit(null); - setSuccess(true); - localStorage.removeItem(QUESTION_OBJECT_KEY); - } - }, [isSuccess, isSuccessAsync]); - - let cleanedAnswers = cleanObject(SavedQuestionData); - let noChange = hasItems(cleanedAnswers); - - useSaveOnDisconnect(noChange, QUESTION_OBJECT_KEY, SavedQuestionData); - - const SavedData = getLocalStorageQuestions(QUESTION_OBJECT_KEY); + // let cleanedAnswers = cleanObject(SavedQuestionData); + // let noChange = hasItems(cleanedAnswers); + // console.log(SavedQuestionData); + + // useSaveOnDisconnect(noChange, QUESTION_OBJECT_KEY, SavedQuestionData); + // const SavedData = getLocalStorageQuestions(QUESTION_OBJECT_KEY); + // console.log(SavedData); + const handleCancel = () => { - if (!noChange) { - navigate(-1); - localStorage.removeItem(QUESTION_OBJECT_KEY); - } else { - setIsOpen(ModalEnum?.QUESTION_ACCEPT); - } + navigate(-1); + // if (!noChange) { + // localStorage.removeItem(QUESTION_OBJECT_KEY); + // } else { + // setIsOpen(ModalEnum?.QUESTION_ACCEPT); + // } }; - if (isBseQuestion || SavedData?.isBase === 1) { + if (isBseQuestion ) { return (
-
- - +
+ +
{t("practical.back")}
-
{isError ? "required" : ""}
- {errorMsg} - -
- ); -}; - -export default File; diff --git a/src/Pages/Admin/question/Model/Field/HintField.tsx b/src/Pages/Admin/question/Model/Field/HintField.tsx deleted file mode 100644 index 438b079..0000000 --- a/src/Pages/Admin/question/Model/Field/HintField.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import { Form, Input } from "antd"; -import React from "react"; -import useFormField from "../../../../../Hooks/useFormField"; -import { MdOutlineEdit } from "react-icons/md"; -import { Field } from "formik"; -const { TextArea } = Input; - -const HintField = ({ - name, - label, - label2, - placeholder, - isDisabled, - onChange, - props, - no_label, - label_icon, - id, - className, -}: any) => { - const newName = `answers[${name}].hint`; - const { formik, isError, errorMsg, t } = useFormField(newName, props); - const TextFilehandleChange = ( - e: React.ChangeEvent, - ) => { - // console.log('Change:', e.target.value); - formik.setFieldValue(newName, e.target.value); - }; - - return ( -
- {no_label ? ( - - ) : label_icon ? ( -
- - -
- ) : ( - - )} - - - - -
- ); -}; - -export default React.memo(HintField); diff --git a/src/Pages/Admin/question/Model/Field/TextField.tsx b/src/Pages/Admin/question/Model/Field/TextField.tsx index 2442226..8dfa38e 100644 --- a/src/Pages/Admin/question/Model/Field/TextField.tsx +++ b/src/Pages/Admin/question/Model/Field/TextField.tsx @@ -1,8 +1,8 @@ import { Form, Input } from "antd"; import React from "react"; +import useFormField from "../../../../../Hooks/useFormField"; import { MdOutlineEdit } from "react-icons/md"; import { Field } from "formik"; -import useFormField from "../../../../../Hooks/useFormField"; const { TextArea } = Input; const TextField = ({ @@ -18,7 +18,7 @@ const TextField = ({ id, className, }: any) => { - const newName = `QuestionOptions[${name}].answer`; + const newName = `answers[${name}].content`; const { formik, isError, errorMsg, t } = useFormField(newName, props); const TextFilehandleChange = ( e: React.ChangeEvent, diff --git a/src/Pages/Admin/question/Model/FilterForm.tsx b/src/Pages/Admin/question/Model/FilterForm.tsx deleted file mode 100644 index e689fec..0000000 --- a/src/Pages/Admin/question/Model/FilterForm.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from 'react' -import ValidationField from '../../../../Components/ValidationField/ValidationField' -import { Col, Row } from "reactstrap"; - -const FilterForm = () => { - return ( -
- - - - - - - - - - - - - -
- ) -} - -export default FilterForm \ No newline at end of file diff --git a/src/Pages/Admin/question/Model/Malty/Add.tsx b/src/Pages/Admin/question/Model/Malty/Add.tsx index a0f1345..880b16f 100644 --- a/src/Pages/Admin/question/Model/Malty/Add.tsx +++ b/src/Pages/Admin/question/Model/Malty/Add.tsx @@ -10,17 +10,14 @@ import { useTranslation } from "react-i18next"; import DynamicTags from "./Tags/DynamicTags"; import QuestionFIeld from "./QuestionFIeld/QuestionFIeld"; import { useObjectToEdit } from "../../../../../zustand/ObjectToEditState"; +import Choices from "./ChoiceField/Choices"; const Form = () => { const formik = useFormikContext(); - const { isOpen } = useModalState((state) => state); - // const {data} = useGetAllQuestion(); const { setSuccess, Success, setSavedQuestionData } = useObjectToEdit(); useEffect(() => { if (Success) { - console.log(1); - formik.setErrors({}); formik.resetForm({ values: {} }); setSuccess(false); @@ -32,14 +29,13 @@ const Form = () => { }, [formik?.values]); // console.log(formik?.errors); - console.log(formik?.values?.Questions, "formik?.values?.Questions"); const handleAddChoice = (parent_index: number) => { console.log(parent_index); - formik.setFieldValue(`Questions.[${parent_index}].QuestionOptions`, [ + formik.setFieldValue(`Questions.[${parent_index}].answers`, [ ...((formik?.values as any)?.Questions?.[parent_index] - .QuestionOptions as Choice[]), + .answers as Choice[]), { answer: null, @@ -58,9 +54,9 @@ const Form = () => { image: "", parent: "", isBase: 0, - max_mark: 1, - min_mark_to_pass: 1, - QuestionOptions: [{ answer: null, answer_image: null, isCorrect: 0 }], + // max_mark: 1, + // min_mark_to_pass: 1, + answers: [{ answer: null, answer_image: null, isCorrect: 0 }], tags: [], }, ]); @@ -70,7 +66,6 @@ const Form = () => { formik.setFieldValue("max_mark", max_mark); }; const [t] = useTranslation(); - console.log(formik.errors); return ( @@ -109,21 +104,9 @@ const Form = () => { />
- {( - (formik?.values as any)?.Questions?.[parent_index] - ?.QuestionOptions || [] - ).map((item: Choice, index: number) => { - return ( - - ); - })} + - {formik?.values?.Questions?.[parent_index]?.QuestionOptions + {formik?.values?.Questions?.[parent_index]?.answers ?.length < 5 && (

(); const [t] = useTranslation(); const CheckboxhandleChange = (value: any) => { - console.log(value?.target?.checked); const allAreZero = formik?.values?.Questions?.[ parent_index - ]?.QuestionOptions?.some((item: any) => item.isCorrect === 1); + ]?.answers?.some((item: any) => item.isCorrect === 1); if (allAreZero) { - formik?.values?.Questions?.[parent_index]?.QuestionOptions.forEach( + formik?.values?.Questions?.[parent_index]?.answers.forEach( (item: any, index: number) => { formik.setFieldValue( - `Questions[${parent_index}].QuestionOptions[${index}].isCorrect`, + `Questions[${parent_index}].answers[${index}].isCorrect`, 0, ); }, @@ -32,7 +32,7 @@ const CheckboxField = ({ } formik.setFieldValue( - `Questions[${parent_index}].QuestionOptions[${name}].isCorrect`, + `Questions[${parent_index}].answers[${name}].isCorrect`, value?.target?.checked ? 1 : 0, ); }; @@ -42,7 +42,7 @@ const CheckboxField = ({ onChange={onChange || CheckboxhandleChange} disabled={isDisabled} checked={ - formik.values?.Questions?.[parent_index]?.QuestionOptions?.[name] + formik.values?.Questions?.[parent_index]?.answers?.[name] ?.isCorrect === 1 } className={className} diff --git a/src/Pages/Admin/question/Model/Malty/ChoiceField/ChoiceFields.tsx b/src/Pages/Admin/question/Model/Malty/ChoiceField/ChoiceFields.tsx index ac9e011..4571aaa 100644 --- a/src/Pages/Admin/question/Model/Malty/ChoiceField/ChoiceFields.tsx +++ b/src/Pages/Admin/question/Model/Malty/ChoiceField/ChoiceFields.tsx @@ -9,6 +9,7 @@ import TextField from "./TextField"; import File from "./File"; import { FaTrash } from "react-icons/fa"; import { toast } from "react-toastify"; +import HintField from "./HintField"; const ChoiceFields = ({ index, @@ -25,7 +26,7 @@ const ChoiceFields = ({ const handleDeleteChoice = () => { const arrayLength = - formik.values.Questions?.[parent_index].QuestionOptions?.length; + formik.values.Questions?.[parent_index].answers?.length; console.log(arrayLength); @@ -36,15 +37,16 @@ const ChoiceFields = ({ return; } - const updatedQuestionOptions = formik.values.Questions?.[ + const updatedAnswers = formik.values.Questions?.[ parent_index - ].QuestionOptions.filter((_: any, i: any) => i !== index); + ].answers.filter((_: any, i: any) => i !== index); formik.setFieldValue( - `Questions[${parent_index}].QuestionOptions`, - updatedQuestionOptions, + `Questions[${parent_index}].answers`, + updatedAnswers, ); }; return ( + <>

+
+ +
+ ); }; diff --git a/src/Pages/Admin/question/Model/Malty/ChoiceField/File.tsx b/src/Pages/Admin/question/Model/Malty/ChoiceField/File.tsx index 79c5e55..d06cfde 100644 --- a/src/Pages/Admin/question/Model/Malty/ChoiceField/File.tsx +++ b/src/Pages/Admin/question/Model/Malty/ChoiceField/File.tsx @@ -13,11 +13,11 @@ const File = ({ parent_index, props, }: any) => { - const newName = `Questions[${parent_index}].QuestionOptions[${name}].answer_image`; + const newName = `Questions[${parent_index}].answers[${name}].answer_image`; const { formik, t, isError, errorMsg } = useFormField(newName, props); let imageUrl = - formik?.values?.Questions?.[parent_index]?.QuestionOptions[name] + formik?.values?.Questions?.[parent_index]?.answers[name] ?.answer_image ?? null; // console.log(imageUrl); @@ -49,7 +49,7 @@ const File = ({ formik.setFieldValue(newName, null); } else { formik.setFieldValue( - `Questions[${parent_index}].QuestionOptions[${name}].answer_image`, + `Questions[${parent_index}].answers[${name}].answer_image`, value?.file?.originFileObj, ); } diff --git a/src/Pages/Admin/question/Model/Malty/ChoiceField/TextField.tsx b/src/Pages/Admin/question/Model/Malty/ChoiceField/TextField.tsx index a4fec62..792b442 100644 --- a/src/Pages/Admin/question/Model/Malty/ChoiceField/TextField.tsx +++ b/src/Pages/Admin/question/Model/Malty/ChoiceField/TextField.tsx @@ -18,7 +18,7 @@ const TextField = ({ parent_index, className, }: any) => { - const newName = `Questions[${parent_index}].QuestionOptions[${name}].answer`; + const newName = `Questions[${parent_index}].answers[${name}].content`; const { formik, isError, errorMsg, t } = useFormField(newName, props); const TextFilehandleChange = ( e: React.ChangeEvent, diff --git a/src/Pages/Admin/question/Model/Malty/Edit.tsx b/src/Pages/Admin/question/Model/Malty/Edit.tsx index 9efb8dc..eeace6e 100644 --- a/src/Pages/Admin/question/Model/Malty/Edit.tsx +++ b/src/Pages/Admin/question/Model/Malty/Edit.tsx @@ -3,6 +3,7 @@ import React, { useEffect } from "react"; import ValidationField from "../../../../../Components/ValidationField/ValidationField"; import { useFormikContext } from "formik"; import { useModalState } from "../../../../../zustand/Modal"; +import PdfUploader from "../../../../../Components/CustomFields/PdfUploader"; import ChoiceFields from "./ChoiceField/ChoiceFields"; import { FaCirclePlus } from "react-icons/fa6"; import { Choice } from "../../../../../types/Item"; @@ -29,9 +30,9 @@ const Form = () => { const handleAddChoice = (parent_index: number) => { console.log(parent_index); console.log(formik?.values?.Questions); - formik.setFieldValue(`Questions.[${parent_index}].QuestionOptions`, [ + formik.setFieldValue(`Questions.[${parent_index}].answers`, [ ...((formik?.values as any)?.Questions?.[parent_index] - .QuestionOptions as Choice[]), + .answers as Choice[]), { answer: null, @@ -52,7 +53,7 @@ const Form = () => { isBase: 0, max_mark: 1, min_mark_to_pass: 1, - QuestionOptions: [{ answer: null, answer_image: null, isCorrect: 0 }], + answers: [{ answer: null, answer_image: null, isCorrect: 0 }], tags: [], }, ]); @@ -102,7 +103,7 @@ const Form = () => { {( (formik?.values as any)?.Questions?.[parent_index] - ?.QuestionOptions || [] + ?.answers || [] ).map((item: Choice, index: number) => { return ( { /> ); })} - {formik?.values?.Questions?.[parent_index]?.QuestionOptions + {formik?.values?.Questions?.[parent_index]?.answers ?.length < 5 && (

{ const formik = useFormikContext(); - console.log(index); const { setDeletedQuestions, DeletedQuestions } = useObjectToEdit(); const [t] = useTranslation(); @@ -25,13 +26,14 @@ const QuestionFIeld = ({ index, data }: { index: number; data: Choice }) => { if (DeleteQuestionId?.id) { setDeletedQuestions([...DeletedQuestions, DeleteQuestionId]); } - const updatedQuestionOptions = formik.values.Questions.filter( + const updatedAnswers = formik.values.Questions.filter( (_: any, i: any) => i !== index, ); - formik.setFieldValue(`Questions`, updatedQuestionOptions); + formik.setFieldValue(`Questions`, updatedAnswers); }; return ( +

{ name={index} type="File" /> + + + +

+ +
+ +
+ +
); }; diff --git a/src/Pages/Admin/question/Model/MathInput.tsx b/src/Pages/Admin/question/Model/MathInput.tsx deleted file mode 100644 index 47b5c48..0000000 --- a/src/Pages/Admin/question/Model/MathInput.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import React, { useState } from "react"; -import MathJax from "react-mathjax"; - -const MathInput: React.FC = () => { - const [input, setInput] = useState( - "a^2+b^2=c^2 (x+a)^n=x=(-b±√(b^2-4ac))/2a ∑_(k=0)^n▒〖(n¦k) x^k a^(n-k) 〗", - ); - - const handleChange = (event: React.ChangeEvent) => { - const formattedInput = event.target.value.replace("_", " _ "); - console.log(event.target.value); - - setInput(formattedInput); - }; - - return ( - -
- -
- -
-
-
- ); -}; - -export default MathInput; diff --git a/src/Pages/Admin/question/Model/ModelForm.tsx b/src/Pages/Admin/question/Model/ModelForm.tsx index 7dd6d8b..dcdf0e2 100644 --- a/src/Pages/Admin/question/Model/ModelForm.tsx +++ b/src/Pages/Admin/question/Model/ModelForm.tsx @@ -8,12 +8,12 @@ import { useTranslation } from "react-i18next"; import DynamicTags from "./Tags/DynamicTags"; import { useObjectToEdit } from "../../../../zustand/ObjectToEditState"; import { useEffect } from "react"; -import { LuImagePlus } from "react-icons/lu"; +import Choices from "./Field/Choices"; import ImageBoxField from "../../../../Components/CustomFields/ImageBoxField/ImageBoxField"; -import SelectTag from "./Tags/SelectTag"; +import SelectTag from "../../../../Components/CustomFields/SelectTag"; const Form = () => { - const [t] = useTranslation() + const [t] = useTranslation(); const formik = useFormikContext(); const { setSuccess, Success, setSavedQuestionData } = useObjectToEdit(); @@ -26,41 +26,50 @@ const Form = () => { }, [Success]); useEffect(() => { - setSavedQuestionData(formik.values) - }, [formik?.values]) + console.log(formik.values,"formik.values"); + + setSavedQuestionData(formik.values); + }, [formik?.values]); + const handleAddChoice = () => { + formik.setFieldValue("answers", [ + ...((formik?.values as any)?.answers as Choice[]), + { + content: null, + answer_image: null, + isCorrect: 0, + }, + ]); + }; - - const handleAddChoice = () => { - formik.setFieldValue('QuestionOptions', [...(formik?.values as any)?.QuestionOptions as Choice[], - { - answer:null, - answer_image:null, - isCorrect:0, - }]) - } - + console.log(formik?.values); + return (
- - - + +
- { - (((formik?.values as any)?.QuestionOptions as Choice[])||[]) .map((item:Choice,index:number)=>{ - return - })} - {formik?.values?.QuestionOptions?.length < 5 && ( -

- {t("header.add_new_choice")} -

+ + + {formik?.values?.answers?.length < 5 && ( +

+ {" "} + {t("header.add_new_choice")} +

)} - {/* */} +
- - + +
); diff --git a/src/Pages/Admin/question/Model/Tags/SelectTag.tsx b/src/Pages/Admin/question/Model/Tags/SelectTag.tsx deleted file mode 100644 index 4cd0164..0000000 --- a/src/Pages/Admin/question/Model/Tags/SelectTag.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import React, { useState, useMemo } from 'react'; -import { Select, Spin } from 'antd'; -import { useGetAllTag } from '../../../../../api/tags'; -import { useDebounce } from '../../../../../utils/useDebounce'; -import { useTranslation } from 'react-i18next'; - -const SelectTag: React.FC = () => { - const [searchValue, setSearchValue] = useState(''); - const [fieldValue, setFieldValue] = useState(''); - - const handleChange = (value: string[]) => { - setSearchValue(''); - setFieldValue(''); - }; - - const handleSearch = useDebounce((value: string) => { - setSearchValue(value); - - }); - - const handleFieldChange = (value: string) => { - setFieldValue(value); - - }; - - const handleBlur = () => { - setSearchValue(''); - setFieldValue(''); - }; - - const { data, isLoading } = useGetAllTag({ - name: searchValue, - }); - - const [t] = useTranslation(); - - const options = data?.data ?? [] - console.log(options,"options"); - const additionalData = options?.length < 1 && searchValue.length > 1 && !isLoading ? [{id:`new_${searchValue}`,name:searchValue}] :[]; - console.log(additionalData); - - return ( -
- - -