UNPKG

@tanstack/solid-router

Version:

Modern and scalable routing for Solid applications

48 lines (47 loc) 1.53 kB
import { RouterProvider } from "../RouterProvider.js"; import { Asset } from "../Asset.js"; import { useTags } from "../headContentUtils.js"; import { Scripts } from "../Scripts.js"; import { Hydration, NoHydration, createComponent, insert, ssr, template, useAssets } from "solid-js/web"; import { MetaProvider } from "@solidjs/meta"; //#region src/ssr/RouterServer.tsx var _tmpl$ = /* @__PURE__ */ template(`<html><head></head><body>`); function ServerHeadContent() { const tags = useTags(); useAssets(() => { return createComponent(MetaProvider, { get children() { return tags().map((tag) => createComponent(Asset, tag)); } }); }); return null; } var docType = ssr("<!DOCTYPE html>"); function RouterServer(props) { return createComponent(NoHydration, { get children() { return [docType, (() => { var _el$ = _tmpl$(), _el$3 = _el$.firstChild; insert(_el$3, createComponent(Hydration, { get children() { return createComponent(RouterProvider, { get router() { return props.router; }, InnerWrap: (props) => createComponent(NoHydration, { get children() { return createComponent(MetaProvider, { get children() { return [ createComponent(ServerHeadContent, {}), createComponent(Hydration, { get children() { return props.children; } }), createComponent(Scripts, {}) ]; } }); } }) }); } })); return _el$; })()]; } }); } //#endregion export { RouterServer }; //# sourceMappingURL=RouterServer.js.map