UNPKG

@tanstack/solid-router

Version:

Modern and scalable routing for Solid applications

34 lines (33 loc) 1.15 kB
import { Await } from "../awaited.js"; import { RouterProvider } from "../RouterProvider.js"; import { HeadContent } from "../HeadContent.js"; import { createComponent, memo } from "solid-js/web"; import { hydrate } from "@tanstack/router-core/ssr/client"; //#region src/ssr/RouterClient.tsx var hydrationPromise; var Dummy = (props) => memo(() => props.children); function RouterClient(props) { hydrationPromise ??= hydrate(props.router).finally(() => window.$_TSR.h()); return createComponent(Await, { get promise() { return hydrationPromise.then(() => true); }, children: () => createComponent(Dummy, { get children() { return createComponent(Dummy, { get children() { return createComponent(RouterProvider, { get router() { return props.router; }, InnerWrap: (props) => createComponent(Dummy, { get children() { return [createComponent(Dummy, { get children() { return [createComponent(HeadContent, {}), memo(() => props.children)]; } }), createComponent(Dummy, {})]; } }) }); } }); } }) }); } //#endregion export { RouterClient }; //# sourceMappingURL=RouterClient.js.map