@tanstack/solid-router
Version:
Modern and scalable routing for Solid applications
35 lines (34 loc) • 2.15 kB
JavaScript
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