diff options
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.)) |