refactor: encapsulate auth fields (Group 1/5)

Фаза 1, Подход 2 - постепенная инкапсуляция полей App.

Changes:
- src/app/mod.rs: сделаны приватными phone_input, code_input, password_input
- src/input/auth.rs: замены на phone_input_mut(), code_input_mut(), password_input_mut()
- src/ui/auth.rs: замены на phone_input(), code_input(), password_input()
- tests/helpers/app_builder.rs: замены на set_phone_input(), set_code_input(), set_password_input()

Используются существующие геттеры/сеттеры (были добавлены ранее).

Progress: Group 1/5 complete (auth fields)
Next: Group 2 (UI state: screen, is_loading, needs_redraw, is_searching)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Mikhail Kilin
2026-02-02 17:56:34 +03:00
parent 3c8fec7ca6
commit 7b2dd6c9a9
4 changed files with 22 additions and 22 deletions

View File

@@ -50,10 +50,10 @@ pub struct App<T: TdClientTrait = TdClient> {
pub td_client: T,
/// Состояние чата - type-safe state machine (новое!)
pub chat_state: ChatState,
// Auth state (используются часто в UI)
pub phone_input: String,
pub code_input: String,
pub password_input: String,
// Auth state (приватные, доступ через геттеры)
phone_input: String,
code_input: String,
password_input: String,
pub error_message: Option<String>,
pub status_message: Option<String>,
// Main app state (используются часто)