Files
lume/src/renderer/shell.tsx
T
2023-05-10 16:17:38 +07:00

25 lines
807 B
TypeScript

import { RelayProvider } from '@shared/relayProvider';
import { PageContextProvider } from '@utils/hooks/usePageContext';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { LayoutDefault } from './layoutDefault';
import { PageContext } from './types';
const queryClient = new QueryClient();
export function Shell({ children, pageContext }: { children: React.ReactNode; pageContext: PageContext }) {
const Layout = (pageContext.exports.Layout as React.ElementType) || (LayoutDefault as React.ElementType);
return (
<PageContextProvider pageContext={pageContext}>
<RelayProvider>
<Layout>
<QueryClientProvider client={queryClient}>{children}</QueryClientProvider>
</Layout>
</RelayProvider>
</PageContextProvider>
);
}