use ratatui::{ Frame, layout::{Alignment, Rect}, style::{Color, Modifier, Style}, text::{Line, Span}, widgets::{Block, Borders, Paragraph}, }; use crate::i18n::t; use chrono::Local; pub fn render_footer(frame: &mut Frame, area: Rect, seconds_until_update: u64) { let now = Local::now(); let datatime_str = now.format("%Y-%m-%d %H:%M:%S").to_string(); let countdown_str = format!("↻ {}s", seconds_until_update); let text = Line::from(vec![ Span::styled( datatime_str, Style::default() .fg(Color::Gray) .add_modifier(Modifier::BOLD), ), Span::raw(" | "), Span::styled( countdown_str, Style::default() .fg(Color::Yellow) .add_modifier(Modifier::BOLD), ), Span::raw(" | "), Span::styled(t("key-to-exit"), Style::default().fg(Color::Gray)), ]); let footer = Paragraph::new(text) .block( Block::default() .borders(Borders::ALL) .border_style(Style::default().fg(Color::Blue)), ) .alignment(Alignment::Center); frame.render_widget(footer, area); }