diff --git a/src/hooks/common/useMenu.js b/src/hooks/common/useMenu.js
index 8cdfeb1b..9ba54255 100644
--- a/src/hooks/common/useMenu.js
+++ b/src/hooks/common/useMenu.js
@@ -21,7 +21,7 @@ import { MENU } from '@/common/common'
import { useTrestle } from '@/hooks/module/useTrestle'
import { useOrientation } from '@/hooks/module/useOrientation'
import { corridorDimensionSelector } from '@/store/settingAtom'
-import { useUndoRedo } from '@/hooks/useUndoRedo'
+import { useUndoRedo, isUndoRedoRestoring } from '@/hooks/useUndoRedo'
/**
* 메뉴 처리 훅
@@ -69,6 +69,8 @@ export default function useMenu() {
addPopup(popupId, 1, )
break
case MENU.ROOF_COVERING.ALL_REMOVE:
+ // undo/redo 복원 중에는 confirm 창을 띄우지 않는다
+ if (isUndoRedoRestoring()) break
deleteAllSurfacesAndObjects()
break
}
@@ -91,6 +93,8 @@ export default function useMenu() {
addPopup(popupId, 1, )
break
case MENU.BATCH_CANVAS.ALL_REMOVE:
+ // undo/redo 복원 중에는 confirm 창을 띄우지 않는다
+ if (isUndoRedoRestoring()) break
deleteAllSurfacesAndObjects()
break
}
diff --git a/src/hooks/useUndoRedo.js b/src/hooks/useUndoRedo.js
index 35df6b2b..2047dc7e 100644
--- a/src/hooks/useUndoRedo.js
+++ b/src/hooks/useUndoRedo.js
@@ -25,6 +25,13 @@ const MAX_HISTORY = 3
let _isRestoring = false
let _restoreTimer = null
+/**
+ * 외부 훅/모듈에서 현재 undo/redo 복원 중인지 확인할 때 사용
+ */
+export function isUndoRedoRestoring() {
+ return _isRestoring
+}
+
// loadFromJSON 공통 처리 - 이벤트 일시 중단 후 복원
function _restoreFromJSON(canvas, snapshot, restoreAtomSnapshot, rebuildCanvasAtoms, setCanvasZoom) {
// 진행 중인 복원 타이머가 있으면 취소