commit
This commit is contained in:
@@ -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) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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 навигация по списку чатов
|
||||||
|
|||||||
Reference in New Issue
Block a user