This commit is contained in:
Mikhail Kilin
2026-01-31 03:48:50 +03:00
parent 1bf9b3d703
commit 644e36597d
37 changed files with 1070 additions and 600 deletions

View File

@@ -5,7 +5,7 @@ pub use chat_state::ChatState;
pub use state::AppScreen;
use crate::tdlib::{ChatInfo, TdClient};
use crate::types::ChatId;
use crate::types::{ChatId, MessageId};
use ratatui::widgets::ListState;
pub struct App {
@@ -189,7 +189,7 @@ impl App {
// Сначала извлекаем данные из сообщения
let msg_data = self.get_selected_message().and_then(|msg| {
if msg.can_be_edited() && msg.is_outgoing() {
Some((msg.id()(), msg.text().to_string(), selected_idx.unwrap()))
Some((msg.id(), msg.text().to_string(), selected_idx.unwrap()))
} else {
None
}
@@ -226,7 +226,7 @@ impl App {
}
pub fn get_selected_chat_id(&self) -> Option<i64> {
self.selected_chat_id
self.selected_chat_id.map(|id| id.as_i64())
}
pub fn get_selected_chat(&self) -> Option<&ChatInfo> {
@@ -451,7 +451,7 @@ impl App {
/// Получить ID текущего pinned для перехода в историю
pub fn get_selected_pinned_id(&self) -> Option<i64> {
self.get_selected_pinned().map(|m| m.id())
self.get_selected_pinned().map(|m| m.id().as_i64())
}
// === Message Search Mode ===
@@ -522,7 +522,7 @@ impl App {
/// Получить ID выбранного результата для перехода
pub fn get_selected_search_result_id(&self) -> Option<i64> {
self.get_selected_search_result().map(|m| m.id())
self.get_selected_search_result().map(|m| m.id().as_i64())
}
/// Получить поисковый запрос из режима поиска
@@ -703,7 +703,7 @@ impl App {
available_reactions: Vec<String>,
) {
self.chat_state = ChatState::ReactionPicker {
message_id,
message_id: MessageId::new(message_id),
available_reactions,
selected_index: 0,
};
@@ -748,6 +748,6 @@ impl App {
}
pub fn get_selected_message_for_reaction(&self) -> Option<i64> {
self.chat_state.selected_message_id()
self.chat_state.selected_message_id().map(|id| id.as_i64())
}
}