25 lines
832 B
JavaScript
25 lines
832 B
JavaScript
'use client'
|
|
|
|
import { createContext, useEffect, useState } from 'react'
|
|
import { useLocalStorage } from 'usehooks-ts'
|
|
|
|
export const GlobalDataContext = createContext({
|
|
managementState: {},
|
|
setManagementState: () => {},
|
|
managementStateLoaded: null,
|
|
})
|
|
|
|
const GlobalDataProvider = ({ children }) => {
|
|
const [managementState, setManagementState] = useState({})
|
|
// TODO: 임시 조치이며 개발 완료시 삭제 예정 -> 잊지말기...
|
|
const [managementStateLoaded, setManagementStateLoaded] = useLocalStorage('managementStateLoaded', null)
|
|
|
|
useEffect(() => {
|
|
setManagementStateLoaded(managementState)
|
|
}, [managementState])
|
|
|
|
return <GlobalDataContext.Provider value={{ managementState, setManagementState, managementStateLoaded }}>{children}</GlobalDataContext.Provider>
|
|
}
|
|
|
|
export default GlobalDataProvider
|