web: wrap page using render
This commit is contained in:
parent
708b13cf17
commit
047856ddf3
|
@ -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" }, [
|
||||
E("head", [], [
|
||||
E("meta", { charset: "utf-8" }),
|
||||
|
|
|
@ -39,17 +39,17 @@ async function serveHttp(conn: Deno.Conn) {
|
|||
|
||||
function handleRequest(req: Request): Response {
|
||||
log.debug({ url: req.url });
|
||||
const ren = new StrRenderer();
|
||||
const ren = new StrRenderer({ wrapNode: Layout });
|
||||
const ctx = createContextFromRequest(req);
|
||||
|
||||
if (ctx.locPath === "/") {
|
||||
return createHtmlResponse(ren.render(Layout(HomePage(ctx))));
|
||||
return createHtmlResponse(ren.render(HomePage(ctx)));
|
||||
} else if (ctx.locPath === "/recipes") {
|
||||
return createHtmlResponse(ren.render(Layout(RecipesPage(ctx))));
|
||||
return createHtmlResponse(ren.render(RecipesPage(ctx)));
|
||||
} else if (ctx.locPath === "/ingredients") {
|
||||
return createHtmlResponse(ren.render(Layout(IngredientsPage(ctx))));
|
||||
return createHtmlResponse(ren.render(IngredientsPage(ctx)));
|
||||
} else {
|
||||
return createHtmlResponse(ren.render(Layout(E404Page(ctx))), 404);
|
||||
return createHtmlResponse(ren.render(E404Page(ctx)), 404);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue