create-vanjs
Version:
🍦 Quick tool for scaffolding your first VanJS project
40 lines (35 loc) • 1.07 kB
JSX
export { onRenderClient };
import { Layout } from "../components/Layout";
import { Layout as LayoutAdmin } from "../components/LayoutAdmin";
import { hydrate } from "@vanjs/client";
import { Header } from "../components/Header";
// import { Footer } from "../components/Footer";
import { setPageContext } from "./usePageContext";
import { applyMeta } from "../util/applyMeta";
const onRenderClient = async (
pageContext,
) => {
const { Page } = pageContext;
const main = document.getElementById("main");
const header = document.getElementById("app-header");
// const footer = document.getElementById("app-footer");
const App = () => {
setPageContext(pageContext);
return (
pageContext.pageId?.includes("/admin")
? (
<LayoutAdmin pageContext={pageContext}>
<Page />
</LayoutAdmin>
)
: (
<Layout pageContext={pageContext}>
<Page />
</Layout>
)
);
};
hydrate(header, <Header />);
hydrate(main, () => <App />);
applyMeta(pageContext);
};