ClearCanvas.tsx 943 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { useState } from "react";
  2. import { t } from "../i18n";
  3. import { TrashIcon } from "./icons";
  4. import ConfirmDialog from "./ConfirmDialog";
  5. import MenuItem from "./MenuItem";
  6. const ClearCanvas = ({ onConfirm }: { onConfirm: () => void }) => {
  7. const [showDialog, setShowDialog] = useState(false);
  8. const toggleDialog = () => {
  9. setShowDialog(!showDialog);
  10. };
  11. return (
  12. <>
  13. <MenuItem
  14. label={t("buttons.clearReset")}
  15. icon={TrashIcon}
  16. onClick={toggleDialog}
  17. dataTestId="clear-canvas-button"
  18. />
  19. {showDialog && (
  20. <ConfirmDialog
  21. onConfirm={() => {
  22. onConfirm();
  23. toggleDialog();
  24. }}
  25. onCancel={toggleDialog}
  26. title={t("clearCanvasDialog.title")}
  27. >
  28. <p className="clear-canvas__content"> {t("alerts.clearReset")}</p>
  29. </ConfirmDialog>
  30. )}
  31. </>
  32. );
  33. };
  34. export default ClearCanvas;