From 3fb4e4117df9d668815e974dea6b2a29436c92af Mon Sep 17 00:00:00 2001 From: metamuffin Date: Tue, 13 Jun 2023 23:26:31 +0200 Subject: some cleanup --- server/src/routes/ui/layout.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'server/src/routes/ui/layout.rs') diff --git a/server/src/routes/ui/layout.rs b/server/src/routes/ui/layout.rs index ecccc7c..6900dc3 100644 --- a/server/src/routes/ui/layout.rs +++ b/server/src/routes/ui/layout.rs @@ -21,7 +21,7 @@ use rocket::{ use std::io::Cursor; markup::define! { - Layout<'a, Main: Render>(title: String, main: Main, class: Option<&'a str>, session: Option) { + Layout<'a, Main: Render>(title: String, main: Main, class: Option<&'a str>, session: Option, show_back: bool) { @markup::doctype() html { head { @@ -31,6 +31,7 @@ markup::define! { } body[class=class.unwrap_or("")] { nav { + @if *show_back { a[onclick="history.back()", href="#"] { "<- Back" } } h1 { a[href="/"] { @CONF.brand } } @if let Some(_) = session { a[href="/library"] { "My Library" } @@ -65,6 +66,7 @@ pub type DynLayoutPage<'a> = LayoutPage>; pub struct LayoutPage { pub title: String, pub class: Option<&'static str>, + pub show_back: bool, pub content: T, } @@ -74,6 +76,7 @@ impl Default for LayoutPage> { class: None, content: markup::new!(), title: String::new(), + show_back: false, } } } @@ -86,6 +89,7 @@ impl<'r, Main: Render> Responder<'r, 'static> for LayoutPage
{ let session = block_on(req.guard::>()).unwrap(); let mut out = String::new(); Layout { + show_back: self.show_back, main: self.content, title: self.title, class: self.class.as_deref(), -- cgit v1.2.3-70-g09d2