diff --git a/src/hooks/usePlan.js b/src/hooks/usePlan.js index befc05d8..f7fa7508 100644 --- a/src/hooks/usePlan.js +++ b/src/hooks/usePlan.js @@ -19,6 +19,7 @@ import { useCanvasSetting } from '@/hooks/option/useCanvasSetting' import { compasDegAtom } from '@/store/orientationAtom' import { moduleSelectionDataState, selectedModuleState } from '@/store/selectedModuleOptions' import { useCanvasPopupStatusController } from './common/useCanvasPopupStatusController' +import { useCanvasMenu } from './common/useCanvasMenu' /** * 플랜 처리 훅 @@ -58,6 +59,7 @@ export function usePlan(params = {}) { const [compasDeg, setCompasDeg] = useRecoilState(compasDegAtom) const [moduleSelectionDataStore, setModuleSelectionDataStore] = useRecoilState(moduleSelectionDataState) const [selectedModules, setSelectedModules] = useRecoilState(selectedModuleState) + const { selectedMenu, setSelectedMenu } = useCanvasMenu() /** * 마우스 포인터의 가이드라인 제거 @@ -224,6 +226,7 @@ export function usePlan(params = {}) { fetchBasicSettings(newPlan.planNo, null) } else { if (isCopy) { + const currentSelectedMenu = selectedMenu /* 복제 플랜 생성인 경우 현재 캔버스 데이터를 복제 */ newPlan.canvasStatus = currentCanvasData() newPlan.bgImageName = currentCanvasPlan?.bgImageName ?? null @@ -284,6 +287,10 @@ export function usePlan(params = {}) { roofSurfaceList.forEach((surface) => { surface.modules = modules.filter((module) => module.surfaceId === surface.id) }) + + setSelectedMenu(currentSelectedMenu) + } else { + setSelectedMenu('placement') } setCurrentCanvasPlan(newPlan) setPlans((plans) => [...plans.map((plan) => ({ ...plan, isCurrent: false })), newPlan])