refactor: extract input handlers into separate functions
Упрощение функции handle() в main_input.rs путём извлечения обработчиков режимов в отдельные функции. Извлечённые функции: - handle_profile_mode() - режим профиля с модалкой выхода (~114 строк) - handle_message_search_mode() - поиск по сообщениям (~73 строки) - handle_pinned_mode() - закреплённые сообщения (~34 строки) - handle_reaction_picker_mode() - выбор реакции (~79 строк) - handle_delete_confirmation() - подтверждение удаления (~53 строки) - handle_forward_mode() - выбор чата для пересылки (~48 строк) - handle_chat_search_mode() - поиск по чатам (~32 строки) - handle_escape_key() - обработка Esc (~25 строк) - handle_message_selection() - выбор сообщения (~85 строк) Итого извлечено: ~543 строки из основной функции handle() Результат: - handle() сократилась с 891 до ~350 строк (на 61%) - Каждый режим теперь изолирован и легко тестируется - Улучшена читаемость и maintainability кода - Все тесты проходят успешно Также: - Обновлён tdlib-rs с 1.1 на 1.2.0
This commit is contained in:
@@ -17,7 +17,7 @@ url-open = ["dep:open"]
|
||||
[dependencies]
|
||||
ratatui = "0.29"
|
||||
crossterm = "0.28"
|
||||
tdlib-rs = { version = "1.1", features = ["download-tdlib"] }
|
||||
tdlib-rs = { version = "1.2.0", features = ["download-tdlib"] }
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
async-trait = "0.1"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
@@ -38,7 +38,7 @@ tokio-test = "0.4"
|
||||
criterion = "0.5"
|
||||
|
||||
[build-dependencies]
|
||||
tdlib-rs = { version = "1.1", features = ["download-tdlib"] }
|
||||
tdlib-rs = { version = "1.2.0", features = ["download-tdlib"] }
|
||||
|
||||
[[bench]]
|
||||
name = "group_messages"
|
||||
|
||||
Reference in New Issue
Block a user