web: wrap page using render

This commit is contained in:
Dmitriy Pleshevskiy 2022-05-24 11:26:13 +03:00
parent 708b13cf17
commit 047856ddf3
2 changed files with 7 additions and 7 deletions

View File

@ -1,6 +1,6 @@
import { AnyNode, E, Elem } from "ren/node.ts"; import { AnyNode, E } from "ren/node.ts";
export function Layout(page: AnyNode): Elem { export function Layout(page: AnyNode): AnyNode {
return E("html", { lang: "ru" }, [ return E("html", { lang: "ru" }, [
E("head", [], [ E("head", [], [
E("meta", { charset: "utf-8" }), E("meta", { charset: "utf-8" }),

View File

@ -39,17 +39,17 @@ async function serveHttp(conn: Deno.Conn) {
function handleRequest(req: Request): Response { function handleRequest(req: Request): Response {
log.debug({ url: req.url }); log.debug({ url: req.url });
const ren = new StrRenderer(); const ren = new StrRenderer({ wrapNode: Layout });
const ctx = createContextFromRequest(req); const ctx = createContextFromRequest(req);
if (ctx.locPath === "/") { if (ctx.locPath === "/") {
return createHtmlResponse(ren.render(Layout(HomePage(ctx)))); return createHtmlResponse(ren.render(HomePage(ctx)));
} else if (ctx.locPath === "/recipes") { } else if (ctx.locPath === "/recipes") {
return createHtmlResponse(ren.render(Layout(RecipesPage(ctx)))); return createHtmlResponse(ren.render(RecipesPage(ctx)));
} else if (ctx.locPath === "/ingredients") { } else if (ctx.locPath === "/ingredients") {
return createHtmlResponse(ren.render(Layout(IngredientsPage(ctx)))); return createHtmlResponse(ren.render(IngredientsPage(ctx)));
} else { } else {
return createHtmlResponse(ren.render(Layout(E404Page(ctx))), 404); return createHtmlResponse(ren.render(E404Page(ctx)), 404);
} }
} }