diff options
Diffstat (limited to 'src/frontend/pages/node.rs')
-rw-r--r-- | src/frontend/pages/node.rs | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/src/frontend/pages/node.rs b/src/frontend/pages/node.rs index cd0b4ec..b454793 100644 --- a/src/frontend/pages/node.rs +++ b/src/frontend/pages/node.rs @@ -15,25 +15,21 @@ pub async fn page_library_node( ) -> Result<HtmlTemplate<markup::DynRender>, MyError> { let path = path.to_str().unwrap().to_string(); let node = state.library.nested(&path)?.clone(); - Ok(HtmlTemplate(markup::new! { - @match node.deref() { - Node::Directory(dir) => { - @Layout { - title: format!("{} - Library", node.title()), - main: DirectoryPage { dir: dir.clone() }, - } - } - Node::Item(item) => { - @Layout { - title: "".to_string(), - main: ItemPage { item: item.clone() }, - } - } - } - })) + Ok(HtmlTemplate( + format!("{}", node.title()), + markup::new! { + @NodePage { node: node.clone() } + }, + )) } markup::define! { + NodePage(node: Arc<Node>) { + @match node.deref() { + Node::Directory(dir) => { @DirectoryPage { dir: dir.clone() } } + Node::Item(item) => { @ItemPage { item: item.clone() } } + } + } DirectoryCard(dir: Arc<Directory>) { span { a[href=&uri!(page_library_node(&dir.lib_path)).to_string()] { @dir.data.name } } } |