fix multi question bug

This commit is contained in:
Majd_dk 2026-05-30 23:18:22 +03:00
parent 98b828199f
commit 6da53ca2a4
9 changed files with 29 additions and 15 deletions

10
package-lock.json generated
View File

@ -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",

View File

@ -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}`));
};

View File

@ -95,7 +95,7 @@ const BaseFormContainer = ({
enableReinitialize
>
{({ values, isValid, handleSubmit, dirty }) => (
<Form className="w-100">
<Form className="w-100" onClick={() => console.log(values)}>
<main className="w-100 exercise_add_main">
{/* <Header/> */}
<header className="exercise_add_header mb-4">

View File

@ -45,10 +45,10 @@ const Choices = React.memo(
{(values?.Questions?.[parent_index]?.answers || []).map(
(item: Choice, index: number) => {
return (
<div className="Choices ChoicesMalty" key={item?.id} onClick={() => console.log(item)}>
<div className="Choices ChoicesMalty" key={item.id || item.unique} onClick={() => console.log(item)}>
<ChoiceFields
key={item?.id}
choiceId={item.id} // جديد
key={item.id || item.unique}
choiceId={item.id || item.unique || -1} // جديد
parent_index={parent_index}
index={index}
setFieldValue={setFieldValue}

View File

@ -47,10 +47,11 @@ const Form = () => {
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: [],
},
]);

View File

@ -19,7 +19,8 @@ export const Question: React.FC<any> = 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,

View File

@ -77,11 +77,10 @@ import { useReOrderQuestions } from "../../../../../../Hooks/useReOrderQuestions
console.log(questions)
return (
<div
key={item.id}
id={`q-${item.id}`}
onClick={() => console.log(questions)}
ref={(el) => (rowRefs.current[item.id] = el)}
key={item.id || item.unique}
id={`q-${item.id || item.unique}`}
> <Question
key={item.id || item.unique}
// key={questions[index]?.content}
index={index}
data={{ values, setFieldValue, ShowHint, t }}

View File

@ -1,6 +1,8 @@
// export const BaseURL = "https://nerd-back.point-dev.net/api/";
// export const BaseURL = "http://192.168.43.153:8080/api/";
// export const BaseURL = import.meta.env.VITE_BASE_URL ;
export const BaseURL = "https://zaker-back-dev.misbar.education/api/"
// export const BaseURL = import.meta.env.VITE_BASE_URL ;
// export const BaseURL = "https://nerd-back.point-dev.net/api/"
export const BaseURL = "http://zaker-back-dev.misbar.education/api/"
export const HEADER_KEY = "X-Custom-Query-Key";

View File

@ -284,6 +284,7 @@ export type Exercise = {};
export type Choice = {
name: string;
id:number
unique?: number
};
export type tags = {