From aa13fade6fcabf9122babac7ac812a433a81b627 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sun, 22 Feb 2026 03:22:39 +0100 Subject: node highlight card + css cleanup --- server/src/compat/youtube.rs | 6 ++++-- server/src/ui/home.rs | 27 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) (limited to 'server/src') diff --git a/server/src/compat/youtube.rs b/server/src/compat/youtube.rs index 9d27235..a5f540b 100644 --- a/server/src/compat/youtube.rs +++ b/server/src/compat/youtube.rs @@ -38,7 +38,8 @@ pub fn r_youtube_watch(ri: RequestInfo<'_>, v: &str) -> MyResult { } #[get("/channel/")] -pub fn r_youtube_channel(ri: RequestInfo<'_>, id: &str) -> MyResult { +pub fn r_youtube_channel(_ri: RequestInfo<'_>, id: &str) -> MyResult { + let _ = id; // let Some(id) = (if id.starts_with("UC") { // get_node_by_eid(&session.0, IdentifierType::YoutubeChannel, id)? // } else if id.starts_with("@") { @@ -54,7 +55,8 @@ pub fn r_youtube_channel(ri: RequestInfo<'_>, id: &str) -> MyResult { } #[get("/embed/")] -pub fn r_youtube_embed(ri: RequestInfo<'_>, v: &str) -> MyResult { +pub fn r_youtube_embed(_ri: RequestInfo<'_>, v: &str) -> MyResult { + let _ = v; // if v.len() != 11 { // Err(anyhow!("video id length incorrect"))? // } diff --git a/server/src/ui/home.rs b/server/src/ui/home.rs index f6340be..0fd4432 100644 --- a/server/src/ui/home.rs +++ b/server/src/ui/home.rs @@ -43,6 +43,15 @@ pub fn r_home(ri: RequestInfo<'_>) -> MyResult { )? .as_object(), ); + page.push( + VIEW_NODE_LIST, + home_row_highlight( + &ri, + "home.bin.daily_random", + "FILTER (visi = visi AND kind = movi) SORT RANDOM", + )? + .as_object(), + ); page.push( VIEW_NODE_LIST, home_row( @@ -77,3 +86,21 @@ fn home_row(ri: &RequestInfo<'_>, title: &str, query: &str) -> Result, title: &str, query: &str) -> Result { + let q = Query::from_str(query).context("parse query")?; + let mut res = ObjectBuffer::empty(); + ri.state.database.transaction(&mut |txn| { + let Some(row) = txn.query(q.clone())?.next() else { + return Ok(()); + }; + let row = row?.0; + let node = txn.get(row)?.unwrap(); + let nku = ObjectBuffer::new(&mut [(NKU_NODE.0, &node.as_object())]); + res = Object::EMPTY.insert(NODELIST_DISPLAYSTYLE, NLSTYLE_HIGHLIGHT); + res = res.as_object().insert(NODELIST_TITLE, title); + res = res.as_object().insert(NODELIST_ITEM, nku.as_object()); + Ok(()) + })?; + Ok(res) +} -- cgit v1.3