From 775dbff54e64fc59779dbe73344b9961f09ed7a1 Mon Sep 17 00:00:00 2001 From: Sergey Yarkov Date: Wed, 13 Oct 2021 20:15:05 +0300 Subject: [PATCH] refactor: fetch course with status PUBLISHED only in STUDENT role --- .../courses/components/CourseList/CourseList.tsx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/pages/courses/components/CourseList/CourseList.tsx b/src/pages/courses/components/CourseList/CourseList.tsx index 8cbd134..05010c1 100644 --- a/src/pages/courses/components/CourseList/CourseList.tsx +++ b/src/pages/courses/components/CourseList/CourseList.tsx @@ -21,6 +21,7 @@ import { useRootStore } from 'hooks/useRootStore'; * Contexts */ import { CoursesPageContext } from 'contexts'; +import { CourseStatusEnum } from 'enums'; type CourseListPropsType = { courses: Omit[] | null; @@ -28,12 +29,20 @@ type CourseListPropsType = { }; const CourseList: React.FC = ({ courses, isLoading }) => { - const { courseStore } = useRootStore(); + const { + userStore: { me }, + courseStore, + } = useRootStore(); const { selectedCategory, courseStatus } = useContext(CoursesPageContext); useEffect(() => { - courseStore.loadCourses({ category_id: selectedCategory?.id, status: courseStatus }); - }, [courseStore, selectedCategory, courseStatus]); + if (me !== null) { + courseStore.loadCourses({ + category_id: selectedCategory?.id, + status: me.isAdmin || me.isTeacher ? courseStatus : CourseStatusEnum.PUBLISHED, + }); + } + }, [courseStore, selectedCategory, courseStatus, me]); if (isLoading || courses === null) { return ;