diff --git a/src/components/ProgramManagement/CourseManagementFlow.jsx b/src/components/ProgramManagement/CourseManagementFlow.jsx
index 1ff1a2c..33f244a 100644
--- a/src/components/ProgramManagement/CourseManagementFlow.jsx
+++ b/src/components/ProgramManagement/CourseManagementFlow.jsx
@@ -19,27 +19,7 @@ export const CourseManagementFlow = ({ courseID, isShown, onFinish }) => {
const [course, updateCourse] = useState(emptyState); // replace with api data
- const canGoNext = (index) => {
- switch (index) {
- case 0:
- return isCourseValid(course.content);
- case 1:
- return true;
- case 2:
- return isQuizValid(course.quiz);
- }
- };
-
- const runBeforeNext = (index) => {
- switch (index) {
- case 0:
- console.debug(course.content); //TODO: replace with an api call
- break;
- case 2:
- console.debug(course.quiz); //TODO: replace with an api call
- break;
- }
- };
+ const [modalKey, setModalKey] = useState(0);
const flowStops = [
{
@@ -52,10 +32,14 @@ export const CourseManagementFlow = ({ courseID, isShown, onFinish }) => {
}
/>
),
+ canGoNext: () => isCourseValid(course.content),
+ action: () => console.debug(course.content),
},
{
title: "إضافة دروس",
content: ,
+ canGoNext: () => true,
+ action: () => {},
},
{
title: "إنشاء كويز",
@@ -67,17 +51,24 @@ export const CourseManagementFlow = ({ courseID, isShown, onFinish }) => {
}}
/>
),
+ canGoNext: () => isQuizValid(course.quiz),
+ action: () => console.debug(course.quiz),
},
];
+ const resetFlow = () => {
+ updateCourse(emptyState);
+ setModalKey(modalKey + 1);
+ onFinish();
+ };
+
return (
);
};
@@ -125,7 +116,7 @@ export const CoursesListing = ({ programID }) => {
onMinus={() => {
if (userIsSure()) manageCourses.removeLast();
}}
- minusDisabled={manageCourses.collection.length == 0}
+ minusDisabled={manageCourses.collection.length === 0}
/>
);
diff --git a/src/components/ProgramManagement/LessonManagementFlow.jsx b/src/components/ProgramManagement/LessonManagementFlow.jsx
index f8b0ca2..d3cd9a2 100644
--- a/src/components/ProgramManagement/LessonManagementFlow.jsx
+++ b/src/components/ProgramManagement/LessonManagementFlow.jsx
@@ -19,25 +19,7 @@ export const LessonManagementFlow = ({ lessonID, isShown, onFinish }) => {
};
const [lesson, updateLesson] = useState(emptyState); // replace with api data
- const canGoNext = (index) => {
- switch (index) {
- case 0:
- return isLessonValid(lesson.content);
- case 1:
- return isQuizValid(lesson.quiz);
- }
- };
-
- const runBeforeNext = (index) => {
- switch (index) {
- case 0:
- console.debug(lesson.content); //TODO: replace with an api call
- break;
- case 1:
- console.debug(lesson.quiz); //TODO: replace with an api call
- break;
- }
- };
+ const [modalKey, setModalKey] = useState(0);
const flowStops = [
{
@@ -50,6 +32,8 @@ export const LessonManagementFlow = ({ lessonID, isShown, onFinish }) => {
}
/>
),
+ canGoNext: () => isLessonValid(lesson.content),
+ action: () => console.debug(lesson.content),
},
{
title: "إنشاء كويز",
@@ -61,17 +45,24 @@ export const LessonManagementFlow = ({ lessonID, isShown, onFinish }) => {
}}
/>
),
+ canGoNext: () => isQuizValid(lesson.quiz),
+ action: () => console.debug(lesson.quiz),
},
];
+ const resetFlow = () => {
+ updateLesson(emptyState);
+ setModalKey(modalKey + 1);
+ onFinish();
+ };
+
return (
);
};
@@ -119,7 +110,7 @@ export const LessonsListing = ({ courseID }) => {
onMinus={() => {
if (userIsSure()) manageLessons.removeLast();
}}
- minusDisabled={manageLessons.collection.length == 0}
+ minusDisabled={manageLessons.collection.length === 0}
/>
);
diff --git a/src/components/ProgramManagement/ManageQuiz.jsx b/src/components/ProgramManagement/ManageQuiz.jsx
index 5e9c193..3d42142 100644
--- a/src/components/ProgramManagement/ManageQuiz.jsx
+++ b/src/components/ProgramManagement/ManageQuiz.jsx
@@ -32,8 +32,6 @@ const ManageQuiz = React.memo(({ existingQuestions, update }) => {
type: "WRITTEN",
fullMark: 0,
});
- console.log(manageQuizzes.collection);
-
}}
onMinus={() => {
manageQuizzes.removeLast();
diff --git a/src/components/ProgramManagement/ProgramManagementFlow.jsx b/src/components/ProgramManagement/ProgramManagementFlow.jsx
index 03f7f2f..4f27851 100644
--- a/src/components/ProgramManagement/ProgramManagementFlow.jsx
+++ b/src/components/ProgramManagement/ProgramManagementFlow.jsx
@@ -18,39 +18,20 @@ export const ProgramManagementFlow = ({ programID, isShown, onFinish }) => {
const [program, updateProgram] = useState(emptyState); // replace with api data
- const canGoNext = (index) => {
- switch (index) {
- case 0:
- return true; //TODO: handle program creation
- case 1:
- return true;
- case 2:
- return isQuizValid(program.assessmentQuiz);
- }
- };
-
- const runBeforeNext = (index) => {
- switch (index) {
- case 0:
- console.debug("program"); //TODO: replace with an api call
- break;
- case 1:
- console.debug("courses"); //TODO: replace with an api call
- break;
- case 2:
- console.debug(program.quiz); //TODO: replace with an api call
- break;
- }
- };
+ const [modalKey, setModalKey] = useState(0);
const flowStops = [
{
title: "إنشاء برنامج جديد",
content: ,
+ canGoNext: () => true,
+ action: () => console.debug("program"),
},
{
title: "الكورسات",
content: ,
+ canGoNext: () => true,
+ action: () => console.debug("courses"),
},
{
title: "امتحان القبول",
@@ -62,17 +43,24 @@ export const ProgramManagementFlow = ({ programID, isShown, onFinish }) => {
}}
/>
),
+ canGoNext: () => isQuizValid(program.assessmentQuiz),
+ action: () => console.debug(program.assessmentQuiz),
},
];
+ const resetFlow = () => {
+ updateProgram(emptyState);
+ setModalKey(modalKey + 1);
+ onFinish();
+ };
+
return (
);
};
@@ -120,7 +108,7 @@ export const ProgramsListing = ({ userID }) => {
onMinus={() => {
if (userIsSure()) managePrograms.removeLast();
}}
- minusDisabled={managePrograms.collection.length == 0}
+ minusDisabled={managePrograms.collection.length === 0}
/>
);
diff --git a/src/components/Shared/Flow/Flow.jsx b/src/components/Shared/Flow/Flow.jsx
index 59b912b..414174a 100644
--- a/src/components/Shared/Flow/Flow.jsx
+++ b/src/components/Shared/Flow/Flow.jsx
@@ -3,14 +3,7 @@ import { SwitchTransition, CSSTransition } from "react-transition-group";
import "./Flow.scss";
import { Modal, ModalBody, ModalFooter, ModalHeader } from "reactstrap";
-export const FlowModal = ({
- flowStops,
- isShown,
- canGoNext,
- runBeforeNext,
- onFinish,
- onCancel,
-}) => {
+export const FlowModal = ({ flowStops, isShown, onFinish, onCancel }) => {
const [currentStop, updateCurrentStop] = useState(0);
const firstStop = currentStop === 0;
@@ -32,16 +25,17 @@ export const FlowModal = ({