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 | |
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')
-rw-r--r-- | server/src/routes/ui/node.rs | 3 | ||||
-rw-r--r-- | server/src/routes/ui/sort.rs | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/server/src/routes/ui/node.rs b/server/src/routes/ui/node.rs index 6256c77..bb97146 100644 --- a/server/src/routes/ui/node.rs +++ b/server/src/routes/ui/node.rs @@ -179,6 +179,9 @@ markup::define! { Rating::Imdb => { "IMDb Rating: " @value } } } } + @if let Some(d) = &node.release_date { + p { "Released " @d.to_rfc2822() } + } } } } 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.)) |