From f3b19f85a2575e83f39541107c29b00ac306fd33 Mon Sep 17 00:00:00 2001 From: yoosangwook Date: Fri, 22 Nov 2024 13:54:30 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20floor-plan=20=EB=A7=81=ED=81=AC=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/floor-plan/FloorPlanProvider.js | 22 +++++++++++++++++++--- src/app/floor-plan/layout.js | 6 ++++-- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/app/floor-plan/FloorPlanProvider.js b/src/app/floor-plan/FloorPlanProvider.js index fb6e6460..e82f93e6 100644 --- a/src/app/floor-plan/FloorPlanProvider.js +++ b/src/app/floor-plan/FloorPlanProvider.js @@ -1,5 +1,6 @@ 'ues client' +import { notFound, usePathname, useSearchParams } from 'next/navigation' // import { ErrorBoundary } from 'next/dist/client/components/error-boundary' // import ServerError from '../error' import { createContext, useEffect, useReducer, useState } from 'react' @@ -30,19 +31,34 @@ export const FloorPlanContext = createContext({ }) const FloorPlanProvider = ({ children }) => { + const pathname = usePathname() + const searchParams = useSearchParams() + const objectNo = searchParams.get('objectNo') + const pid = searchParams.get('pid') + + if (pathname === '/floor-plan') { + if (pid === undefined || pid === '' || objectNo === undefined || objectNo === '') { + notFound() + } + } + const [floorPlanState, setFloorPlanState] = useState({ // 플랜 파일 업로드 모달 오픈 제어 refFileModalOpen: false, // 플랜 회전 모드 제어 toggleRotate: false, + // 물건 번호 + objectNo, + // 플랜 번호 + pid, }) - const [estimateContextState, setEstimateContextState] = useReducer(reducer, defaultEstimateData) - useEffect(() => { - console.log('🚀 ~ floorPlanState:', floorPlanState) + console.log('🚀 ~ FloorPlanProvider ~ floorPlanState:', floorPlanState) }, [floorPlanState]) + const [estimateContextState, setEstimateContextState] = useReducer(reducer, defaultEstimateData) + return ( {children} diff --git a/src/app/floor-plan/layout.js b/src/app/floor-plan/layout.js index ff9c9572..2a6fb8fd 100644 --- a/src/app/floor-plan/layout.js +++ b/src/app/floor-plan/layout.js @@ -1,10 +1,12 @@ 'use client' -import FloorPlan from '@/components/floor-plan/FloorPlan' + import FloorPlanProvider from './FloorPlanProvider' +import FloorPlan from '@/components/floor-plan/FloorPlan' import CanvasLayout from '@/components/floor-plan/CanvasLayout' export default function FloorPlanLayout({ children }) { - console.log('FloorPlanLayout') + console.log('🚀 ~ FloorPlanLayout ~ FloorPlanLayout:') + return ( <>