Skip to main content

max / makenotwork

732 B · 22 lines History Blame Raw
1 //! tiers-screen key-input handler (split out of tui/input.rs).
2
3 use super::{App, KeyCode, KeyEvent, Screen};
4
5 pub(crate) async fn handle_tiers_input(key: KeyEvent, app: &mut App, screen: &mut Screen) {
6 match key.code {
7 KeyCode::Char('j') | KeyCode::Down => app.move_down(screen),
8 KeyCode::Char('k') | KeyCode::Up => app.move_up(screen),
9 KeyCode::Esc => {
10 if let Screen::Tiers(pidx, _) = screen {
11 let pidx = *pidx;
12 *screen = Screen::Project(pidx);
13 app.tiers.clear();
14 app.tiers_project_title = None;
15 app.tiers_status = None;
16 app.selected_index = 0;
17 }
18 }
19 _ => {}
20 }
21 }
22