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