import React, { FC, useState, ChangeEvent, FormEvent, useEffect } from "react"; import { Modal } from "./Modal"; import { AvatarList } from "./AvatarList"; import { User } from "../types/User"; import { FilterBar } from "./FilterBar"; import { patch } from "../utils/http"; import { Constants } from "../utils/Constants"; import { UsersModalEntry } from "./UsersModalEntry"; import { useParams } from "react-router-dom"; interface IProps { show: boolean; users: User[]; allUsers: User[]; handleClose(): void; } export const UsersModal: FC = ({ show, handleClose, users, allUsers }) => { const [filterText, setFilterText] = 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(); await patch( `${Constants.projectsURI}/${id}/members`, members.map(m => m.id) ); handleClose(); }; useEffect(() => {}); return (

Manage users

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