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 13c3dd5a..cb47d702 100644 --- a/src/app/floor-plan/FloorPlanProvider.js +++ b/src/app/floor-plan/FloorPlanProvider.js @@ -47,14 +47,22 @@ const FloorPlanProvider = ({ children }) => { 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() + } + setCurrentObjectNo(objectNo) + } + }, [pathname]) //useEffect(() => { // 오류 발생으로 useEffect 사용 - if (pathname === '/floor-plan') { - if (pid === undefined || pid === '' || pid === null || objectNo === undefined || objectNo === '' || objectNo === null) { - notFound() - } - setCurrentObjectNo(objectNo) - } + // if (pathname === '/floor-plan') { + // if (pid === undefined || pid === '' || pid === null || objectNo === undefined || objectNo === '' || objectNo === null) { + // notFound() + // } + // setCurrentObjectNo(objectNo) + // } //}, [pid, objectNo]) const [floorPlanState, setFloorPlanState] = useState({ 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 fd9f08bd..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', @@ -70,10 +68,10 @@ export default async function RootLayout({ children }) { {children} ) : ( +
- {children}