import { useEffect, useRef, useState } from "react"; import Button from "./Button"; import GetUsersInProject, { ProjectMember } from "./GetUsersInProject"; import { Link } from "react-router-dom"; import GetProjectTimes, { projectTimes } from "./GetProjectTimes"; import DeleteProject from "./DeleteProject"; function ProjectInfoModal(props: { projectname: string; onClose: () => void; onClick: (username: string) => void; }): JSX.Element { const [users, setUsers] = useState([]); const [times, setTimes] = useState(); const totalTime = useRef(0); GetUsersInProject({ projectName: props.projectname, setUsersProp: setUsers }); GetProjectTimes({ setTimesProp: setTimes, projectName: props.projectname }); useEffect(() => { if (times?.totalTime !== undefined) { totalTime.current = times.totalTime; } }, [times]); return (

{props.projectname}

Statistics:

Number of members: {users.length}

Total time reported: {totalTime.current}

Project members:

    {users.map((user) => (
  • { props.onClick(user.Username); }} > Name: {user.Username}
    Role: {user.UserRole}
  • ))}
); } export default ProjectInfoModal;