From 46ef75431e1d34c63a690726a8ef584d175ddd30 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 18 Jan 2023 16:16:03 +0100 Subject: restructure pages slightly --- server/src/frontend/pages/node.rs | 61 --------------------------------------- 1 file changed, 61 deletions(-) delete mode 100644 server/src/frontend/pages/node.rs (limited to 'server/src/frontend/pages/node.rs') diff --git a/server/src/frontend/pages/node.rs b/server/src/frontend/pages/node.rs deleted file mode 100644 index 6819bc9..0000000 --- a/server/src/frontend/pages/node.rs +++ /dev/null @@ -1,61 +0,0 @@ -use super::MyError; -use crate::rocket_uri_macro_stream; -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}; - -#[get("/library/")] -pub async fn page_library_node( - path: PathBuf, - state: &State, -) -> Result, 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) { - @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 } } - } - DirectoryPage(dir: Arc) { - 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) { - span { a[href=&uri!(page_library_node(&item.lib_path)).to_string()] { @item.data.title } } - } - ItemPage(item: Arc) { - h1 { @item.data.title } - video[src=&uri!(stream(&item.lib_path, "1,2")).to_string(), controls] {} - } -} -- cgit v1.2.3-70-g09d2