aboutsummaryrefslogtreecommitdiff
path: root/server/src/routes/ui/sort.rs
diff options
context:
space:
mode:
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.))
}),