diff options
| author | metamuffin <metamuffin@disroot.org> | 2026-02-17 16:25:26 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2026-02-17 16:25:26 +0100 |
| commit | 0816c3d092f0da85bc7bfa928d44fc3d4f1fcb90 (patch) | |
| tree | 3c67b4a775a99aecee6b2fd37fe9abd5248bc175 | |
| parent | 56f249065e97f854c09e5c7fdc8e345e69fcbf27 (diff) | |
| download | jellything-0816c3d092f0da85bc7bfa928d44fc3d4f1fcb90.tar jellything-0816c3d092f0da85bc7bfa928d44fc3d4f1fcb90.tar.bz2 jellything-0816c3d092f0da85bc7bfa928d44fc3d4f1fcb90.tar.zst | |
sort channels by rdate
| -rw-r--r-- | server/src/ui/node.rs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/server/src/ui/node.rs b/server/src/ui/node.rs index 7c3bb22..4d1fab1 100644 --- a/server/src/ui/node.rs +++ b/server/src/ui/node.rs @@ -24,15 +24,23 @@ pub fn r_node(ri: RequestInfo<'_>, slug: &str) -> MyResult<UiResponse> { filter: Filter::Match(Path(vec![NO_SLUG.0]), slug.as_bytes().to_vec()), sort: Sort::None, })? { - node = Some(Object::EMPTY.insert(NKU_NODE, txn.get(row)?.unwrap().as_object())); + let n = txn.get(row)?.unwrap(); + node = Some(Object::EMPTY.insert(NKU_NODE, n.as_object())); + + let (order, path) = + if n.as_object().get(NO_KIND).unwrap_or(KIND_COLLECTION) == KIND_CHANNEL { + (SortOrder::Descending, Path(vec![NO_RELEASEDATE.0])) + } else { + (SortOrder::Ascending, Path(vec![NO_TITLE.0])) + }; let rows = txn .query(Query { sort: Sort::Value(ValueSort { multi: MultiBehaviour::First, offset: None, - order: SortOrder::Ascending, - path: Path(vec![NO_TITLE.0]), + order, + path, }), filter: Filter::Match(Path(vec![NO_PARENT.0]), row.to_be_bytes().to_vec()), })? |