You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
239 lines
5.9 KiB
239 lines
5.9 KiB
import { IoReturnUpBack } from "react-icons/io5" |
|
|
|
const initialState = { |
|
grade: 8, |
|
groupId: 0, |
|
name: '', |
|
startDate: new Date(), |
|
endDate: new Date(), |
|
startTime: '19:0', |
|
endTime: '', |
|
description: '', |
|
type: 'bank', |
|
|
|
questionnaires: [ |
|
{ |
|
id:1, |
|
name: 'عمومی', |
|
fileUrl: '', |
|
}, |
|
{ |
|
id:2, |
|
name: 'اختصاصی', |
|
fileUrl: '', |
|
} |
|
], |
|
questionairesCourses: [ |
|
{ |
|
id: 0, |
|
questionnaireId: 1, |
|
questionsQuantity:20, |
|
name: 'دینی', |
|
coefficient: 4 |
|
}, |
|
{ |
|
id: 1, |
|
questionnaireId: 2, |
|
questionsQuantity:20, |
|
name: 'ریاضی', |
|
coefficient: 4, |
|
}, |
|
|
|
], |
|
|
|
answers: [ |
|
|
|
], |
|
|
|
courseBank: [ |
|
{ |
|
id: 1, |
|
title: 'ریاضی' |
|
}, |
|
{ |
|
id: 2, |
|
title: 'شیمی' |
|
}, |
|
], |
|
questionBank: [ |
|
{ |
|
questionId: 1, |
|
courseId: 2, |
|
title:'تترا فلورید اسید چنتا اسید داره؟', |
|
answeredPercentage: '83%', |
|
score: 1, |
|
options: [ |
|
{ |
|
id: 1, |
|
title:'تترا', |
|
isAnswer: false |
|
}, |
|
{ |
|
id: 2, |
|
title:'سه ترا', |
|
isAnswer: false |
|
}, |
|
{ |
|
id: 3, |
|
title:'هویج و گوجه فرنگی؟', |
|
isAnswer: true |
|
}, |
|
{ |
|
id: 4, |
|
title:'فلور تا', |
|
isAnswer: false |
|
}, |
|
] |
|
}, |
|
{ |
|
questionId: 2, |
|
courseId: 2, |
|
title:'asdaw dsfsdfiermc', |
|
answeredPercentage: '83%', |
|
score: 1, |
|
options: [ |
|
{ |
|
id: 1, |
|
title:'asdasd', |
|
isAnswer: false |
|
}, |
|
{ |
|
id: 2, |
|
title:'asdasd2', |
|
isAnswer: false |
|
}, |
|
{ |
|
id: 3, |
|
title:'', |
|
isAnswer: true |
|
}, |
|
{ |
|
id: 4, |
|
title:'asdasd4', |
|
isAnswer: false |
|
}, |
|
] |
|
}, |
|
{ |
|
questionId: 3, |
|
courseId: 1, |
|
title:'برای حل مساءل مربوط به مساحت زیر نمودار باید از کدام مبحث ریاضی استفاده کرد؟', |
|
answeredPercentage: '43%', |
|
score: 1, |
|
options: [ |
|
{ |
|
id: 1, |
|
title:'لگاریتم طبیعی', |
|
isAnswer: false |
|
}, |
|
{ |
|
id: 2, |
|
title:'حد و مشتق', |
|
isAnswer: false |
|
}, |
|
{ |
|
id: 3, |
|
title:'قدر مطلق', |
|
isAnswer: false |
|
}, |
|
{ |
|
id: 4, |
|
title:'نخوندم 🗿', |
|
isAnswer: true |
|
}, |
|
] |
|
}, |
|
|
|
], |
|
courses: [ |
|
|
|
], |
|
questions: [ |
|
|
|
] |
|
|
|
} |
|
|
|
export default function addExamReduser(state = initialState, { type, payload }) { |
|
|
|
switch (type) { |
|
case 'ADD_EXAM_GRADE_AND_GROUP': |
|
return { |
|
...state, |
|
grade: payload.grade, |
|
groupId: payload.groupId |
|
} |
|
|
|
case 'ADD_EXAM_DESCRIPTION': |
|
return { |
|
...state, |
|
name: payload.name, |
|
startDate: new Date(), |
|
endDate: new Date(), |
|
startTime: '19:0', |
|
endTime: '', |
|
description: payload.description, |
|
type: payload.type |
|
} |
|
|
|
case 'ADD_EXAM_QUESTIONAIRES': |
|
return { |
|
...state, |
|
questionnaires: [...state.questionnaires, payload] |
|
} |
|
case 'ADD_QUESTIONNAIRE_COURSES' : |
|
return { |
|
...state, |
|
questionairesCourses: [ |
|
...state.questionairesCourses, |
|
payload |
|
] |
|
} |
|
case 'ADD_ANSWERS': |
|
return{ |
|
...state, |
|
answers: [ |
|
...state.answers, payload |
|
] |
|
} |
|
|
|
case 'ADD_EXAM_COURSE': |
|
return { |
|
...state, |
|
courses: [...state.courses, payload] |
|
} |
|
case 'REMOVE_EXAM_COURSE': |
|
return { |
|
...state, |
|
courses: state.courses.filter(itm => itm.id !== payload.id) |
|
} |
|
|
|
case 'ADD_EXAM_QUESTIONS': |
|
return { |
|
...state, |
|
questions : [...state.questions, payload] |
|
} |
|
|
|
case 'REMOVE_EXAM_QUESTIONS': |
|
return { |
|
...state, |
|
questions: state.questions.filter(itm => itm.questionId !== payload.questionId) |
|
} |
|
case 'REMOVE_QUESTION_FROM_BANK': |
|
return { |
|
...state, |
|
questionBank: state.questionBank.filter(itm => itm.questionId !== payload.questionId) |
|
} |
|
case 'GET_QUESTION_BACK_TO_BANK': |
|
return { |
|
...state, |
|
questionBank : [...state.questionBank, payload] |
|
} |
|
|
|
|
|
default: |
|
return state; |
|
|
|
} |
|
|
|
} |