aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2026-02-17 16:25:26 +0100
committermetamuffin <metamuffin@disroot.org>2026-02-17 16:25:26 +0100
commit0816c3d092f0da85bc7bfa928d44fc3d4f1fcb90 (patch)
tree3c67b4a775a99aecee6b2fd37fe9abd5248bc175
parent56f249065e97f854c09e5c7fdc8e345e69fcbf27 (diff)
downloadjellything-0816c3d092f0da85bc7bfa928d44fc3d4f1fcb90.tar
jellything-0816c3d092f0da85bc7bfa928d44fc3d4f1fcb90.tar.bz2
jellything-0816c3d092f0da85bc7bfa928d44fc3d4f1fcb90.tar.zst
sort channels by rdate
-rw-r--r--server/src/ui/node.rs14
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()),
})?