From 53344f1788850ceb15159b0a0414996e53496026 Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Thu, 6 Feb 2025 18:00:20 +0900 Subject: [PATCH] =?UTF-8?q?#598=20=EC=9D=B4=EC=A0=84=20=EB=AC=BC=EA=B1=B4?= =?UTF-8?q?=EC=A0=95=EB=B3=B4=EC=97=90=EC=84=9C=20=EB=A7=8C=EB=93=A0=20?= =?UTF-8?q?=EB=8F=84=EB=A9=B4=EB=8D=B0=EC=9D=B4=ED=83=80=EA=B0=80=20?= =?UTF-8?q?=EC=83=88=EB=A1=9C=EC=9A=B4=20=EB=AC=BC=EA=B1=B4=EB=B2=88?= =?UTF-8?q?=ED=98=B8=EB=A1=9C=20=EB=A7=8C=EB=93=A0=20=ED=9B=84=20=ED=94=8C?= =?UTF-8?q?=EB=9E=9C1=EC=9D=84=20=EC=B6=94=EA=B0=80=ED=95=B4=EB=8F=84=20?= =?UTF-8?q?=EC=9E=90=EB=8F=99=EC=9C=BC=EB=A1=9C=20=EA=B3=84=EC=86=8D=20?= =?UTF-8?q?=EB=85=B8=EC=B6=9C=EB=90=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/usePlan.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/hooks/usePlan.js b/src/hooks/usePlan.js index 2bb37a1e..04bb983f 100644 --- a/src/hooks/usePlan.js +++ b/src/hooks/usePlan.js @@ -3,7 +3,7 @@ import { useContext, useEffect, useState } from 'react' import { usePathname, useRouter, useSearchParams } from 'next/navigation' -import { useRecoilState } from 'recoil' +import { useRecoilState, useResetRecoilState } from 'recoil' import { canvasState, currentCanvasPlanState, plansState } from '@/store/canvasAtom' import { useAxios } from '@/hooks/useAxios' @@ -14,6 +14,8 @@ import { SAVE_KEY } from '@/common/common' import { readImage, removeImage } from '@/lib/fileAction' import { FloorPlanContext } from '@/app/floor-plan/FloorPlanProvider' import { useEstimateController } from '@/hooks/floorPlan/estimate/useEstimateController' +import { outerLinePointsState } from '@/store/outerLineAtom' +import { placementShapeDrawingPointsState } from '@/store/placementShapeDrawingAtom' export function usePlan(params = {}) { const { floorPlanState } = useContext(FloorPlanContext) @@ -33,6 +35,10 @@ export function usePlan(params = {}) { const { get, promisePost, promisePut, promiseDel, promiseGet } = useAxios() const { setEstimateContextState } = useEstimateController() + + const resetOuterLinePoints = useResetRecoilState(outerLinePointsState) + const resetPlacementShapeDrawingPoints = useResetRecoilState(placementShapeDrawingPointsState) + /** * 마우스 포인터의 가이드라인을 제거합니다. */ @@ -284,6 +290,8 @@ export function usePlan(params = {}) { } else { if (!currentCanvasPlan || currentCanvasPlan.id !== newCurrentId) { await saveCanvas(true) + + clearRecoilState() } setCurrentCanvasPlan(plans.find((plan) => plan.id === newCurrentId)) setPlans((plans) => plans.map((plan) => ({ ...plan, isCurrent: plan.id === newCurrentId }))) @@ -296,6 +304,12 @@ export function usePlan(params = {}) { // setBgImage() }, [currentCanvasPlan]) + const clearRecoilState = () => { + //clear가 필요한 recoil state 관리 + resetOuterLinePoints() + resetPlacementShapeDrawingPoints() + } + const handleCurrentPlanUrl = () => { const currentPlan = plans.find((plan) => plan.isCurrent) // if (currentPlan) router.push(`${pathname}?pid=${currentPlan?.planNo}&objectNo=${floorPlanState?.objectNo}`)