mirror of
https://github.com/luxfi/explore.git
synced 2026-09-24 00:28:18 +00:00
30 lines
696 B
TypeScript
30 lines
696 B
TypeScript
import React, { createContext, useContext } from 'react';
|
|
|
|
import type { Route } from 'nextjs-routes';
|
|
import type { Props as PageProps } from 'nextjs/getServerSideProps';
|
|
|
|
type Props = {
|
|
children: React.ReactNode;
|
|
pageProps: PageProps;
|
|
}
|
|
|
|
const AppContext = createContext<PageProps>({
|
|
cookies: '',
|
|
referrer: '',
|
|
query: {},
|
|
adBannerProvider: null,
|
|
apiData: null,
|
|
});
|
|
|
|
export function AppContextProvider({ children, pageProps }: Props) {
|
|
return (
|
|
<AppContext.Provider value={ pageProps }>
|
|
{ children }
|
|
</AppContext.Provider>
|
|
);
|
|
}
|
|
|
|
export function useAppContext<Pathname extends Route['pathname'] = never>() {
|
|
return useContext<PageProps<Pathname>>(AppContext);
|
|
}
|