ClearCanvas.tsx 1.0 KB

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