GlobalLoading 수정
This commit is contained in:
parent
297f1f563b
commit
16708b3ef3
11
src/app/GlobalLoadingProvider.js
Normal file
11
src/app/GlobalLoadingProvider.js
Normal file
@ -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({ children }) {
|
||||||
|
const { isGlobalLoading } = useContext(QcastContext)
|
||||||
|
|
||||||
|
return <QcastContext.Provider>{isGlobalLoading && <GlobalSpinner />}</QcastContext.Provider>
|
||||||
|
}
|
||||||
@ -6,7 +6,6 @@ import { useCommonCode } from '@/hooks/common/useCommonCode'
|
|||||||
import ServerError from './error'
|
import ServerError from './error'
|
||||||
|
|
||||||
import '@/styles/common.scss'
|
import '@/styles/common.scss'
|
||||||
import GlobalSpinner from '@/components/common/spinner/GlobalSpinner'
|
|
||||||
|
|
||||||
export const QcastContext = createContext({
|
export const QcastContext = createContext({
|
||||||
qcastState: {},
|
qcastState: {},
|
||||||
@ -17,7 +16,7 @@ export const QcastContext = createContext({
|
|||||||
|
|
||||||
export const QcastProvider = ({ children }) => {
|
export const QcastProvider = ({ children }) => {
|
||||||
const [planSave, setPlanSave] = useState(false)
|
const [planSave, setPlanSave] = useState(false)
|
||||||
const [isGlobalLoading, setIsGlobalLoading] = useState(false)
|
const [isGlobalLoading, setIsGlobalLoading] = useState(true)
|
||||||
const { commonCode, findCommonCode } = useCommonCode()
|
const { commonCode, findCommonCode } = useCommonCode()
|
||||||
|
|
||||||
const [qcastState, setQcastState] = useState({
|
const [qcastState, setQcastState] = useState({
|
||||||
@ -35,11 +34,6 @@ export const QcastProvider = ({ children }) => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{isGlobalLoading && (
|
|
||||||
<div className="fixed inset-0 bg-white z-50 flex items-center justify-center">
|
|
||||||
<GlobalSpinner />
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
<QcastContext.Provider value={{ qcastState, setQcastState, isGlobalLoading, setIsGlobalLoading }}>
|
<QcastContext.Provider value={{ qcastState, setQcastState, isGlobalLoading, setIsGlobalLoading }}>
|
||||||
<ErrorBoundary fallback={<ServerError />}>{children}</ErrorBoundary>
|
<ErrorBoundary fallback={<ServerError />}>{children}</ErrorBoundary>
|
||||||
</QcastContext.Provider>
|
</QcastContext.Provider>
|
||||||
|
|||||||
@ -8,15 +8,13 @@ import SessionProvider from './SessionProvider'
|
|||||||
import GlobalDataProvider from './GlobalDataProvider'
|
import GlobalDataProvider from './GlobalDataProvider'
|
||||||
import Header from '@/components/header/Header'
|
import Header from '@/components/header/Header'
|
||||||
import QModal from '@/components/common/modal/QModal'
|
import QModal from '@/components/common/modal/QModal'
|
||||||
import Dimmed from '@/components/ui/Dimmed'
|
|
||||||
import PopupManager from '@/components/common/popupManager/PopupManager'
|
import PopupManager from '@/components/common/popupManager/PopupManager'
|
||||||
|
|
||||||
import './globals.css'
|
import './globals.css'
|
||||||
import '../styles/style.scss'
|
import '../styles/style.scss'
|
||||||
import '../styles/contents.scss'
|
import '../styles/contents.scss'
|
||||||
import Footer from '@/components/footer/Footer'
|
import Footer from '@/components/footer/Footer'
|
||||||
import { Suspense } from 'react'
|
import GlobalLoadingProvider from './GlobalLoadingProvider'
|
||||||
import GlobalSpinner from '@/components/common/spinner/GlobalSpinner'
|
|
||||||
|
|
||||||
export const metadata = {
|
export const metadata = {
|
||||||
title: 'Create Next App',
|
title: 'Create Next App',
|
||||||
@ -70,10 +68,10 @@ export default async function RootLayout({ children }) {
|
|||||||
<QcastProvider>{children}</QcastProvider>
|
<QcastProvider>{children}</QcastProvider>
|
||||||
) : (
|
) : (
|
||||||
<QcastProvider>
|
<QcastProvider>
|
||||||
|
<GlobalLoadingProvider />
|
||||||
<div className="wrap">
|
<div className="wrap">
|
||||||
<Header userSession={sessionProps} />
|
<Header userSession={sessionProps} />
|
||||||
<div className="content">
|
<div className="content">
|
||||||
<Dimmed />
|
|
||||||
<SessionProvider useSession={sessionProps}>{children}</SessionProvider>
|
<SessionProvider useSession={sessionProps}>{children}</SessionProvider>
|
||||||
</div>
|
</div>
|
||||||
<Footer />
|
<Footer />
|
||||||
|
|||||||
@ -221,7 +221,7 @@ export default function Header(props) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{!isGlobalLoading && !(pathName.includes('login') || pathName.includes('join') || sessionState.pwdInitYn === 'N') && (
|
{!(pathName.includes('login') || pathName.includes('join') || sessionState.pwdInitYn === 'N') && (
|
||||||
<header className={isDimmed}>
|
<header className={isDimmed}>
|
||||||
<div className="header-inner">
|
<div className="header-inner">
|
||||||
<div className="header-right">
|
<div className="header-right">
|
||||||
|
|||||||
@ -66,7 +66,6 @@ export default function StuffSubHeader({ type }) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
!isGlobalLoading && (
|
|
||||||
<>
|
<>
|
||||||
<div className="sub-header">
|
<div className="sub-header">
|
||||||
<div className="sub-header-inner">
|
<div className="sub-header-inner">
|
||||||
@ -148,5 +147,4 @@ export default function StuffSubHeader({ type }) {
|
|||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user