diff options
author | metamuffin <metamuffin@disroot.org> | 2023-01-11 16:27:16 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-01-11 16:27:16 +0100 |
commit | 948700d35f0eddbc2e0fd29548991e687362983d (patch) | |
tree | 29592f56a5db4998b03c4ddf6c330b25dfcad393 /src/frontend/pages/node.rs | |
parent | 0d81cb164983fdb40a9f0daebd5951d3cdc084e6 (diff) | |
download | jellything-948700d35f0eddbc2e0fd29548991e687362983d.tar jellything-948700d35f0eddbc2e0fd29548991e687362983d.tar.bz2 jellything-948700d35f0eddbc2e0fd29548991e687362983d.tar.zst |
move files
Diffstat (limited to 'src/frontend/pages/node.rs')
-rw-r--r-- | src/frontend/pages/node.rs | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/src/frontend/pages/node.rs b/src/frontend/pages/node.rs deleted file mode 100644 index 7ac4332..0000000 --- a/src/frontend/pages/node.rs +++ /dev/null @@ -1,60 +0,0 @@ -use crate::{ - frontend::pages::HtmlTemplate, - library::{Directory, Item, Node}, - AppState, -}; -use anyhow::Context; -use rocket::{get, uri, State}; -use std::{ops::Deref, path::PathBuf, sync::Arc}; - -use super::MyError; - -#[get("/library/<path..>")] -pub async fn page_library_node( - path: PathBuf, - state: &State<AppState>, -) -> Result<HtmlTemplate<markup::DynRender>, MyError> { - let path = path.to_str().unwrap().to_string(); - let node = state - .library - .nested(&path) - .context("retrieving library node")? - .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 } } - } - DirectoryPage(dir: Arc<Directory>) { - h1 { @dir.data.name } - ul.directorylisting { - @for el in &dir.children { - li { - span.title { @match el.deref().to_owned() { - Node::Directory(dir) => { @DirectoryCard { dir } } - Node::Item(item) => { @ItemCard { item } } - }} - } - } - } - } - ItemCard(item: Arc<Item>) { - span { a[href=&uri!(page_library_node(&item.lib_path)).to_string()] { @item.data.title } } - } - ItemPage(item: Arc<Item>) { - h1 { @item.data.title } - } -} |