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