mirror of
https://github.com/billsonnn/nitro-react.git
synced 2024-10-23 19:33:04 +02:00
26 lines
1.0 KiB
TypeScript
26 lines
1.0 KiB
TypeScript
|
import { createContext, Dispatch, FC, ProviderProps, SetStateAction, useContext } from 'react';
|
||
|
import { IFloorplanSettings } from './common/IFloorplanSettings';
|
||
|
import { IVisualizationSettings } from './common/IVisualizationSettings';
|
||
|
|
||
|
interface IFloorplanEditorContext
|
||
|
{
|
||
|
originalFloorplanSettings: IFloorplanSettings;
|
||
|
setOriginalFloorplanSettings: Dispatch<SetStateAction<IFloorplanSettings>>;
|
||
|
visualizationSettings: IVisualizationSettings;
|
||
|
setVisualizationSettings: Dispatch<SetStateAction<IVisualizationSettings>>;
|
||
|
}
|
||
|
|
||
|
const FloorplanEditorContext = createContext<IFloorplanEditorContext>({
|
||
|
originalFloorplanSettings: null,
|
||
|
setOriginalFloorplanSettings: null,
|
||
|
visualizationSettings: null,
|
||
|
setVisualizationSettings: null
|
||
|
});
|
||
|
|
||
|
export const FloorplanEditorContextProvider: FC<ProviderProps<IFloorplanEditorContext>> = props =>
|
||
|
{
|
||
|
return <FloorplanEditorContext.Provider value={ props.value }>{ props.children }</FloorplanEditorContext.Provider>
|
||
|
}
|
||
|
|
||
|
export const useFloorplanEditorContext = () => useContext(FloorplanEditorContext);
|