44 lines
1.2 KiB
Rust
44 lines
1.2 KiB
Rust
use crate::client::tui::app::App;
|
|
use ratatui::{
|
|
layout::Rect,
|
|
style::{Color, Modifier, Style},
|
|
widgets::{Block, Borders, Paragraph},
|
|
Frame,
|
|
};
|
|
|
|
pub fn render(f: &mut Frame, area: Rect, app: &App) {
|
|
let (title, style) = if app.pending_quit {
|
|
let msg = if let Some(session_id) = &app.current_session_id {
|
|
format!("PicoBot | Session: {} | Press Ctrl+C again to quit", session_id)
|
|
} else {
|
|
"PicoBot | Press Ctrl+C again to quit".to_string()
|
|
};
|
|
(
|
|
msg,
|
|
Style::default()
|
|
.fg(Color::Yellow)
|
|
.add_modifier(Modifier::BOLD),
|
|
)
|
|
} else if let Some(session_id) = &app.current_session_id {
|
|
(
|
|
format!("PicoBot | Session: {}", session_id),
|
|
Style::default()
|
|
.fg(Color::Cyan)
|
|
.add_modifier(Modifier::BOLD),
|
|
)
|
|
} else {
|
|
(
|
|
"PicoBot".to_string(),
|
|
Style::default()
|
|
.fg(Color::Cyan)
|
|
.add_modifier(Modifier::BOLD),
|
|
)
|
|
};
|
|
|
|
let paragraph = Paragraph::new(title)
|
|
.style(style)
|
|
.block(Block::default().borders(Borders::ALL));
|
|
|
|
f.render_widget(paragraph, area);
|
|
}
|