refactor: complete Phase 13 deep architecture refactoring (etaps 3-7)
Split monolithic files into modular architecture: - ui/messages.rs (893→365 lines): extract modals/, compose_bar.rs - tdlib/messages.rs (836→3 files): split into messages/mod, convert, operations - config/mod.rs (642→3 files): extract validation.rs, loader.rs - Code duplication cleanup: shared components, ~220 lines removed - Documentation: PROJECT_STRUCTURE.md rewrite, 16 files got //! docs Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
//! Handles reply, forward, and draft functionality
|
||||
|
||||
use crate::app::{App, ChatState};
|
||||
use crate::app::methods::messages::MessageMethods;
|
||||
use crate::tdlib::{MessageInfo, TdClientTrait};
|
||||
|
||||
/// Compose methods for reply/forward/draft
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
//! Handles chat list navigation and selection
|
||||
|
||||
use crate::app::{App, ChatState};
|
||||
use crate::app::methods::search::SearchMethods;
|
||||
use crate::tdlib::TdClientTrait;
|
||||
|
||||
/// Navigation methods for chat list
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
//! Application state module.
|
||||
//!
|
||||
//! Contains `App<T>` — the central state struct parameterized by `TdClientTrait`
|
||||
//! for dependency injection. Methods are organized into trait modules in `methods/`.
|
||||
|
||||
mod chat_filter;
|
||||
mod chat_state;
|
||||
mod state;
|
||||
mod methods;
|
||||
pub mod methods;
|
||||
|
||||
pub use chat_filter::{ChatFilter, ChatFilterCriteria};
|
||||
pub use chat_state::ChatState;
|
||||
@@ -9,7 +14,7 @@ pub use state::AppScreen;
|
||||
pub use methods::*;
|
||||
|
||||
use crate::tdlib::{ChatInfo, TdClient, TdClientTrait};
|
||||
use crate::types::{ChatId, MessageId};
|
||||
use crate::types::ChatId;
|
||||
use ratatui::widgets::ListState;
|
||||
|
||||
/// Main application state for the Telegram TUI client.
|
||||
@@ -35,6 +40,7 @@ use ratatui::widgets::ListState;
|
||||
///
|
||||
/// ```no_run
|
||||
/// use tele_tui::app::App;
|
||||
/// use tele_tui::app::methods::navigation::NavigationMethods;
|
||||
/// use tele_tui::config::Config;
|
||||
///
|
||||
/// let config = Config::default();
|
||||
|
||||
Reference in New Issue
Block a user