diff --git a/src/app/GlobalDataProvider.js b/src/app/GlobalDataProvider.js index d930bbed..4f6eabca 100644 --- a/src/app/GlobalDataProvider.js +++ b/src/app/GlobalDataProvider.js @@ -3,17 +3,32 @@ import { createContext, useEffect, useState } from 'react' import { useLocalStorage } from 'usehooks-ts' -export const GlobalDataContext = createContext({ - managementState: {}, - setManagementState: () => {}, - managementStateLoaded: null, -}) +// export const GlobalDataContext = createContext({ +// managementState: {}, +// setManagementState: () => {}, +// managementStateLoaded: null, +// }) +export const GlobalDataContext = createContext(null) const GlobalDataProvider = ({ children }) => { const [managementState, setManagementState] = useState(null) // TODO: 임시 조치이며 개발 완료시 삭제 예정 -> 잊지말기... const [managementStateLoaded, setManagementStateLoaded] = useLocalStorage('managementStateLoaded', null) + // const pathname = usePathname() + // const setCorrentObjectNo = useSetRecoilState(correntObjectNoState) + // const searchParams = useSearchParams() + // const objectNo = searchParams.get('objectNo') + // const pid = searchParams.get('pid') + // useEffect(() => { + // if (pathname === '/floor-plan') { + // if (pid === undefined || pid === '' || pid === null || objectNo === undefined || objectNo === '' || objectNo === null) { + // notFound() + // } + // setCorrentObjectNo(objectNo) + // } + // }, [pathname]) + useEffect(() => { if (managementState !== null) { setManagementStateLoaded(managementState) diff --git a/src/app/GlobalLoadingProvider.js b/src/app/GlobalLoadingProvider.js new file mode 100644 index 00000000..92a6c65e --- /dev/null +++ b/src/app/GlobalLoadingProvider.js @@ -0,0 +1,11 @@ +'use client' + +import { useContext } from 'react' +import { QcastContext } from './QcastProvider' +import GlobalSpinner from '@/components/common/spinner/GlobalSpinner' + +export default function GlobalLoadingProvider() { + const { isGlobalLoading } = useContext(QcastContext) + + return <>{isGlobalLoading && } +} diff --git a/src/app/QcastProvider.js b/src/app/QcastProvider.js index 43404308..73911177 100644 --- a/src/app/QcastProvider.js +++ b/src/app/QcastProvider.js @@ -6,7 +6,6 @@ import { useCommonCode } from '@/hooks/common/useCommonCode' import ServerError from './error' import '@/styles/common.scss' -import GlobalSpinner from '@/components/common/spinner/GlobalSpinner' export const QcastContext = createContext({ qcastState: {}, @@ -17,7 +16,7 @@ export const QcastContext = createContext({ export const QcastProvider = ({ children }) => { const [planSave, setPlanSave] = useState(false) - const [isGlobalLoading, setIsGlobalLoading] = useState(false) + const [isGlobalLoading, setIsGlobalLoading] = useState(true) const { commonCode, findCommonCode } = useCommonCode() const [qcastState, setQcastState] = useState({ @@ -35,11 +34,6 @@ export const QcastProvider = ({ children }) => { return ( <> - {isGlobalLoading && ( -
- -
- )} }>{children} diff --git a/src/app/floor-plan/FloorPlanProvider.js b/src/app/floor-plan/FloorPlanProvider.js index efed75e6..5019e8a4 100644 --- a/src/app/floor-plan/FloorPlanProvider.js +++ b/src/app/floor-plan/FloorPlanProvider.js @@ -1,9 +1,9 @@ 'ues client' -import { correntObjectNoState } from '@/store/settingAtom' +// import { correntObjectNoState } from '@/store/settingAtom' import { notFound, usePathname, useSearchParams } from 'next/navigation' import { createContext, useReducer, useState, useEffect } from 'react' -import { useSetRecoilState } from 'recoil' +// import { useSetRecoilState } from 'recoil' const reducer = (prevState, nextState) => { return { ...prevState, ...nextState } @@ -27,12 +27,12 @@ const defaultEstimateData = { * 모듈,회로 구성 상태 데이터 * 각 설정 팝업 상태를 저장하는 데이터 */ -const defaultProcessStep = { - gnbStep: 0, - processStep: 0, - moduleCofigureData: {}, - pcsConfigureData: {}, -} +// const defaultProcessStep = { +// gnbStep: 0, +// processStep: 0, +// moduleCofigureData: {}, +// pcsConfigureData: {}, +// } export const FloorPlanContext = createContext({ floorPlanState: {}, @@ -42,20 +42,29 @@ export const FloorPlanContext = createContext({ }) const FloorPlanProvider = ({ children }) => { - const pathname = usePathname() - const setCurrentObjectNo = useSetRecoilState(correntObjectNoState) + // const pathname = usePathname() + // const setCorrentObjectNo = useSetRecoilState(correntObjectNoState) const searchParams = useSearchParams() const objectNo = searchParams.get('objectNo') const pid = searchParams.get('pid') + // useEffect(() => { + // console.log('🚀 ~ useEffect ~ objectNo:') + // if (pathname === '/floor-plan') { + // if (pid === undefined || pid === '' || pid === null || objectNo === undefined || objectNo === '' || objectNo === null) { + // notFound() + // } + // setCorrentObjectNo(objectNo) + // } + // }, []) - useEffect(() => { // 오류 발생으로 useEffect 사용 - if (pathname === '/floor-plan') { - if (pid === undefined || pid === '' || pid === null || objectNo === undefined || objectNo === '' || objectNo === null) { - notFound() - } - setCurrentObjectNo(objectNo) - } - }, [pid, objectNo]) + //useEffect(() => { // 오류 발생으로 useEffect 사용 + // if (pathname === '/floor-plan') { + // if (pid === undefined || pid === '' || pid === null || objectNo === undefined || objectNo === '' || objectNo === null) { + // notFound() + // } + // setCurrentObjectNo(objectNo) + // } + //}, [pid, objectNo]) const [floorPlanState, setFloorPlanState] = useState({ // 플랜 파일 업로드 모달 오픈 제어 @@ -70,12 +79,10 @@ const FloorPlanProvider = ({ children }) => { const [estimateContextState, setEstimateContextState] = useReducer(reducer, defaultEstimateData) - const [processStepState, setProcessStepState] = useReducer(reducer, defaultProcessStep) + // const [processStepState, setProcessStepState] = useReducer(reducer, defaultProcessStep) return ( - + {children} ) diff --git a/src/app/floor-plan/layout.js b/src/app/floor-plan/layout.js index 74fe0632..e4ecbee3 100644 --- a/src/app/floor-plan/layout.js +++ b/src/app/floor-plan/layout.js @@ -1,31 +1,22 @@ 'use client' -import { usePathname } from 'next/navigation' import FloorPlanProvider from './FloorPlanProvider' import FloorPlan from '@/components/floor-plan/FloorPlan' import CanvasLayout from '@/components/floor-plan/CanvasLayout' -import { Suspense } from 'react' -import GlobalSpinner from '@/components/common/spinner/GlobalSpinner' export default function FloorPlanLayout({ children }) { - console.log('🚀 ~ FloorPlanLayout ~ FloorPlanLayout:') - const pathname = usePathname() - console.log('🚀 ~ FloorPlanLayout ~ pathname:', pathname) - return ( <> - }> - - - {/* {pathname.includes('estimate') || pathname.includes('simulator') ? ( + + + {/* {pathname.includes('estimate') || pathname.includes('simulator') ? (
{children}
) : ( {children} )} */} - {children} -
-
-
+ {children} + + ) } diff --git a/src/app/layout.js b/src/app/layout.js index 0a514711..1118b0d9 100644 --- a/src/app/layout.js +++ b/src/app/layout.js @@ -8,15 +8,13 @@ import SessionProvider from './SessionProvider' import GlobalDataProvider from './GlobalDataProvider' import Header from '@/components/header/Header' import QModal from '@/components/common/modal/QModal' -import Dimmed from '@/components/ui/Dimmed' import PopupManager from '@/components/common/popupManager/PopupManager' import './globals.css' import '../styles/style.scss' import '../styles/contents.scss' import Footer from '@/components/footer/Footer' -import { Suspense } from 'react' -import GlobalSpinner from '@/components/common/spinner/GlobalSpinner' +import GlobalLoadingProvider from './GlobalLoadingProvider' export const metadata = { title: 'Create Next App', @@ -66,24 +64,22 @@ export default async function RootLayout({ children }) { - }> - {headerPathname === '/login' || headerPathname === '/join' ? ( - {children} - ) : ( - -
-
-
- - {children} -
-