summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordanimelchor <dmh672@gmail.com>2023-04-07 20:07:51 -0400
committerdanimelchor <dmh672@gmail.com>2023-04-07 20:07:51 -0400
commit0251b90a25724f2bb6a8d41c7d21277ffedfb5cb (patch)
tree8e267173bd98a34e392915f792a032ebe7b732c6
parent883c4d77889090a1c48d33b506fdaaca40e3936d (diff)
hide groups when all tasks completed and hidden
-rw-r--r--src/ui/all_tasks_page.rs14
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>>();