diff options
author | metamuffin <metamuffin@disroot.org> | 2023-10-23 18:51:17 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-10-23 18:51:17 +0200 |
commit | 57fccd01d487284bb317fb1ff778e0fd2e140c12 (patch) | |
tree | 1226bd53a037192336217e7ae64c9b3042f07589 /server/src/routes/ui/sort.rs | |
parent | c4de8d95619d6d8da8640801aeecc912cdb8d0b5 (diff) | |
download | jellything-57fccd01d487284bb317fb1ff778e0fd2e140c12.tar jellything-57fccd01d487284bb317fb1ff778e0fd2e140c12.tar.bz2 jellything-57fccd01d487284bb317fb1ff778e0fd2e140c12.tar.zst |
release date from infojson and sorting
Diffstat (limited to 'server/src/routes/ui/sort.rs')
-rw-r--r-- | server/src/routes/ui/sort.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/server/src/routes/ui/sort.rs b/server/src/routes/ui/sort.rs index da5061d..e1af9d5 100644 --- a/server/src/routes/ui/sort.rs +++ b/server/src/routes/ui/sort.rs @@ -53,11 +53,16 @@ pub fn filter_and_sort_nodes(f: &NodeFilterSort, nodes: &mut Vec<(String, NodePu if let Some(kind) = &f.filter_kind { o &= kind.contains(&node.kind) } + if let Some(SortProperty::ReleaseDate) = &f.sort_by { + o &= node.release_date.is_some() + } o }); if let Some(sort_prop) = &f.sort_by { match sort_prop { - SortProperty::ReleaseDate => nodes.sort_by_key(|(_, _n)| 0), // TODO + SortProperty::ReleaseDate => { + nodes.sort_by_key(|(_, n)| n.release_date.expect("asserted above")) + } SortProperty::Title => nodes.sort_by(|(_, a), (_, b)| a.title.cmp(&b.title)), SortProperty::RatingRottenTomatoes => nodes.sort_by_cached_key(|(_, n)| { SortAnyway(*n.ratings.get(&Rating::RottenTomatoes).unwrap_or(&0.)) |