diff options
| author | metamuffin <metamuffin@disroot.org> | 2026-02-22 03:22:39 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2026-02-22 03:22:39 +0100 |
| commit | aa13fade6fcabf9122babac7ac812a433a81b627 (patch) | |
| tree | f284f4d1502e3c75d37508ee0e8219add6c095a6 /server/src/ui | |
| parent | eb46c37ebf2453f334bac086dbf9e91837dd082b (diff) | |
| download | jellything-aa13fade6fcabf9122babac7ac812a433a81b627.tar jellything-aa13fade6fcabf9122babac7ac812a433a81b627.tar.bz2 jellything-aa13fade6fcabf9122babac7ac812a433a81b627.tar.zst | |
node highlight card + css cleanup
Diffstat (limited to 'server/src/ui')
| -rw-r--r-- | server/src/ui/home.rs | 27 |
1 files changed, 27 insertions, 0 deletions
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 @@ -45,6 +45,15 @@ pub fn r_home(ri: RequestInfo<'_>) -> MyResult<UiResponse> { ); 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( &ri, "home.bin.max_rating", @@ -77,3 +86,21 @@ fn home_row(ri: &RequestInfo<'_>, title: &str, query: &str) -> Result<ObjectBuff })?; Ok(res) } + +fn home_row_highlight(ri: &RequestInfo<'_>, title: &str, query: &str) -> Result<ObjectBuffer> { + 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) +} |