https://dev.kronoz.win/r/marzneshin.git
| 1 |
1eb203e |
Mrdn |
2y ago |
import { createContext, useContext } from "react"; |
| 2 |
1eb203e |
Mrdn |
2y ago |
import { SidebarItemGroup } from "./types"; |
| 3 |
1eb203e |
Mrdn |
2y ago |
|
| 4 |
1eb203e |
Mrdn |
2y ago |
interface SidebarContextProps { |
| 5 |
1eb203e |
Mrdn |
2y ago |
sidebar: SidebarItemGroup; |
| 6 |
1eb203e |
Mrdn |
2y ago |
collapsed: boolean; |
| 7 |
1eb203e |
Mrdn |
2y ago |
setCollapsed: (state: boolean) => void; |
| 8 |
1eb203e |
Mrdn |
2y ago |
} |
| 9 |
1eb203e |
Mrdn |
2y ago |
|
| 10 |
1eb203e |
Mrdn |
2y ago |
export const SidebarContext = createContext<SidebarContextProps | null>(null); |
| 11 |
1eb203e |
Mrdn |
2y ago |
|
| 12 |
1eb203e |
Mrdn |
2y ago |
export const useSidebarContext = () => { |
| 13 |
1eb203e |
Mrdn |
2y ago |
const ctx = useContext(SidebarContext); |
| 14 |
1eb203e |
Mrdn |
2y ago |
if (!ctx) |
| 15 |
1eb203e |
Mrdn |
2y ago |
throw new Error('Sidebar.* component must be rendered as child of Sidebar '); |
| 16 |
1eb203e |
Mrdn |
2y ago |
return ctx; |
| 17 |
1eb203e |
Mrdn |
2y ago |
} |