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 {
// В режиме списка чатов - навигация стрелками и переключение папок
match key.code {
KeyCode::Down => {
KeyCode::Down | KeyCode::Char('j') | KeyCode::Char('о') => {
app.next_chat();
}
KeyCode::Up => {
KeyCode::Up | KeyCode::Char('k') | KeyCode::Char('ц') => {
app.previous_chat();
}
// Цифры 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;
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 - циклим в конец (циклическая навигация)
handle_main_input(&mut app, key(KeyCode::Up)).await;
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 навигация по списку чатов