diff --git a/packages/houdini-react/src/runtime/routing/Router.tsx b/packages/houdini-react/src/runtime/routing/Router.tsx index d14cb7e967..0b6535ca44 100644 --- a/packages/houdini-react/src/runtime/routing/Router.tsx +++ b/packages/houdini-react/src/runtime/routing/Router.tsx @@ -7,6 +7,7 @@ import { QueryArtifact } from '$houdini/runtime/lib/types' import { find_match } from '$houdini/runtime/router/match' import type { RouterManifest, RouterPageManifest } from '$houdini/runtime/router/types' import React from 'react' +import { useContext } from 'react' import { useDocumentStore } from '../hooks/useDocumentStore' import { SuspenseCache, suspense_cache } from './cache' @@ -120,11 +121,16 @@ export function Router({ // its needs return ( - + + + ) } +// export the location information in context +export const useLocation = () => useContext(LocationContext) + /** * usePageData is responsible for kicking off the network requests necessary to render the page. * This includes loading the artifact, the component source, and any query results. This hook @@ -515,6 +521,8 @@ export function useCurrentVariables(): GraphQLVariables { const VariableContext = React.createContext(null) +const LocationContext = React.createContext<{ pathname: string }>({ pathname: '' }) + export function useQueryResult<_Data extends GraphQLObject, _Input extends GraphQLVariables>( name: string ): [_Data | null, DocumentStore<_Data, _Input>] {