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 | |
| parent | 25e855a009c47d30bfa4da93a93d8390df20fe45 (diff) | |
Show message on reset
Diffstat (limited to 'src/list')
| -rw-r--r-- | src/list/state.rs | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/list/state.rs b/src/list/state.rs index 3d2f0a6..534b535 100644 --- a/src/list/state.rs +++ b/src/list/state.rs @@ -10,6 +10,7 @@ use crate::{exercise::Exercise, state_file::StateFile}; pub struct UiState<'a> { pub table: Table<'a>, + pub message: String, selected: usize, table_state: TableState, last_ind: usize, @@ -77,14 +78,13 @@ impl<'a> UiState<'a> { .block(Block::default().borders(Borders::BOTTOM)); let selected = 0; - let table_state = TableState::default().with_selected(Some(selected)); - let last_ind = exercises.len() - 1; Self { table, selected, - table_state, - last_ind, + table_state: TableState::default().with_selected(Some(selected)), + last_ind: exercises.len() - 1, + message: String::with_capacity(128), } } @@ -130,10 +130,14 @@ impl<'a> UiState<'a> { &mut self.table_state, ); - let help_footer = - "↓/j ↑/k home/g end/G │ Filter <d>one/<p>ending │ <r>eset │ <c>ontinue at │ <q>uit"; + let message = if self.message.is_empty() { + // Help footer. + "↓/j ↑/k home/g end/G │ Filter <d>one/<p>ending │ <r>eset │ <c>ontinue at │ <q>uit" + } else { + &self.message + }; frame.render_widget( - Span::raw(help_footer), + Span::raw(message), Rect { x: 0, y: area.height - 1, |
