rasengan
Version:
The modern React Framework
15 lines (14 loc) • 963 B
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { TemplateLayout } from './index.js';
import { renderToString } from '../../server/node/rendering.js';
export function renderErrorPage(error) {
const serialized = JSON.stringify({
message: error instanceof Error ? error.message : String(error),
stack: error instanceof Error ? error.stack : undefined,
name: error instanceof Error ? error.name : 'Error',
});
const ErrorTemplate = ({ Head, Body, Script, }) => (_jsxs("html", { lang: "en", children: [_jsx(Head, { children: _jsx("script", { type: "module", dangerouslySetInnerHTML: {
__html: `window.__RASENGAN_SSR_ERROR__ = ${serialized};`,
} }) }), _jsx(Body, { children: _jsx(Script, { children: _jsx("script", { type: "module", src: "/src/index" }) }) })] }));
return renderToString(_jsx(TemplateLayout, { Template: ErrorTemplate, isSpaMode: false }));
}