-
Notifications
You must be signed in to change notification settings - Fork 12
/
LayoutContext.jsx
33 lines (32 loc) · 1.18 KB
/
LayoutContext.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import React from 'react';
export const OperationsContext = React.createContext('');
export const OperationsProvider = OperationsContext.Provider;
export const OperationsConsumer = OperationsContext.Consumer;
const LayoutContext = ({ subPages }) => {
const [openOperations, setOpenOperations] = React.useState(false);
const [menuOpen, setMenuOpen] = React.useState(false);
const [operationItem, setOperationItem] = React.useState(null);
const [parentResource, setParentResource] = React.useState(null);
const [parentItem, setParentItem] = React.useState(null);
const [toggles, setToggles] = React.useState({});
return (
<OperationsProvider
value={{
openOperations: openOperations,
setOpenOperations: setOpenOperations,
menuOpen: menuOpen,
setMenuOpen: setMenuOpen,
operationItem: operationItem,
setOperationItem: setOperationItem,
parentResource: parentResource,
setParentResource: setParentResource,
parentItem: parentItem,
setParentItem: setParentItem,
setToggles: setToggles,
toggles: toggles
}}>
{subPages}
</OperationsProvider>
)
}
export default LayoutContext;