aboutsummaryrefslogtreecommitdiff
path: root/src/frontend/pages/node.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-01-11 16:27:16 +0100
committermetamuffin <metamuffin@disroot.org>2023-01-11 16:27:16 +0100
commit948700d35f0eddbc2e0fd29548991e687362983d (patch)
tree29592f56a5db4998b03c4ddf6c330b25dfcad393 /src/frontend/pages/node.rs
parent0d81cb164983fdb40a9f0daebd5951d3cdc084e6 (diff)
downloadjellything-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.rs60
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 }
- }
-}