wip: restructure
This commit is contained in:
@@ -1,12 +1,14 @@
|
||||
import '@renderer/index.css';
|
||||
import { Shell } from '@renderer/shell';
|
||||
import { PageContextClient } from '@renderer/types';
|
||||
import '@lume/renderer/index.css';
|
||||
import { Shell } from '@lume/renderer/shell';
|
||||
import { PageContextClient } from '@lume/renderer/types';
|
||||
|
||||
import { StrictMode } from 'react';
|
||||
import { Root, createRoot, hydrateRoot } from 'react-dom/client';
|
||||
import 'vidstack/styles/defaults.css';
|
||||
|
||||
export const clientRouting = true;
|
||||
export const hydrationCanBeAborted = true;
|
||||
|
||||
let root: Root;
|
||||
|
||||
export async function render(pageContext: PageContextClient) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Shell } from '@renderer/shell';
|
||||
import { PageContextServer } from '@renderer/types';
|
||||
import { Shell } from '@lume/renderer/shell';
|
||||
import { PageContextServer } from '@lume/renderer/types';
|
||||
|
||||
import { StrictMode } from 'react';
|
||||
import ReactDOMServer from 'react-dom/server';
|
||||
|
||||
3
src/renderer/layoutDefault.tsx
Normal file
3
src/renderer/layoutDefault.tsx
Normal file
@@ -0,0 +1,3 @@
|
||||
export function LayoutDefault({ children }: { children: React.ReactNode }) {
|
||||
return <div className="h-screen w-screen bg-zinc-50 text-zinc-900 dark:bg-black dark:text-white">{children}</div>;
|
||||
}
|
||||
@@ -1,22 +1,23 @@
|
||||
import AccountProvider from '@components/accountProvider';
|
||||
import RelayProvider from '@components/relaysProvider';
|
||||
|
||||
import { PageContextProvider } from '@utils/hooks/usePageContext';
|
||||
import AccountProvider from '@lume/shared/accountProvider';
|
||||
import { PageContextProvider } from '@lume/utils/hooks/usePageContext';
|
||||
|
||||
import { PageContext } from '@renderer/types';
|
||||
|
||||
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
||||
|
||||
import { LayoutDefault } from './layoutDefault';
|
||||
|
||||
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>
|
||||
<AccountProvider>
|
||||
<QueryClientProvider client={queryClient}>{children}</QueryClientProvider>
|
||||
</AccountProvider>
|
||||
</RelayProvider>
|
||||
</Layout>
|
||||
</PageContextProvider>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user