Files
explore/lib/contexts/app.tsx
T
2025-02-17 14:59:04 +01:00

31 lines
709 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,
uuid: '',
});
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);
}