2021-11-15 21:16:06 +00:00
|
|
|
import React from "react";
|
|
|
|
|
|
|
|
|
|
import { IEnrollSecret } from "interfaces/enroll_secret";
|
|
|
|
|
import EnrollSecretRow from "./EnrollSecretRow";
|
|
|
|
|
|
|
|
|
|
const baseClass = "enroll-secrets";
|
|
|
|
|
|
|
|
|
|
interface IEnrollSecretRowProps {
|
|
|
|
|
secrets: IEnrollSecret[] | undefined;
|
|
|
|
|
toggleSecretEditorModal?: () => void;
|
|
|
|
|
toggleDeleteSecretModal?: () => void;
|
2022-01-21 17:06:58 +00:00
|
|
|
setSelectedSecret?: React.Dispatch<
|
2021-11-15 21:16:06 +00:00
|
|
|
React.SetStateAction<IEnrollSecret | undefined>
|
|
|
|
|
>;
|
|
|
|
|
}
|
|
|
|
|
const EnrollSecretTable = ({
|
|
|
|
|
secrets,
|
|
|
|
|
toggleSecretEditorModal,
|
|
|
|
|
toggleDeleteSecretModal,
|
|
|
|
|
setSelectedSecret,
|
|
|
|
|
}: IEnrollSecretRowProps): JSX.Element | null => {
|
|
|
|
|
let enrollSecretsClass = baseClass;
|
|
|
|
|
if (!secrets) {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (secrets.length === 0) {
|
|
|
|
|
return (
|
|
|
|
|
<div className={baseClass}>
|
|
|
|
|
<em>No active enroll secrets.</em>
|
|
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
} else if (secrets.length > 1)
|
|
|
|
|
enrollSecretsClass += ` ${baseClass}--multiple-secrets`;
|
|
|
|
|
|
|
|
|
|
if (toggleSecretEditorModal && toggleDeleteSecretModal) {
|
|
|
|
|
return (
|
|
|
|
|
<div className={enrollSecretsClass}>
|
|
|
|
|
{secrets.map((secretInfo) => (
|
|
|
|
|
<EnrollSecretRow
|
|
|
|
|
secret={secretInfo}
|
|
|
|
|
key={secretInfo.secret}
|
|
|
|
|
toggleSecretEditorModal={toggleSecretEditorModal}
|
|
|
|
|
toggleDeleteSecretModal={toggleDeleteSecretModal}
|
|
|
|
|
setSelectedSecret={setSelectedSecret}
|
|
|
|
|
/>
|
|
|
|
|
))}
|
|
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
}
|
2022-11-07 17:48:43 +00:00
|
|
|
|
2021-11-15 21:16:06 +00:00
|
|
|
return (
|
|
|
|
|
<div className={enrollSecretsClass}>
|
2022-11-07 17:48:43 +00:00
|
|
|
{secrets.map((secretInfo) => {
|
|
|
|
|
return <EnrollSecretRow secret={secretInfo} key={secretInfo.secret} />;
|
|
|
|
|
})}
|
2021-11-15 21:16:06 +00:00
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default EnrollSecretTable;
|
|
|
|
|
export { EnrollSecretRow };
|