aboutsummaryrefslogtreecommitdiff
path: root/server/src/routes/ui/mod.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-01-18 16:16:03 +0100
committermetamuffin <metamuffin@disroot.org>2023-01-18 16:16:03 +0100
commit46ef75431e1d34c63a690726a8ef584d175ddd30 (patch)
treedf36a2bfb9fe3e19ce9f76665b4770063a089423 /server/src/routes/ui/mod.rs
parent5aa557e864bd2cf940e7164b7568e7e545817306 (diff)
downloadjellything-46ef75431e1d34c63a690726a8ef584d175ddd30.tar
jellything-46ef75431e1d34c63a690726a8ef584d175ddd30.tar.bz2
jellything-46ef75431e1d34c63a690726a8ef584d175ddd30.tar.zst
restructure pages slightly
Diffstat (limited to 'server/src/routes/ui/mod.rs')
-rw-r--r--server/src/routes/ui/mod.rs32
1 files changed, 32 insertions, 0 deletions
diff --git a/server/src/routes/ui/mod.rs b/server/src/routes/ui/mod.rs
new file mode 100644
index 0000000..aa0259d
--- /dev/null
+++ b/server/src/routes/ui/mod.rs
@@ -0,0 +1,32 @@
+use self::layout::Layout;
+use markup::Render;
+use rocket::{
+ http::ContentType,
+ response::{self, Responder},
+ Request, Response,
+};
+use std::io::Cursor;
+
+pub mod error;
+pub mod home;
+pub mod layout;
+pub mod node;
+pub mod style;
+
+pub struct HtmlTemplate<T>(pub String, pub T);
+
+impl<'r, T: Render> Responder<'r, 'static> for HtmlTemplate<T> {
+ 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()
+ }
+}