diff options
author | metamuffin <metamuffin@disroot.org> | 2023-01-10 23:06:31 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-01-10 23:06:31 +0100 |
commit | d38812fdbb968b14538ec59989873b1daf1fa7ab (patch) | |
tree | e4609858b89607417ae39f7d655903ef610662fa /src/frontend/pages/node.rs | |
parent | 552a3eb82347ee051855016f51ec452906cdc4d6 (diff) | |
download | jellything-d38812fdbb968b14538ec59989873b1daf1fa7ab.tar jellything-d38812fdbb968b14538ec59989873b1daf1fa7ab.tar.bz2 jellything-d38812fdbb968b14538ec59989873b1daf1fa7ab.tar.zst |
directory browser works (somewhat)
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 } } } |