export { onRenderHtml }; import { dangerouslySkipEscape, escapeInject } from "vike/server"; import type { PageContextServer } from "vike/types"; import { getDataPreload, renderToString } from "@vanjs/server"; import { Header } from "../components/Header"; import { Footer } from "../components/Footer"; import { Layout } from "../components/Layout"; import { Layout as LayoutAdmin } from "../components/LayoutAdmin"; import { getPageMeta } from "../util/getPageMeta"; import "../assets/App.css"; import { setPageContext } from "./usePageContext"; const onRenderHtml = async (pageContext: PageContextServer) => { const { Page } = pageContext; setPageContext(pageContext); const main = pageContext.pageId?.includes("/admin") ? await renderToString(LayoutAdmin({ Page, pageContext })) : await renderToString(Layout({ Page, pageContext })); const header = await renderToString(Header()); const footer = await renderToString(Footer()); const title = getPageMeta(pageContext, "title"); const description = getPageMeta(pageContext, "description"); const preload = getDataPreload(); const documentHtml = escapeInject`