diff options
author | danimelchor <dmh672@gmail.com> | 2023-04-07 20:07:51 -0400 |
---|---|---|
committer | danimelchor <dmh672@gmail.com> | 2023-04-07 20:07:51 -0400 |
commit | 0251b90a25724f2bb6a8d41c7d21277ffedfb5cb (patch) | |
tree | 8e267173bd98a34e392915f792a032ebe7b732c6 | |
parent | 883c4d77889090a1c48d33b506fdaaca40e3936d (diff) |
hide groups when all tasks completed and hidden
-rw-r--r-- | src/ui/all_tasks_page.rs | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/ui/all_tasks_page.rs b/src/ui/all_tasks_page.rs index 2a16432..31f82b8 100644 --- a/src/ui/all_tasks_page.rs +++ b/src/ui/all_tasks_page.rs @@ -253,11 +253,15 @@ impl AllTasksPage { pub fn get_groups(&self) -> Vec<String> { let mut groups = vec!["All Tasks".to_string()]; - let mut other_groups = self - .app - .borrow() - .tasks - .values() + let tasks: Vec<Task> = self.app.borrow().tasks.values().cloned().collect(); + + let tasks: Vec<Task> = if !self.show_hidden { + tasks.into_iter().filter(|t| !t.complete).collect() + } else { + tasks + }; + let mut other_groups = tasks + .iter() .filter_map(|t| t.group.clone()) .unique() .collect::<Vec<String>>(); |