25 lines
521 B
Plaintext
25 lines
521 B
Plaintext
import * as React from 'react'
|
|
import type { AnyRouter } from '@tanstack/router-core'
|
|
|
|
declare global {
|
|
interface Window {
|
|
__TSR_ROUTER_CONTEXT__?: React.Context<AnyRouter>
|
|
}
|
|
}
|
|
|
|
const routerContext = React.createContext<AnyRouter>(null!)
|
|
|
|
export function getRouterContext() {
|
|
if (typeof document === 'undefined') {
|
|
return routerContext
|
|
}
|
|
|
|
if (window.__TSR_ROUTER_CONTEXT__) {
|
|
return window.__TSR_ROUTER_CONTEXT__
|
|
}
|
|
|
|
window.__TSR_ROUTER_CONTEXT__ = routerContext as any
|
|
|
|
return routerContext
|
|
}
|