📌chore: Add GlobalDataProvider

- ManagementProvider 내용 주석 처리
- GlobalDataProvider 추가 및 내용 이동
This commit is contained in:
yoosangwook 2024-12-31 14:31:53 +09:00
parent dbaddfd5d9
commit cdfdea6356
7 changed files with 57 additions and 37 deletions

View File

@ -0,0 +1,16 @@
'use client'
import { createContext, useState } from 'react'
export const GlobalDataContext = createContext({
managementState: {},
setManagementState: () => {},
})
const GlobalDataProvider = ({ children }) => {
const [managementState, setManagementState] = useState({})
return <GlobalDataContext.Provider value={{ managementState, setManagementState }}>{children}</GlobalDataContext.Provider>
}
export default GlobalDataProvider

View File

@ -4,10 +4,11 @@ import { getSession } from '@/lib/authActions'
import RecoilRootWrapper from './RecoilWrapper' import RecoilRootWrapper from './RecoilWrapper'
import { QcastProvider } from './QcastProvider' import { QcastProvider } from './QcastProvider'
import SessionProvider from './SessionProvider'
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 Dimmed from '@/components/ui/Dimmed'
import SessionProvider from './SessionProvider'
import PopupManager from '@/components/common/popupManager/PopupManager' import PopupManager from '@/components/common/popupManager/PopupManager'
import './globals.css' import './globals.css'
@ -60,6 +61,7 @@ export default async function RootLayout({ children }) {
return ( return (
<RecoilRootWrapper> <RecoilRootWrapper>
<GlobalDataProvider>
<html lang="en"> <html lang="en">
<body> <body>
{headerPathname === '/login' || headerPathname === '/join' ? ( {headerPathname === '/login' || headerPathname === '/join' ? (
@ -80,6 +82,7 @@ export default async function RootLayout({ children }) {
<PopupManager /> <PopupManager />
</body> </body>
</html> </html>
</GlobalDataProvider>
</RecoilRootWrapper> </RecoilRootWrapper>
) )
} }

View File

@ -1,20 +1,18 @@
'ues client' 'ues client'
import { createContext, useEffect, useState } from 'react' import { createContext } from 'react'
export const ManagementContext = createContext({ export const ManagementContext = createContext({})
managementState: {},
setManagementState: () => {},
})
const ManagementProvider = ({ children }) => { const ManagementProvider = ({ children }) => {
const [managementState, setManagementState] = useState({}) // const [managementState, setManagementState] = useState({})
useEffect(() => { // useEffect(() => {
console.log('🚀 ~ managementState:', managementState) // console.log('🚀 ~ managementState:', managementState)
}, [managementState]) // }, [managementState])
return <ManagementContext.Provider value={{ managementState, setManagementState }}>{children}</ManagementContext.Provider> // return <ManagementContext.Provider value={{ managementState, setManagementState }}>{children}</ManagementContext.Provider>
return <ManagementContext.Provider>{children}</ManagementContext.Provider>
} }
export default ManagementProvider export default ManagementProvider

View File

@ -18,7 +18,8 @@ import WindSelectPop from './popup/WindSelectPop'
import { useCommonCode } from '@/hooks/common/useCommonCode' import { useCommonCode } from '@/hooks/common/useCommonCode'
import StuffPlanQGrid from './StuffPlanQGrid' import StuffPlanQGrid from './StuffPlanQGrid'
import { floorPlanObjectState } from '@/store/floorPlanObjectAtom' import { floorPlanObjectState } from '@/store/floorPlanObjectAtom'
import { ManagementContext } from '@/app/management/ManagementProvider' import { GlobalDataContext } from '@/app/GlobalDataProvider'
// import { ManagementContext } from '@/app/management/ManagementProvider'
import DocDownOptionPop from '../estimate/popup/DocDownOptionPop' import DocDownOptionPop from '../estimate/popup/DocDownOptionPop'
import { stuffSearchState } from '@/store/stuffAtom' import { stuffSearchState } from '@/store/stuffAtom'
import { QcastContext } from '@/app/QcastProvider' import { QcastContext } from '@/app/QcastProvider'
@ -106,7 +107,7 @@ export default function StuffDetail() {
const objectNo = searchParams.get('objectNo') //url set const objectNo = searchParams.get('objectNo') //url set
const [editMode, setEditMode] = useState('NEW') const [editMode, setEditMode] = useState('NEW')
const { managementState, setManagementState } = useContext(ManagementContext) const { managementState, setManagementState } = useContext(GlobalDataContext)
const [planGridProps, setPlanGridProps] = useState({ const [planGridProps, setPlanGridProps] = useState({
planGridData: [], planGridData: [],
isPageable: false, isPageable: false,

View File

@ -3,11 +3,12 @@
import { useContext } from 'react' import { useContext } from 'react'
import { useMessage } from '@/hooks/useMessage' import { useMessage } from '@/hooks/useMessage'
import dayjs from 'dayjs' import dayjs from 'dayjs'
import { ManagementContext } from '@/app/management/ManagementProvider' import { GlobalDataContext } from '@/app/GlobalDataProvider'
// import { ManagementContext } from '@/app/management/ManagementProvider'
export default function StuffHeader() { export default function StuffHeader() {
const { getMessage } = useMessage() const { getMessage } = useMessage()
const { managementState } = useContext(ManagementContext) const { managementState } = useContext(GlobalDataContext)
// //
const copyObjectNo = async (objectNo) => { const copyObjectNo = async (objectNo) => {

View File

@ -13,7 +13,8 @@ import { useMessage } from '@/hooks/useMessage'
import { floorPlanObjectState } from '@/store/floorPlanObjectAtom' import { floorPlanObjectState } from '@/store/floorPlanObjectAtom'
import { isObjectNotEmpty, queryStringFormatter } from '@/util/common-utils' import { isObjectNotEmpty, queryStringFormatter } from '@/util/common-utils'
import { ManagementContext } from '@/app/management/ManagementProvider' import { GlobalDataContext } from '@/app/GlobalDataProvider'
// import { ManagementContext } from '@/app/management/ManagementProvider'
import { SessionContext } from '@/app/SessionProvider' import { SessionContext } from '@/app/SessionProvider'
export default function StuffSubHeader({ type }) { export default function StuffSubHeader({ type }) {
@ -25,7 +26,7 @@ export default function StuffSubHeader({ type }) {
const { isGlobalLoading } = useContext(QcastContext) const { isGlobalLoading } = useContext(QcastContext)
const { managementState } = useContext(ManagementContext) const { managementState } = useContext(GlobalDataContext)
const [buttonStyle, setButtonStyle] = useState('') const [buttonStyle, setButtonStyle] = useState('')
useEffect(() => { useEffect(() => {

View File

@ -54,7 +54,7 @@ export default function SampleReducer() {
return t return t
} }
}) })
setSampleState({ ...sampleState, tabs: newTabs }) setSampleState({ tabs: newTabs })
} }
useEffect(() => { useEffect(() => {