Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 5x 48x 48x 48x 586x 586x 584x | import { createContext, type ReactNode, useContext, useMemo } from 'react'
import { type MessageRouter, useMessageRouter } from '../hooks/useMessageRouter'
const MessageRouterCtx = createContext<MessageRouter | null>(null)
export function MessageRouterProvider({ children }: { children: ReactNode }) {
const { register } = useMessageRouter()
const value = useMemo(() => ({ register }), [register])
return <MessageRouterCtx.Provider value={value}>{children}</MessageRouterCtx.Provider>
}
export function useRouter(): MessageRouter {
const ctx = useContext(MessageRouterCtx)
if (!ctx) throw new Error('useRouter must be used within MessageRouterProvider')
return ctx
}
|