bunext/functions/server/grab-route-content.tsx
2025-11-05 07:12:15 +01:00

32 lines
727 B
TypeScript

import type { GetRouteReturn } from "../../types";
import AppNames from "../../utils/grab-app-names";
import ReactDOMServer from "react-dom/server";
type Params = {
url: URL;
route: GetRouteReturn;
req: Request;
};
export default async function grabRouteContent({
url,
route,
req,
}: Params): Promise<Response> {
const config = global.CONFIG;
const { name } = AppNames;
let html = `Welcome to ${name} ...`;
if (route.component) {
html = ReactDOMServer.renderToString(<route.component />);
return new Response(html, {
headers: {
"Content-Type": "text/html; charset=utf-8",
},
});
}
return new Response(html);
}