Files
lume/src/renderer/shell.tsx
Ren Amamiya 5c7b18bf29 refactor
2023-05-26 09:28:49 +07:00

29 lines
798 B
TypeScript

import { LayoutDefault } from "./layoutDefault";
import { PageContext } from "./types";
import { RelayProvider } from "@shared/relayProvider";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { PageContextProvider } from "@utils/hooks/usePageContext";
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>
);
}