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" }, [
|
return E("html", { lang: "ru" }, [
|
||||||
E("head", [], [
|
E("head", [], [
|
||||||
E("meta", { charset: "utf-8" }),
|
E("meta", { charset: "utf-8" }),
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue