From 5c6afd32a94f71c517d23be382a106925a642d96 Mon Sep 17 00:00:00 2001 From: Yash Karandikar Date: Sat, 9 Apr 2022 20:05:18 -0500 Subject: [PATCH] Reintroduce templating --- src/web.rs | 27 +++++++++++++++++++++++++-- templates/task_page.html | 2 +- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/web.rs b/src/web.rs index 9a8eaff..51e9787 100644 --- a/src/web.rs +++ b/src/web.rs @@ -21,7 +21,7 @@ use std::sync::Arc; use async_sqlx_session::PostgresSessionStore; use chrono::Duration; use sqlx::types::chrono::Utc; -use tera::Tera; +use tera::{Tera, Context}; use tokio::sync::broadcast; use tracing::info; use warp::Filter; @@ -119,7 +119,30 @@ impl App { s, ) } - ); + ) + // example route, remove later or something + .or(warp::path!("hello" / String).map({ + let tera = self.tera.clone(); + move |name: String| { + let mut ctx = Context::new(); + ctx.insert("name", &name); + warp::reply::html(tera.render("hello.html", &ctx).unwrap()) + } + })) + .or(warp::path!("tmtd" / String).map({ + let tera = self.tera.clone(); { + move |_| { + let mut ctx = Context::new(); + ctx.insert("tasks", &vec!["test1", "test2"]); + ctx.insert("task_title", "TODO"); + ctx.insert("description", "TODO"); + ctx.insert("task_date", "TODO"); + ctx.insert("status", "TODO"); + ctx.insert("assignee", "TODO"); + warp::reply::html(tera.render("task_page.html", &ctx).unwrap()) + } + } + })); let (_, server) = warp::serve(route).bind_with_graceful_shutdown(self.config.listen_addr, async move { diff --git a/templates/task_page.html b/templates/task_page.html index 34e960c..6caeee2 100644 --- a/templates/task_page.html +++ b/templates/task_page.html @@ -22,7 +22,7 @@ navbar
{% for task in tasks %} - {% include "templates/task.html" %} + {% include "task.html" %} {% endfor %} {% endblock content %}