Did the same to all of the dashboards

This commit is contained in:
Tiago Ribeiro
2024-09-06 15:35:26 +01:00
parent de35e1a8b7
commit 4530e4079f
12 changed files with 237 additions and 241 deletions

View File

@@ -1,4 +1,4 @@
import React from "react";
import React, {useMemo} from "react";
import useUsers from "@/hooks/useUsers";
import useGroups from "@/hooks/useGroups";
import {User} from "@/interfaces/user";
@@ -61,29 +61,17 @@ const Card = ({user}: {user: User}) => {
};
const CorporateStudentsLevels = () => {
const {users} = useUsers();
const {groups} = useGroups({});
const corporateUsers = users.filter((u) => u.type === "corporate") as User[];
const [corporateId, setCorporateId] = React.useState<string>("");
const corporate = corporateUsers.find((u) => u.id === corporateId) || corporateUsers[0];
const groupsFromCorporate = corporate ? groups.filter((g) => g.admin === corporate.id) : [];
const {users: students} = useUsers({type: "student"});
const {users: corporates} = useUsers({type: "corporate"});
const groupsParticipants = groupsFromCorporate
.flatMap((g) => g.participants)
.reduce((accm: User[], p) => {
const user = users.find((u) => u.id === p) as User;
if (user) {
return [...accm, user];
}
return accm;
}, []);
const corporate = useMemo(() => corporates.find((u) => u.id === corporateId) || corporates[0], [corporates, corporateId]);
return (
<>
<Select
options={corporateUsers.map((x: User) => ({
options={corporates.map((x: User) => ({
value: x.id,
label: `${x.name} - ${x.email}`,
}))}
@@ -98,7 +86,7 @@ const CorporateStudentsLevels = () => {
}),
}}
/>
{groupsParticipants.map((u) => (
{students.map((u) => (
<Card user={u} key={u.id} />
))}
</>