diff --git a/src/Components/Menu/index.tsx b/src/Components/Menu/index.tsx index bc3ff4f..f6aa3c9 100644 --- a/src/Components/Menu/index.tsx +++ b/src/Components/Menu/index.tsx @@ -46,7 +46,6 @@ const Menu = ({ viewdMenu }: { viewdMenu: boolean }) => { return ( - @@ -136,7 +135,7 @@ const Menu = ({ viewdMenu }: { viewdMenu: boolean }) => { path={"/beneficiarios"} icon={active === 5 ? beneficiaries_hover : beneficiaries} /> - { setActive(8); @@ -145,8 +144,8 @@ const Menu = ({ viewdMenu }: { viewdMenu: boolean }) => { active={active === 8 ? true : false} path={"/reaplicadores"} icon={active === 8 ? turmasHover : turmas} - /> - + /> */} + {props.user?.role === ROLE.ADMIN || props.user?.role === ROLE.COORDINATORS ? ( { const [form, setform] = useState({ title: "Formulário Sem título", description: "", question: [] }) - const { data: projects } = useFetchRequestSocialTechnologyLists() + const { data: projects } = useFetchRequestSocialTechnologyLists(); - const [project, setproject] = useState | undefined>() - const [user, setuser] = useState() + const [project, setproject] = useState | undefined>(); + const [user, setuser] = useState(); - const { data: userRequest } = useFetchRequestUsersOne(parseInt(GetIdUser()!)) + const { data: userRequest } = useFetchRequestUsersOne(parseInt(GetIdUser()!)); diff --git a/src/Context/Users/context.tsx b/src/Context/Users/context.tsx index f24b7f0..4bb4f39 100644 --- a/src/Context/Users/context.tsx +++ b/src/Context/Users/context.tsx @@ -5,9 +5,9 @@ import { UsersState } from "./state"; export const UsersContext = createContext(null); const UsersProvider = ({ children }: { children: React.ReactNode }) => { - const { users, CreateUser, DeleteUser, UpdateUser, isLoading } = UsersState() + const { users, CreateUser, DeleteUser, UpdateUser, isLoading, role, setRole } = UsersState() return ( - + {children} ) diff --git a/src/Context/Users/state.tsx b/src/Context/Users/state.tsx index d28b2e1..200f9dd 100644 --- a/src/Context/Users/state.tsx +++ b/src/Context/Users/state.tsx @@ -5,8 +5,9 @@ import { CreateUser } from "./type"; export const UsersState = () => { const [users, setusers] = useState(); + const [role, setRole] = useState() - const { data: userRequest, isLoading } = useFetchRequestUsers(); + const { data: userRequest, isLoading } = useFetchRequestUsers(role); const props = ControllerUser(); @@ -21,45 +22,50 @@ export const UsersState = () => { const CreateUser = (data: CreateUser) => { const body = { - name: data.name, - username: data.username, - password: data.password, - role: data.role, - project: GetId(data.project), - sex: data.sex, - color_race: data.color_race, - birthday:data.birthday, - email: data.email, - initial_date: data.initial_date, - phone: data.phone + name: data.name, + username: data.username, + password: data.password, + role: data.role, + project: GetId(data.project), + sex: data.sex, + color_race: data.color_race, + birthday: data.birthday, + email: data.email, + initial_date: data.initial_date, + phone: data.phone } props.requestUserMutation.mutate(body); }; const UpdateUser = (data: CreateUser, id: number) => { const body = { - name: data.name, - username: data.username, - role: data.role, - project: GetId(data.project), - sex: data.sex, - color_race: data.color_race, - birthday:data.birthday, - email: data.email, - initial_date: data.initial_date, - phone: data.phone + name: data.name, + username: data.username, + role: data.role, + project: GetId(data.project), + sex: data.sex, + color_race: data.color_race, + birthday: data.birthday, + email: data.email, + initial_date: data.initial_date, + phone: data.phone } - props.requestUpdateUserMutation.mutate({data: body, id: id}); + props.requestUpdateUserMutation.mutate({ data: body, id: id }); }; const DeleteUser = (id: number) => { props.requestDeleteUserMutation.mutate(id) } + + useEffect(() => { + setRole("TODOS") + }, []) + useEffect(() => { if (userRequest) { setusers(userRequest); } - }, [userRequest]); + }, [userRequest, role]); - return { users, CreateUser, DeleteUser, UpdateUser, isLoading }; + return { users, CreateUser, DeleteUser, UpdateUser, isLoading, role, setRole }; }; diff --git a/src/Context/Users/type.tsx b/src/Context/Users/type.tsx index a602b49..ba71a0c 100644 --- a/src/Context/Users/type.tsx +++ b/src/Context/Users/type.tsx @@ -1,29 +1,33 @@ +import { Dispatch, SetStateAction } from "react"; + export interface UsersTypes { - users: any; - CreateUser: (data: CreateUser) => void - DeleteUser: (id: number) => void - UpdateUser: (data: CreateUser, id: number) => void - isLoading: boolean + users: any; + CreateUser: (data: CreateUser) => void + DeleteUser: (id: number) => void + UpdateUser: (data: CreateUser, id: number) => void + isLoading: boolean, + role?: string, + setRole: Dispatch> } export interface CreateUser { - name: string; - username: string; - password?: string; - project: number[]; - role?: {name: string, id: string} - email?: string, - phone?: string, - sex: number, - color_race: number, - initial_date: string, - birthday: string - } + name: string; + username: string; + password?: string; + project: number[]; + role?: { name: string, id: string } + email?: string, + phone?: string, + sex: number, + color_race: number, + initial_date: string, + birthday: string +} - export interface User { - id: number - name: string - username: string - active: boolean - role: string - } \ No newline at end of file +export interface User { + id: number + name: string + username: string + active: boolean + role: string +} \ No newline at end of file diff --git a/src/Pages/Classroom/ClassroomOne/MeetingList/CreateMeeting/index.tsx b/src/Pages/Classroom/ClassroomOne/MeetingList/CreateMeeting/index.tsx index 75ee511..e65e743 100644 --- a/src/Pages/Classroom/ClassroomOne/MeetingList/CreateMeeting/index.tsx +++ b/src/Pages/Classroom/ClassroomOne/MeetingList/CreateMeeting/index.tsx @@ -24,7 +24,7 @@ const CreateMeeting = () => { const CreateMeetingPage = () => { const props = useContext(CreateMeetingContext) as CreateMeetingType; - const { data: userRequest } = useFetchRequestUsers(); + const { data: userRequest } = useFetchRequestUsers(undefined); const { id } = useParams(); diff --git a/src/Pages/InitialPage/index.tsx b/src/Pages/InitialPage/index.tsx index 3d84f8b..58b247e 100644 --- a/src/Pages/InitialPage/index.tsx +++ b/src/Pages/InitialPage/index.tsx @@ -1,11 +1,12 @@ -import { useContext } from "react"; +import { useContext, useState } from "react"; import CardQuant from "../../Components/Chart/CardQuant"; import ContentPage from "../../Components/ContentPage"; import Loading from "../../Components/Loading"; import { AplicationContext } from "../../Context/Aplication/context"; import { useFetchRequestUsersChart } from "../../Services/Users/query"; -import { Padding } from "../../Styles/styles"; +import { Padding, Row } from "../../Styles/styles"; import { PropsAplicationContext } from "../../Types/types"; +import DropdownComponent from "../../Components/Dropdown"; export interface Chart { totalUserSocialTechnologies: number; @@ -17,27 +18,30 @@ export interface Chart { } const State = () => { - const { data, isLoading, isError } = useFetchRequestUsersChart(); + + const [ts, setTs] = useState() + const { data, isLoading, isError } = useFetchRequestUsersChart(ts?.toString()); + + console.log(ts) var chart: Chart | undefined = data; return { chart, isLoading, - isError, + isError, ts, setTs }; }; const InitialPage = () => { const propsAplication = useContext(AplicationContext) as PropsAplicationContext const props = State(); - if (props.isLoading) return ; return ( - -

- + + {propsAplication.project && props.setTs(e.target.value)} placerholder="Filtrar por Tecnologia" /> + }
diff --git a/src/Pages/Users/ListUsers.tsx b/src/Pages/Users/ListUsers.tsx index 2bb3f60..91a0807 100644 --- a/src/Pages/Users/ListUsers.tsx +++ b/src/Pages/Users/ListUsers.tsx @@ -6,11 +6,14 @@ import { useContext, useState } from "react"; import { useNavigate } from "react-router-dom"; import ContentPage from "../../Components/ContentPage"; +import DropdownComponent from "../../Components/Dropdown"; import Loading from "../../Components/Loading"; +import { AplicationContext } from "../../Context/Aplication/context"; import UsersProvider, { UsersContext } from "../../Context/Users/context"; import { UsersTypes } from "../../Context/Users/type"; import { ROLE } from "../../Controller/controllerGlobal"; import { Container, Padding } from "../../Styles/styles"; +import { PropsAplicationContext } from "../../Types/types"; const ListUsers = () => { return ( @@ -23,6 +26,8 @@ const ListUsers = () => { const ListUsersPage = () => { const props = useContext(UsersContext) as UsersTypes; const history = useNavigate(); + const propsAplication = useContext(AplicationContext) as PropsAplicationContext; + const [visible, setVisible] = useState(false) // const actionBodyTemplate = (rowData: any) => { @@ -41,10 +46,10 @@ const ListUsersPage = () => { {rowData.role === ROLE.ADMIN ? "Admin" : rowData.role === ROLE.COORDINATORS - ? "Coordenador" - : rowData.role === ROLE.REAPPLICATORS - ? "Reaplicador" - : null} + ? "Coordenador" + : rowData.role === ROLE.REAPPLICATORS + ? "Reaplicador" + : null}

); }; @@ -59,28 +64,55 @@ const ListUsersPage = () => { const ActionsUserBody = (rowData: any) => { return ( -
+ ); + }; + return ( - - -