From 6da53ca2a4e4929728a7bb62e861aef546073eac Mon Sep 17 00:00:00 2001 From: Majd_dk Date: Sat, 30 May 2026 23:18:22 +0300 Subject: [PATCH] fix multi question bug --- package-lock.json | 10 ++++++++++ src/Hooks/useReOrderQuestions.ts | 4 ++-- .../question/Model/EditForm/BaseFormContainer.tsx | 2 +- .../Admin/question/Model/Malty/ChoiceField/Choices.tsx | 6 +++--- src/Pages/Admin/question/Model/Malty/Form.tsx | 5 +++-- .../Admin/question/Model/Malty/components/Question.tsx | 3 ++- .../question/Model/Malty/components/Questions.tsx | 7 +++---- src/api/config.ts | 6 ++++-- src/types/Item.ts | 1 + 9 files changed, 29 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4dee62a..1870c1f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21062,6 +21062,16 @@ "csstype": "^3.0.2" } }, + "dotenv": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, "ejs": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", diff --git a/src/Hooks/useReOrderQuestions.ts b/src/Hooks/useReOrderQuestions.ts index 12f7896..aa65634 100644 --- a/src/Hooks/useReOrderQuestions.ts +++ b/src/Hooks/useReOrderQuestions.ts @@ -26,7 +26,7 @@ export function useReOrderQuestions() { if (index <= 0) return; const next = moveToTop(index, values.Questions); setFieldValue("Questions", withSubOrder(next)); - afterLayout(() => scrollToIdWithOffset(`q-${item.id}`)); + afterLayout(() => scrollToIdWithOffset(`q-${item.id || item.unique}`)); }; @@ -34,7 +34,7 @@ export function useReOrderQuestions() { if (index >= values.Questions.length - 1) return; const next = moveToBottom(index, values.Questions); setFieldValue("Questions", withSubOrder(next)); - afterLayout(() => scrollToIdWithOffset(`q-${item.id}`)); + afterLayout(() => scrollToIdWithOffset(`q-${item.id || item.unique}`)); }; diff --git a/src/Pages/Admin/question/Model/EditForm/BaseFormContainer.tsx b/src/Pages/Admin/question/Model/EditForm/BaseFormContainer.tsx index ea663d9..ad01a75 100644 --- a/src/Pages/Admin/question/Model/EditForm/BaseFormContainer.tsx +++ b/src/Pages/Admin/question/Model/EditForm/BaseFormContainer.tsx @@ -95,7 +95,7 @@ const BaseFormContainer = ({ enableReinitialize > {({ values, isValid, handleSubmit, dirty }) => ( -
+ console.log(values)}>
{/*
*/}
diff --git a/src/Pages/Admin/question/Model/Malty/ChoiceField/Choices.tsx b/src/Pages/Admin/question/Model/Malty/ChoiceField/Choices.tsx index 9a594bd..3acbf7d 100644 --- a/src/Pages/Admin/question/Model/Malty/ChoiceField/Choices.tsx +++ b/src/Pages/Admin/question/Model/Malty/ChoiceField/Choices.tsx @@ -45,10 +45,10 @@ const Choices = React.memo( {(values?.Questions?.[parent_index]?.answers || []).map( (item: Choice, index: number) => { return ( -
console.log(item)}> +
console.log(item)}> { image: "", parent: "", isBase: 0, - id:uid(), + // id:uid(), + unique: uid(), // max_mark: 1, // min_mark_to_pass: 1, - answers: [{id:uid(), answer: null, answer_image: null, isCorrect: 0 ,content_image:null}], + answers: [{unique: uid(), answer: null, answer_image: null, isCorrect: 0 ,content_image:null}], tags: [], }, ]); diff --git a/src/Pages/Admin/question/Model/Malty/components/Question.tsx b/src/Pages/Admin/question/Model/Malty/components/Question.tsx index 0c7befb..1d07b66 100644 --- a/src/Pages/Admin/question/Model/Malty/components/Question.tsx +++ b/src/Pages/Admin/question/Model/Malty/components/Question.tsx @@ -19,7 +19,8 @@ export const Question: React.FC = React.memo(({ index, data }) => { setFieldValue(`Questions.[${parent_index}].answers`, [ ...(values?.Questions?.[parent_index]?.answers as Choice[]), { - id: uid(), + // id: uid(), + unique :uid(), answer: null, content_image: null, content: null, diff --git a/src/Pages/Admin/question/Model/Malty/components/Questions.tsx b/src/Pages/Admin/question/Model/Malty/components/Questions.tsx index 1bdc704..36ff1a4 100644 --- a/src/Pages/Admin/question/Model/Malty/components/Questions.tsx +++ b/src/Pages/Admin/question/Model/Malty/components/Questions.tsx @@ -77,11 +77,10 @@ import { useReOrderQuestions } from "../../../../../../Hooks/useReOrderQuestions console.log(questions) return (
console.log(questions)} - ref={(el) => (rowRefs.current[item.id] = el)} + key={item.id || item.unique} + id={`q-${item.id || item.unique}`} >