diff options
Diffstat (limited to 'server/src/routes/ui/sort.rs')
-rw-r--r-- | server/src/routes/ui/sort.rs | 6 |
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.)) }), |