From 46ef75431e1d34c63a690726a8ef584d175ddd30 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 18 Jan 2023 16:16:03 +0100 Subject: restructure pages slightly --- server/src/frontend/pages/mod.rs | 69 ---------------------------------------- 1 file changed, 69 deletions(-) delete mode 100644 server/src/frontend/pages/mod.rs (limited to 'server/src/frontend/pages/mod.rs') diff --git a/server/src/frontend/pages/mod.rs b/server/src/frontend/pages/mod.rs deleted file mode 100644 index a20fa0e..0000000 --- a/server/src/frontend/pages/mod.rs +++ /dev/null @@ -1,69 +0,0 @@ -use markup::Render; -use rocket::{ - http::ContentType, - response::{self, Responder}, - Request, Response, -}; -use std::{fmt::Display, io::Cursor}; - -use self::layout::Layout; - -pub mod home; -pub mod layout; -pub mod node; - -pub struct HtmlTemplate(pub String, pub T); - -impl<'r, T: Render> Responder<'r, 'static> for HtmlTemplate { - fn respond_to(self, _: &'r Request<'_>) -> response::Result<'static> { - let mut out = String::new(); - Layout { - title: self.0, - main: self.1, - } - .render(&mut out) - .unwrap(); - Response::build() - .header(ContentType::HTML) - .streamed_body(Cursor::new(out)) - .ok() - } -} - -#[derive(Debug)] -pub struct MyError(anyhow::Error); - -impl<'r> Responder<'r, 'static> for MyError { - fn respond_to(self, _: &'r Request<'_>) -> response::Result<'static> { - let mut out = String::new(); - Layout { - title: "Error".to_string(), - main: markup::new! { - h2 { "An error occured. Nobody is sorry"} - pre.error { @format!("{:?}", self.0) } - }, - } - .render(&mut out) - .unwrap(); - Response::build() - .header(ContentType::HTML) - .streamed_body(Cursor::new(out)) - .ok() - } -} - -impl Display for MyError { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - self.0.fmt(f) - } -} -impl From for MyError { - fn from(err: anyhow::Error) -> MyError { - MyError(err) - } -} -impl From for MyError { - fn from(err: std::fmt::Error) -> MyError { - MyError(anyhow::anyhow!("{err}")) - } -} -- cgit v1.2.3-70-g09d2