aboutsummaryrefslogtreecommitdiffstats
path: root/packages/excalidraw/components/ActiveConfirmDialog.tsx
diff options
context:
space:
mode:
authorkj_sh6042026-03-15 16:19:35 -0400
committerkj_sh6042026-03-15 16:19:35 -0400
commit6ec259a0e71174651bae95d4628138bf6fd68742 (patch)
tree5e33c6a5ec091ecabfcb257fdc7b6a88ed8754ac /packages/excalidraw/components/ActiveConfirmDialog.tsx
parent16c8578b15c727f22921f8a80a56ee4d4e7f2272 (diff)
refactor: packages/
Diffstat (limited to 'packages/excalidraw/components/ActiveConfirmDialog.tsx')
-rw-r--r--packages/excalidraw/components/ActiveConfirmDialog.tsx35
1 files changed, 35 insertions, 0 deletions
diff --git a/packages/excalidraw/components/ActiveConfirmDialog.tsx b/packages/excalidraw/components/ActiveConfirmDialog.tsx
new file mode 100644
index 0000000..699fbc6
--- /dev/null
+++ b/packages/excalidraw/components/ActiveConfirmDialog.tsx
@@ -0,0 +1,35 @@
+import { actionClearCanvas } from "../actions";
+import { t } from "../i18n";
+import { atom, useAtom } from "../editor-jotai";
+import { useExcalidrawActionManager } from "./App";
+import ConfirmDialog from "./ConfirmDialog";
+
+export const activeConfirmDialogAtom = atom<"clearCanvas" | null>(null);
+
+export const ActiveConfirmDialog = () => {
+ const [activeConfirmDialog, setActiveConfirmDialog] = useAtom(
+ activeConfirmDialogAtom,
+ );
+ const actionManager = useExcalidrawActionManager();
+
+ if (!activeConfirmDialog) {
+ return null;
+ }
+
+ if (activeConfirmDialog === "clearCanvas") {
+ return (
+ <ConfirmDialog
+ onConfirm={() => {
+ actionManager.executeAction(actionClearCanvas);
+ setActiveConfirmDialog(null);
+ }}
+ onCancel={() => setActiveConfirmDialog(null)}
+ title={t("clearCanvasDialog.title")}
+ >
+ <p className="clear-canvas__content"> {t("alerts.clearReset")}</p>
+ </ConfirmDialog>
+ );
+ }
+
+ return null;
+};