import React, { useEffect } from "react"; import { ITeam } from "interfaces/team"; import { IEnrollSecret } from "interfaces/enroll_secret"; import Modal from "components/Modal"; import Button from "components/buttons/Button"; import EnrollSecretTable from "components/EnrollSecretTable"; import PlusIcon from "../../../assets/images/icon-plus-16x16@2x.png"; interface IEnrollSecretModal { selectedTeam: number; onReturnToApp: () => void; teams: ITeam[]; toggleSecretEditorModal: () => void; toggleDeleteSecretModal: () => void; setSelectedSecret: React.Dispatch< React.SetStateAction >; globalSecrets?: IEnrollSecret[] | undefined; } const baseClass = "enroll-secret-modal"; const EnrollSecretModal = ({ onReturnToApp, selectedTeam, teams, toggleSecretEditorModal, toggleDeleteSecretModal, setSelectedSecret, globalSecrets, }: IEnrollSecretModal): JSX.Element => { useEffect(() => { const listener = (event: KeyboardEvent) => { if (event.code === "Enter" || event.code === "NumpadEnter") { event.preventDefault(); onReturnToApp(); } }; document.addEventListener("keydown", listener); return () => { document.removeEventListener("keydown", listener); }; }, []); const renderTeam = () => { if (typeof selectedTeam === "string") { selectedTeam = parseInt(selectedTeam, 10); } if (selectedTeam === 0) { return { name: "No team", secrets: globalSecrets }; } return teams.find((team) => team.id === selectedTeam); }; const addNewSecretClick = () => { setSelectedSecret(undefined); toggleSecretEditorModal(); }; return (
{renderTeam()?.secrets?.length ? ( <>
Use these secret(s) to enroll hosts to {renderTeam()?.name} :
) : ( <>

You have no enroll secrets.

Add secret(s) to enroll hosts to {renderTeam()?.name}.

)}
); }; export default EnrollSecretModal;