import React, { FC, useState, ChangeEvent, useEffect, FormEvent } from "react"; import { Modal } from "./Modal"; import { AvatarList } from "./AvatarList"; import { User } from "../types/User"; import { FilterBar } from "./FilterBar"; import { HttpResponse } from "../types/HttpResponse"; import { get, put } from "../utils/http"; import { Constants } from "../utils/Constants"; import { UsersModalEntry } from "./UsersModalEntry"; import { useParams } from "react-router-dom"; interface IProps { show: boolean; handleClose: () => void; users: User[]; } export const UsersModal: FC = ({ show, handleClose, users }) => { const [filterText, setFilterText] = useState(""); const [allUsers, setAllUsers] = useState([]); const [members, setMembers] = useState(users); const { id } = useParams(); const handleChange: (e: ChangeEvent) => void = ( e: ChangeEvent ) => { setFilterText(e.target.value); }; const handleSubmit: (event: FormEvent) => void = async ( e: FormEvent ) => { e.preventDefault(); const response: HttpResponse = await put( `${Constants.projectsURI}/${id}/members`, members ); console.log(response); }; async function httpGet(): Promise { try { const response: HttpResponse = await get( `${Constants.usersURI}` ); if (response.parsedBody !== undefined) { setAllUsers((response.parsedBody as unknown) as User[]); } } catch (ex) { // setHasError(true); // setError(ex); } } useEffect(() => { // if (id !== undefined) { httpGet(); // } else { // setHasError(true); // setError("Bad Request"); // } }, []); return (

Manage users

close
setFilterText("")} handleChange={handleChange} />
    {allUsers.map((u: User) => (
  • ))}
); };