diff options
Diffstat (limited to 'server/src/routes/ui')
-rw-r--r-- | server/src/routes/ui/sort.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/server/src/routes/ui/sort.rs b/server/src/routes/ui/sort.rs index 06e0209..382c4a6 100644 --- a/server/src/routes/ui/sort.rs +++ b/server/src/routes/ui/sort.rs @@ -19,7 +19,7 @@ pub struct NodeFilterSort { macro_rules! form_enum { (enum $i:ident { $($vi:ident = $vk:literal),*, }) => { - #[derive(FromFormField, UriDisplayQuery, Clone, Copy, PartialEq, Eq)] + #[derive(Debug, FromFormField, UriDisplayQuery, Clone, Copy, PartialEq, Eq)] pub enum $i { $(#[field(value = $vk)] $vi),* } impl $i { #[allow(unused)] const ALL: &'static [$i] = &[$($i::$vi),*]; } }; @@ -143,11 +143,9 @@ pub fn filter_and_sort_nodes( nodes.retain(|(node, udata)| { let mut o = true; if let Some(prop) = &f.filter_kind { - for p in FilterProperty::ALL { - if prop.contains(p) { - continue; - } - o &= !match p { + o = false; + for p in prop { + o |= match p { FilterProperty::FederationLocal => node.federated.is_none(), FilterProperty::FederationRemote => node.federated.is_some(), FilterProperty::KindMovie => node.kind == NodeKind::Movie, |