This commit is contained in:
Mikhail Kilin
2026-02-02 02:46:26 +03:00
parent 5c92c059c9
commit 9465f067fe
2 changed files with 10 additions and 11 deletions

View File

@@ -939,10 +939,10 @@ pub async fn handle(app: &mut App, key: KeyEvent) {
} else { } else {
// В режиме списка чатов - навигация стрелками и переключение папок // В режиме списка чатов - навигация стрелками и переключение папок
match key.code { match key.code {
KeyCode::Down => { KeyCode::Down | KeyCode::Char('j') | KeyCode::Char('о') => {
app.next_chat(); app.next_chat();
} }
KeyCode::Up => { KeyCode::Up | KeyCode::Char('k') | KeyCode::Char('ц') => {
app.previous_chat(); app.previous_chat();
} }
// Цифры 1-9 - переключение папок // Цифры 1-9 - переключение папок
@@ -972,4 +972,3 @@ pub async fn handle(app: &mut App, key: KeyEvent) {
} }
} }
} }

View File

@@ -39,17 +39,17 @@ async fn test_arrow_navigation_in_chat_list() {
handle_main_input(&mut app, key(KeyCode::Down)).await; handle_main_input(&mut app, key(KeyCode::Down)).await;
assert_eq!(app.chat_list_state.selected(), Some(0)); assert_eq!(app.chat_list_state.selected(), Some(0));
// Up - возвращаемся на второй
handle_main_input(&mut app, key(KeyCode::Up)).await;
assert_eq!(app.chat_list_state.selected(), Some(1));
// Up - возвращаемся на первый
handle_main_input(&mut app, key(KeyCode::Up)).await;
assert_eq!(app.chat_list_state.selected(), Some(0));
// Up - циклим в конец (циклическая навигация) // Up - циклим в конец (циклическая навигация)
handle_main_input(&mut app, key(KeyCode::Up)).await; handle_main_input(&mut app, key(KeyCode::Up)).await;
assert_eq!(app.chat_list_state.selected(), Some(2)); assert_eq!(app.chat_list_state.selected(), Some(2));
// Up - на второй чат
handle_main_input(&mut app, key(KeyCode::Up)).await;
assert_eq!(app.chat_list_state.selected(), Some(1));
// Up - на первый чат
handle_main_input(&mut app, key(KeyCode::Up)).await;
assert_eq!(app.chat_list_state.selected(), Some(0));
} }
/// Test: Vim-style j/k навигация по списку чатов /// Test: Vim-style j/k навигация по списку чатов