summaryrefslogtreecommitdiff
path: root/src/list/state.rs
diff options
context:
space:
mode:
authormo8it <mo8it@proton.me>2024-04-28 23:21:13 +0200
committermo8it <mo8it@proton.me>2024-04-28 23:21:13 +0200
commit1508938fed4e3800dcf45c807f67e87ebe8ca30b (patch)
tree4db2acf72626e13ce7938faeb8c81929345ebd9e /src/list/state.rs
parentaedeff8b243bad9205b84a657789b59928bf6524 (diff)
Highlight the active filter
Diffstat (limited to 'src/list/state.rs')
-rw-r--r--src/list/state.rs24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/list/state.rs b/src/list/state.rs
index 77f0936..0f2a1c8 100644
--- a/src/list/state.rs
+++ b/src/list/state.rs
@@ -2,7 +2,7 @@ use anyhow::{Context, Result};
use ratatui::{
layout::{Constraint, Rect},
style::{Style, Stylize},
- text::Span,
+ text::{Line, Span},
widgets::{Block, Borders, HighlightSpacing, Paragraph, Row, Table, TableState},
Frame,
};
@@ -193,11 +193,25 @@ impl<'a> UiState<'a> {
let message = if self.message.is_empty() {
// Help footer.
- Span::raw(
- "↓/j ↑/k home/g end/G │ <c>ontinue at │ <r>eset │ filter <d>one/<p>ending │ <q>uit",
- )
+ let mut spans = Vec::with_capacity(4);
+ spans.push(Span::raw(
+ "↓/j ↑/k home/g end/G │ <c>ontinue at │ <r>eset │ filter ",
+ ));
+ match self.filter {
+ Filter::Done => {
+ spans.push("<d>one".underlined().magenta());
+ spans.push(Span::raw("/<p>ending"));
+ }
+ Filter::Pending => {
+ spans.push(Span::raw("<d>one/"));
+ spans.push("<p>ending".underlined().magenta());
+ }
+ Filter::None => spans.push(Span::raw("<d>one/<p>ending")),
+ }
+ spans.push(Span::raw(" │ <q>uit"));
+ Line::from(spans)
} else {
- self.message.as_str().light_blue()
+ Line::from(self.message.as_str().light_blue())
};
frame.render_widget(
message,