UNPKG

@tanstack/vue-router

Version:

Modern and scalable routing for Vue applications

32 lines (31 loc) 1.03 kB
import { RouterProvider } from "../RouterProvider.js"; import { HeadContent } from "../HeadContent.js"; import * as Vue from "vue"; import { hydrate } from "@tanstack/router-core/ssr/client"; //#region src/ssr/RouterClient.tsx var hydrationPromise; var RouterClient = Vue.defineComponent({ name: "RouterClient", props: { router: { type: Object, required: true } }, setup(props) { const isHydrated = Vue.ref(false); if (!hydrationPromise) if (!props.router.stores.matchesId.get().length) hydrationPromise = hydrate(props.router); else hydrationPromise = Promise.resolve(); Vue.onMounted(() => { hydrationPromise.then(() => { isHydrated.value = true; }); }); if (typeof window === "undefined") isHydrated.value = true; return () => { if (!isHydrated.value) return null; return Vue.h(RouterProvider, { router: props.router }, { innerWrap: (innerProps) => [Vue.h(HeadContent), innerProps.children] }); }; } }); //#endregion export { RouterClient }; //# sourceMappingURL=RouterClient.js.map