import { useState } from "react";
import Button from "./Button";
import { UserProjectMember } from "../Types/goTypes";
import GetUsersInProject from "./GetUsersInProject";

function ProjectInfoModal(props: {
  isVisible: boolean;
  projectname: string;
  onClose: () => void;
  onClick: (username: string) => void;
}): JSX.Element {
  const [users, setUsers] = useState<UserProjectMember[]>([]);
  GetUsersInProject({ projectName: props.projectname, setUsersProp: setUsers });
  if (!props.isVisible) return <></>;

  return (
    <div
      className="fixed inset-0 bg-black bg-opacity-30 backdrop-blur-sm 
      flex justify-center items-center"
    >
      <div className="border-4 border-black bg-white p-2 rounded-2xl text-center h-[41vh] w-[40vw] flex flex-col">
        <div className="pl-20 pr-20">
          <h1 className="font-bold text-[32px] mb-[20px]">Project members:</h1>
          <div className="border-2 border-black p-2 rounded-lg text-center overflow-scroll h-[26vh]">
            <ul className="text-left font-medium space-y-2">
              <div></div>
              {users.map((user) => (
                <li
                  className="items-start p-1 border-2 border-black rounded-lg bg-orange-200 hover:bg-orange-600 hover:text-slate-100 hover:cursor-pointer"
                  key={user.Username}
                  onClick={() => {
                    props.onClick(user.Username);
                  }}
                >
                  <span>
                    Name: {user.Username}
                    <div></div>
                    Role: {user.UserRole}
                  </span>
                </li>
              ))}
            </ul>
          </div>
        </div>
        <div className="space-x-16">
          <Button
            text={"Delete"}
            onClick={function (): void {
              //DELETE PROJECT
            }}
            type="button"
          />
          <Button
            text={"Close"}
            onClick={function (): void {
              props.onClose();
            }}
            type="button"
          />
        </div>
      </div>
    </div>
  );
}

export default ProjectInfoModal;