wip: restructure

This commit is contained in:
Ren Amamiya
2023-04-27 13:27:11 +07:00
parent 6918660a5c
commit 98a37d4618
102 changed files with 997 additions and 1041 deletions

View File

@@ -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) {

View File

@@ -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';

View 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>;
}

View File

@@ -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>
);
}