From d38812fdbb968b14538ec59989873b1daf1fa7ab Mon Sep 17 00:00:00 2001 From: metamuffin Date: Tue, 10 Jan 2023 23:06:31 +0100 Subject: directory browser works (somewhat) --- src/frontend/pages/node.rs | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) (limited to 'src/frontend/pages/node.rs') 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, 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) { + @match node.deref() { + Node::Directory(dir) => { @DirectoryPage { dir: dir.clone() } } + Node::Item(item) => { @ItemPage { item: item.clone() } } + } + } DirectoryCard(dir: Arc) { span { a[href=&uri!(page_library_node(&dir.lib_path)).to_string()] { @dir.data.name } } } -- cgit v1.2.3-70-g09d2