First Commit
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
'use client';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
import { createContext, useMemo } from 'react';
|
||||
|
||||
// @project
|
||||
import config from '@/config';
|
||||
import useLocalStorage from '@/hooks/useLocalStorage';
|
||||
|
||||
/*************************** CONFIG CONTEXT ***************************/
|
||||
|
||||
export const ConfigContext = createContext(undefined);
|
||||
|
||||
/*************************** CONFIG PROVIDER ***************************/
|
||||
|
||||
export function ConfigProvider({ children }) {
|
||||
const { state, setState, setField, resetState } = useLocalStorage('sass-able-react-mui-admin-next-free', config);
|
||||
|
||||
const memoizedValue = useMemo(() => ({ state, setState, setField, resetState }), [state, setField, setState, resetState]);
|
||||
|
||||
return <ConfigContext.Provider value={memoizedValue}>{children}</ConfigContext.Provider>;
|
||||
}
|
||||
|
||||
ConfigProvider.propTypes = { children: PropTypes.any };
|
||||
Reference in New Issue
Block a user