summaryrefslogtreecommitdiff
path: root/src/list
diff options
context:
space:
mode:
authormo8it <mo8it@proton.me>2024-04-08 01:33:11 +0200
committermo8it <mo8it@proton.me>2024-04-08 01:33:11 +0200
commitbd5503a0d363384fb551f3e303d0376a08d50831 (patch)
tree34483c229593da41310994bd0219e179fa584468 /src/list
parent25e855a009c47d30bfa4da93a93d8390df20fe45 (diff)
Show message on reset
Diffstat (limited to 'src/list')
-rw-r--r--src/list/state.rs18
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,