From 52097aed094b659635e725b3382f9d206d5027ca Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Mon, 5 Dec 2022 15:50:31 +0400 Subject: [PATCH] Save changes when moving tasks --- src/app.rs | 14 +++++++------- src/ui.rs | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/app.rs b/src/app.rs index 232e8e9..0a9dddb 100644 --- a/src/app.rs +++ b/src/app.rs @@ -72,13 +72,9 @@ impl Project { self.tasks_per_column.entry(status).or_default().push(task); } - /// Comment out cause this is dangerous - pub fn save() { - // let mut project = Project::new("Kanban Tui"); - // project.add_task(Task::default()); - // project.add_task(Task::default()); - // let json = serde_json::to_string_pretty(&project).unwrap(); - // std::fs::write("./project.json", json).unwrap(); + pub fn save(&self) { + let json = serde_json::to_string_pretty(&self).unwrap(); + std::fs::write("kanban-tui.json", json).unwrap(); } } @@ -161,6 +157,7 @@ impl AppState { let target_tasks = self.get_tasks_in_active_column_mut(); target_tasks.push(task); *self.selected_task_idx_mut() = target_tasks.len() - 1; + self.project.save(); } } @@ -174,6 +171,7 @@ impl AppState { let target_tasks = self.get_tasks_in_active_column_mut(); target_tasks.push(task); *self.selected_task_idx_mut() = target_tasks.len() - 1; + self.project.save(); } } @@ -183,6 +181,7 @@ impl AppState { let tasks = self.get_tasks_in_active_column_mut(); tasks.swap(task_idx, task_idx - 1); *self.selected_task_idx_mut() = task_idx - 1; + self.project.save(); } } @@ -192,6 +191,7 @@ impl AppState { if task_idx < tasks.len() - 1 { tasks.swap(task_idx, task_idx + 1); *self.selected_task_idx_mut() = task_idx + 1; + self.project.save(); } } } diff --git a/src/ui.rs b/src/ui.rs index 2ad0e45..9214b3f 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -81,7 +81,7 @@ pub fn draw(f: &mut Frame, state: &mut AppState) { .borders(Borders::ALL); let foot_txt = - Paragraph::new("q : Quit | ⏪🔽🔼⏩ or hjkl : Navigation") + Paragraph::new("q : Quit | ⏪🔽🔼⏩ or hjkl : Navigation | < > or H L : Shift task left/right | = - or J K : Shift task up/down") .block(block); f.render_widget(foot_txt, main_layout[3]); } \ No newline at end of file