UNPKG

@tanstack/solid-router

Version:

Modern and scalable routing for Solid applications

35 lines (34 loc) 2.15 kB
const require_nonRouteComponentContext = require("./nonRouteComponentContext.cjs"); const require_not_found = require("./not-found.cjs"); let solid_js_web = require("solid-js/web"); //#region src/renderRouteNotFound.tsx /** * Renders a not found component for a route when no matching route is found. * * @param router - The router instance containing the route configuration * @param route - The route that triggered the not found state * @param data - Additional data to pass to the not found component * @returns The rendered not found component or a default fallback component */ function renderRouteNotFound(router, route, data) { if (process.env.NODE_ENV !== "production") { if (!route.options.notFoundComponent) { if (router.options.defaultNotFoundComponent) { const DefaultNotFoundComponent = router.options.defaultNotFoundComponent; return require_nonRouteComponentContext.renderInNonRouteComponentContext(() => (0, solid_js_web.createComponent)(DefaultNotFoundComponent, data), "notFoundComponent"); } console.warn(`Warning: A notFoundError was encountered on the route with ID "${route.id}", but a notFoundComponent option was not configured, nor was a router level defaultNotFoundComponent configured. Consider configuring at least one of these to avoid TanStack Router's overly generic defaultNotFoundComponent (<p>Not Found</p>)`); return (0, solid_js_web.createComponent)(require_not_found.DefaultGlobalNotFound, {}); } const NotFoundComponent = route.options.notFoundComponent; return require_nonRouteComponentContext.renderInNonRouteComponentContext(() => (0, solid_js_web.createComponent)(NotFoundComponent, data), "notFoundComponent"); } if (!route.options.notFoundComponent) { if (router.options.defaultNotFoundComponent) return (0, solid_js_web.createComponent)(router.options.defaultNotFoundComponent, data); return (0, solid_js_web.createComponent)(require_not_found.DefaultGlobalNotFound, {}); } return (0, solid_js_web.createComponent)(route.options.notFoundComponent, data); } //#endregion exports.renderRouteNotFound = renderRouteNotFound; //# sourceMappingURL=renderRouteNotFound.cjs.map