fixes
This commit is contained in:
@@ -5,21 +5,35 @@ use ratatui::{
|
||||
Frame,
|
||||
};
|
||||
use crate::app::App;
|
||||
use crate::tdlib::NetworkState;
|
||||
|
||||
pub fn render(f: &mut Frame, area: Rect, app: &App) {
|
||||
let status = if let Some(msg) = &app.status_message {
|
||||
format!(" {} ", msg)
|
||||
} else if let Some(err) = &app.error_message {
|
||||
format!(" Error: {} ", err)
|
||||
} else if app.is_searching {
|
||||
" j/k: Navigate | Enter: Select | Esc: Cancel ".to_string()
|
||||
} else if app.selected_chat_id.is_some() {
|
||||
" Cmd+j/k: Scroll | Enter: Send | Esc: Close | Ctrl+R: Refresh | Ctrl+C: Quit ".to_string()
|
||||
} else {
|
||||
" j/k: Navigate | Enter: Open | Ctrl+S: Search | Ctrl+R: Refresh | Ctrl+C: Quit ".to_string()
|
||||
// Индикатор состояния сети
|
||||
let network_indicator = match app.td_client.network_state {
|
||||
NetworkState::Ready => "",
|
||||
NetworkState::WaitingForNetwork => "⚠ Нет сети | ",
|
||||
NetworkState::ConnectingToProxy => "⏳ Прокси... | ",
|
||||
NetworkState::Connecting => "⏳ Подключение... | ",
|
||||
NetworkState::Updating => "⏳ Обновление... | ",
|
||||
};
|
||||
|
||||
let style = if app.error_message.is_some() {
|
||||
let status = if let Some(msg) = &app.status_message {
|
||||
format!(" {}{} ", network_indicator, msg)
|
||||
} else if let Some(err) = &app.error_message {
|
||||
format!(" {}Error: {} ", network_indicator, err)
|
||||
} else if app.is_searching {
|
||||
format!(" {}↑/↓: Navigate | Enter: Select | Esc: Cancel ", network_indicator)
|
||||
} else if app.selected_chat_id.is_some() {
|
||||
format!(" {}↑/↓: Scroll | Enter: Send | Esc: Close | Ctrl+R: Refresh | Ctrl+C: Quit ", network_indicator)
|
||||
} else {
|
||||
format!(" {}↑/↓: Navigate | Enter: Open | Ctrl+S: Search | Ctrl+R: Refresh | Ctrl+C: Quit ", network_indicator)
|
||||
};
|
||||
|
||||
let style = if matches!(app.td_client.network_state, NetworkState::WaitingForNetwork) {
|
||||
Style::default().fg(Color::Red)
|
||||
} else if !matches!(app.td_client.network_state, NetworkState::Ready) {
|
||||
Style::default().fg(Color::Cyan)
|
||||
} else if app.error_message.is_some() {
|
||||
Style::default().fg(Color::Red)
|
||||
} else if app.status_message.is_some() {
|
||||
Style::default().fg(Color::Yellow)
|
||||
|
||||
Reference in New Issue
Block a user