diff options
Diffstat (limited to 'server/src/routes/ui/node.rs')
-rw-r--r-- | server/src/routes/ui/node.rs | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/server/src/routes/ui/node.rs b/server/src/routes/ui/node.rs index 59697ba..f613bd1 100644 --- a/server/src/routes/ui/node.rs +++ b/server/src/routes/ui/node.rs @@ -6,7 +6,7 @@ use super::{ assets::{rocket_uri_macro_r_item_assets, rocket_uri_macro_r_node_thumbnail}, error::MyResult, - sort::{filter_and_sort_nodes, NodeFilterSort, NodeFilterSortForm}, + sort::{filter_and_sort_nodes, NodeFilterSort, NodeFilterSortForm, SortOrder, SortProperty}, }; use crate::{ database::DataAcid, @@ -101,7 +101,14 @@ pub async fn r_library_node_filter<'a>( .into_iter() .collect::<Vec<_>>(); - filter_and_sort_nodes(&filter, &mut children); + filter_and_sort_nodes( + &filter, + match node.kind.unwrap_or(NodeKind::Collection) { + NodeKind::Channel => (SortProperty::ReleaseDate, SortOrder::Descending), + _ => (SortProperty::Title, SortOrder::Ascending), + }, + &mut children, + ); Ok(Either::Left(LayoutPage { title: node.title.clone().unwrap_or_default(), @@ -253,7 +260,11 @@ markup::define! { p { @m.resolution_name() } } @if let Some(d) = &node.release_date { - p { @NaiveDateTime::from_timestamp_millis(*d).unwrap().and_utc().to_string() } + p { @if *full { + @NaiveDateTime::from_timestamp_millis(*d).unwrap().and_utc().to_string() + } else { + @NaiveDateTime::from_timestamp_millis(*d).unwrap().date().to_string() + }} } @if !node.children.is_empty() { p { @format!("{} items", node.children.len()) } |