Skip to main content

binocular/runtime/interactive/handlers/
help.rs

1use crate::app::{App, AppAction, HelpTab};
2use crossterm::event::{KeyCode, KeyEvent};
3
4pub fn handle_help_modal_input(app: &mut App, key: KeyEvent) {
5    match key.code {
6        KeyCode::Esc => app.apply_action(AppAction::CloseHelp),
7        KeyCode::Tab | KeyCode::Right | KeyCode::Char('l') => {
8            app.apply_action(AppAction::NextHelpTab)
9        }
10        KeyCode::BackTab | KeyCode::Left | KeyCode::Char('h') => {
11            app.apply_action(AppAction::PreviousHelpTab)
12        }
13        KeyCode::Char('1') => app.apply_action(AppAction::ShowHelpTab(HelpTab::Overview)),
14        KeyCode::Char('2') => app.apply_action(AppAction::ShowHelpTab(HelpTab::Search)),
15        KeyCode::Char('3') => app.apply_action(AppAction::ShowHelpTab(HelpTab::Preview)),
16        KeyCode::Char('4') => app.apply_action(AppAction::ShowHelpTab(HelpTab::Logs)),
17        KeyCode::Char('5') => app.apply_action(AppAction::ShowHelpTab(HelpTab::Layout)),
18        _ => {}
19    }
20}