aboutsummaryrefslogtreecommitdiff
path: root/server/src/routes/ui/sort.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-02-05 23:10:15 +0100
committermetamuffin <metamuffin@disroot.org>2025-02-05 23:10:15 +0100
commitdf36a85b54fd427cc0914320d29aa4f005e5aff7 (patch)
tree0702e87d55fe1a7b4d6913a35759e343f9923389 /server/src/routes/ui/sort.rs
parentfea9d99cef52a8ba258f5c8a11af08ec3304613e (diff)
downloadjellything-df36a85b54fd427cc0914320d29aa4f005e5aff7.tar
jellything-df36a85b54fd427cc0914320d29aa4f005e5aff7.tar.bz2
jellything-df36a85b54fd427cc0914320d29aa4f005e5aff7.tar.zst
trakt episode details
Diffstat (limited to 'server/src/routes/ui/sort.rs')
-rw-r--r--server/src/routes/ui/sort.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/server/src/routes/ui/sort.rs b/server/src/routes/ui/sort.rs
index 36250a9..6bee2ef 100644
--- a/server/src/routes/ui/sort.rs
+++ b/server/src/routes/ui/sort.rs
@@ -45,6 +45,7 @@ form_enum!(
enum SortProperty {
ReleaseDate = "release_date",
Title = "title",
+ Index = "index",
Duration = "duration",
RatingRottenTomatoes = "rating_rt",
RatingMetacritic = "rating_mc",
@@ -180,6 +181,11 @@ pub fn filter_and_sort_nodes(
nodes.sort_by_key(|(n, _)| n.release_date.expect("asserted above"))
}
SortProperty::Title => nodes.sort_by(|(a, _), (b, _)| a.title.cmp(&b.title)),
+ SortProperty::Index => nodes.sort_by(|(a, _), (b, _)| {
+ a.index
+ .unwrap_or(usize::MAX)
+ .cmp(&b.index.unwrap_or(usize::MAX))
+ }),
SortProperty::RatingRottenTomatoes => nodes.sort_by_cached_key(|(n, _)| {
SortAnyway(*n.ratings.get(&Rating::RottenTomatoes).unwrap_or(&0.))
}),