[tui] Add help text for last focused widget.

+ Fill in TODO help text for all widgets.
This commit is contained in:
2026-01-24 12:29:24 -05:00
parent 029e0b2952
commit aa4bf8aea6
4 changed files with 39 additions and 26 deletions

View File

@@ -19,12 +19,14 @@ impl Logger {
}
pub fn new() -> Self {
let state = TuiWidgetState::new();
state.transition(TuiWidgetEvent::HideKey);
Self {
state: TuiWidgetState::new(),
state,
component_state: ComponentState::default().with_help_text(concat!(
"Q: Quit | ↑/: Select target | f: Focus target",
" | ←/→: Display level | +/-: Filter level | Space: Toggle hidden targets",
" | h: Hide target selector | PageUp/Down: Scroll | Esc: Cancel scroll"
"Space: Hide/show logging target selector panel | (↑/k)/(↓/j): Select target |",
" (←/h)/(→/l): Display level | f: Focus target | +/-: Filter level |",
" v: Toggle filtered targets visibility | PageUp/Down: Scroll | Esc: Cancel scroll"
)),
}
}
@@ -62,17 +64,17 @@ impl Component for Logger {
fn handle_key_events(&mut self, key: KeyEvent) -> anyhow::Result<Action> {
match key.code {
KeyCode::Char(' ') => self.state.transition(TuiWidgetEvent::SpaceKey),
KeyCode::Char('v') => self.state.transition(TuiWidgetEvent::SpaceKey),
KeyCode::Esc => self.state.transition(TuiWidgetEvent::EscapeKey),
KeyCode::PageUp => self.state.transition(TuiWidgetEvent::PrevPageKey),
KeyCode::PageDown => self.state.transition(TuiWidgetEvent::NextPageKey),
KeyCode::Up => self.state.transition(TuiWidgetEvent::UpKey),
KeyCode::Down => self.state.transition(TuiWidgetEvent::DownKey),
KeyCode::Left => self.state.transition(TuiWidgetEvent::LeftKey),
KeyCode::Right => self.state.transition(TuiWidgetEvent::RightKey),
KeyCode::Up | KeyCode::Char('k') => self.state.transition(TuiWidgetEvent::UpKey),
KeyCode::Down | KeyCode::Char('j') => self.state.transition(TuiWidgetEvent::DownKey),
KeyCode::Left | KeyCode::Char('h') => self.state.transition(TuiWidgetEvent::LeftKey),
KeyCode::Right | KeyCode::Char('l') => self.state.transition(TuiWidgetEvent::RightKey),
KeyCode::Char('+') => self.state.transition(TuiWidgetEvent::PlusKey),
KeyCode::Char('-') => self.state.transition(TuiWidgetEvent::MinusKey),
KeyCode::Char('h') => self.state.transition(TuiWidgetEvent::HideKey),
KeyCode::Char(' ') => self.state.transition(TuiWidgetEvent::HideKey),
KeyCode::Char('f') => self.state.transition(TuiWidgetEvent::FocusKey),
_ => (),
}