diff options
| author | mo8it <mo8it@proton.me> | 2024-04-08 01:33:11 +0200 |
|---|---|---|
| committer | mo8it <mo8it@proton.me> | 2024-04-08 01:33:11 +0200 |
| commit | bd5503a0d363384fb551f3e303d0376a08d50831 (patch) | |
| tree | 34483c229593da41310994bd0219e179fa584468 /src/list.rs | |
| parent | 25e855a009c47d30bfa4da93a93d8390df20fe45 (diff) | |
Show message on reset
Diffstat (limited to 'src/list.rs')
| -rw-r--r-- | src/list.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/list.rs b/src/list.rs index e2af21d..3d91b8a 100644 --- a/src/list.rs +++ b/src/list.rs @@ -5,7 +5,7 @@ use crossterm::{ ExecutableCommand, }; use ratatui::{backend::CrosstermBackend, Terminal}; -use std::io; +use std::{fmt::Write, io}; mod state; @@ -42,6 +42,8 @@ pub fn list(state_file: &mut StateFile, exercises: &[Exercise]) -> Result<()> { } }; + ui_state.message.clear(); + match key.code { KeyCode::Char('q') => break, KeyCode::Down | KeyCode::Char('j') => ui_state.select_next(), @@ -50,9 +52,14 @@ pub fn list(state_file: &mut StateFile, exercises: &[Exercise]) -> Result<()> { KeyCode::End | KeyCode::Char('G') => ui_state.select_last(), KeyCode::Char('r') => { let selected = ui_state.selected(); - exercises[selected].reset()?; + let exercise = &exercises[selected]; + exercise.reset()?; state_file.reset(selected)?; + ui_state.table = ui_state.table.rows(UiState::rows(state_file, exercises)); + ui_state + .message + .write_fmt(format_args!("The exercise {exercise} has been reset!"))?; } KeyCode::Char('c') => { state_file.set_next_exercise_ind(ui_state.selected())?; |
