mirror of
https://github.com/fleetdm/fleet
synced 2026-05-24 09:28:54 +00:00
* fixed style for action buttons in all modals * fixed tests and modified more components * fixed class reference in test * removed unused file
57 lines
1.5 KiB
TypeScript
57 lines
1.5 KiB
TypeScript
import React, { useEffect } from "react";
|
|
|
|
import Modal from "components/Modal";
|
|
import Button from "components/buttons/Button";
|
|
|
|
const baseClass = "delete-team-modal";
|
|
|
|
interface IDeleteTeamModalProps {
|
|
name: string;
|
|
onSubmit: () => void;
|
|
onCancel: () => void;
|
|
}
|
|
|
|
const DeleteTeamModal = ({
|
|
name,
|
|
onSubmit,
|
|
onCancel,
|
|
}: IDeleteTeamModalProps): JSX.Element => {
|
|
useEffect(() => {
|
|
const listener = (event: KeyboardEvent) => {
|
|
if (event.code === "Enter" || event.code === "NumpadEnter") {
|
|
event.preventDefault();
|
|
onSubmit();
|
|
}
|
|
};
|
|
document.addEventListener("keydown", listener);
|
|
return () => {
|
|
document.removeEventListener("keydown", listener);
|
|
};
|
|
}, []);
|
|
|
|
return (
|
|
<Modal title={"Delete team"} onExit={onCancel} className={baseClass}>
|
|
<form className={`${baseClass}__form`}>
|
|
<p>
|
|
You are about to delete{" "}
|
|
<span className={`${baseClass}__name`}>{name}</span> from Fleet.
|
|
</p>
|
|
<p>
|
|
Members of this team who are not members of other teams will lose
|
|
access to Fleet.
|
|
</p>
|
|
<p className={`${baseClass}__warning`}>This action cannot be undone.</p>
|
|
<div className="modal-cta-wrap">
|
|
<Button type="button" onClick={onSubmit} variant="alert">
|
|
Delete
|
|
</Button>
|
|
<Button onClick={onCancel} variant="inverse-alert">
|
|
Cancel
|
|
</Button>
|
|
</div>
|
|
</form>
|
|
</Modal>
|
|
);
|
|
};
|
|
|
|
export default DeleteTeamModal;
|