diff --git a/src/pages/(admin)/Lists/ExamList.tsx b/src/pages/(admin)/Lists/ExamList.tsx index fbb4bd1f..57b9936c 100644 --- a/src/pages/(admin)/Lists/ExamList.tsx +++ b/src/pages/(admin)/Lists/ExamList.tsx @@ -63,13 +63,18 @@ export default function ExamList({user}: {user: User}) { const {users} = useUsers(); const {groups} = useGroups({admin: user?.id, userType: user?.type}); + const filteredExams = useMemo(() => exams.filter((e) => { + if (!e.private) return true + return (e.owners || []).includes(user?.id || "") + }), [exams, user?.id]) + const filteredCorporates = useMemo(() => { const participantsAndAdmins = uniq(groups.flatMap((x) => [...x.participants, x.admin])).filter((x) => x !== user?.id); return users.filter((x) => participantsAndAdmins.includes(x.id) && x.type === "corporate"); }, [users, groups, user]); const parsedExams = useMemo(() => { - return exams.map((exam) => { + return filteredExams.map((exam) => { if (exam.createdBy) { const user = users.find((u) => u.id === exam.createdBy); if (!user) return exam; @@ -82,7 +87,7 @@ export default function ExamList({user}: {user: User}) { return exam; }); - }, [exams, users]); + }, [filteredExams, users]); const {rows: filteredRows, renderSearch} = useListSearch(searchFields, parsedExams);