mirror of https://git.lenooby09.tech/LeNooby09/social-app.git
at tooltip 49 lines 1.1 kB view raw
1import React from 'react' 2 3import { 4 type ContextType, 5 type ItemContextType, 6 type MenuContextType, 7} from '#/components/ContextMenu/types' 8 9export const Context = React.createContext<ContextType | null>(null) 10 11export const MenuContext = React.createContext<MenuContextType | null>(null) 12 13export const ItemContext = React.createContext<ItemContextType | null>(null) 14 15export function useContextMenuContext() { 16 const context = React.useContext(Context) 17 18 if (!context) { 19 throw new Error( 20 'useContextMenuContext must be used within a Context.Provider', 21 ) 22 } 23 24 return context 25} 26 27export function useContextMenuMenuContext() { 28 const context = React.useContext(MenuContext) 29 30 if (!context) { 31 throw new Error( 32 'useContextMenuMenuContext must be used within a Context.Provider', 33 ) 34 } 35 36 return context 37} 38 39export function useContextMenuItemContext() { 40 const context = React.useContext(ItemContext) 41 42 if (!context) { 43 throw new Error( 44 'useContextMenuItemContext must be used within a Context.Provider', 45 ) 46 } 47 48 return context 49}