diff options
Diffstat (limited to 'server/src/routes/ui/node.rs')
-rw-r--r-- | server/src/routes/ui/node.rs | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/server/src/routes/ui/node.rs b/server/src/routes/ui/node.rs index 0b7494e..ec9cde8 100644 --- a/server/src/routes/ui/node.rs +++ b/server/src/routes/ui/node.rs @@ -1,9 +1,11 @@ use super::error::MyError; use super::player::player_uri; use crate::{ - library::{Directory, Item, Node}, - routes::ui::HtmlTemplate, - AppState, + library::{Directory, Item, Library, Node}, + routes::ui::{ + account::session::Session, + layout::{DynLayoutPage, LayoutPage}, + }, }; use anyhow::{anyhow, Context}; use log::info; @@ -13,20 +15,20 @@ use tokio::fs::File; #[get("/library/<path..>")] pub async fn r_library_node( + _sess: Session, path: PathBuf, - state: &State<AppState>, -) -> Result<HtmlTemplate<markup::DynRender>, MyError> { - let node = state - .library + library: &State<Library>, +) -> Result<DynLayoutPage<'_>, MyError> { + let node = library .nested_path(&path) .context("retrieving library node")? .clone(); - Ok(HtmlTemplate( - format!("{}", node.title()), - markup::new! { + Ok(LayoutPage { + title: format!("{}", node.title()), + content: markup::new! { @NodePage { node: node.clone() } }, - )) + }) } markup::define! { @@ -88,11 +90,11 @@ markup::define! { #[get("/item_assets/<path..>")] pub async fn r_item_assets( + _sess: Session, path: PathBuf, - state: &State<AppState>, + library: &State<Library>, ) -> Result<(ContentType, File), MyError> { - let node = state - .library + let node = library .nested_path(&path) .context("retrieving library node")? .get_item()? |