aboutsummaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/src/routes/ui/node.rs3
-rw-r--r--server/src/routes/ui/sort.rs7
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.))