diff options
Diffstat (limited to 'src/frontend/pages/mod.rs')
-rw-r--r-- | src/frontend/pages/mod.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/frontend/pages/mod.rs b/src/frontend/pages/mod.rs new file mode 100644 index 0000000..08e0e77 --- /dev/null +++ b/src/frontend/pages/mod.rs @@ -0,0 +1,19 @@ +use actix_web::{body::BoxBody, http::StatusCode, HttpResponseBuilder, Responder}; + +pub mod home; +pub mod layout; + +struct HtmlTemplate<T>(pub T); + +impl<T: markup::Render> Responder for HtmlTemplate<T> { + type Body = BoxBody; + + fn respond_to(self, req: &actix_web::HttpRequest) -> actix_web::HttpResponse<Self::Body> { + let mut out = String::new(); + self.0.render(&mut out).unwrap(); + + HttpResponseBuilder::new(StatusCode::OK) + .body(out) + .respond_to(req) + } +} |