42 lines
1.1 KiB
Rust
42 lines
1.1 KiB
Rust
// src/client/components/status_line.rs
|
|
use ratatui::{
|
|
widgets::{Paragraph, Block},
|
|
style::Style,
|
|
layout::{Rect, Alignment},
|
|
text::{Line, Span},
|
|
Frame,
|
|
};
|
|
use crate::client::colors::Theme;
|
|
|
|
pub fn render_status_line(
|
|
f: &mut Frame,
|
|
area: Rect,
|
|
current_dir: &str,
|
|
theme: &Theme,
|
|
is_edit_mode: bool
|
|
) {
|
|
// // Create the status line text
|
|
// let status_line = Line::from(vec![
|
|
// Span::styled(current_dir, Style::default().fg(theme.fg)),
|
|
// Span::styled(
|
|
// program_info,
|
|
// Style::default().fg(theme.secondary).add_modifier(ratatui::style::Modifier::BOLD), // Use `secondary` color
|
|
// ),
|
|
// ]);
|
|
// Program name and version
|
|
let program_info = format!("multieko2 v{}", env!("CARGO_PKG_VERSION"));
|
|
|
|
let mode_text = if is_edit_mode {
|
|
"[EDIT]"
|
|
} else {
|
|
"[READ-ONLY]"
|
|
};
|
|
|
|
// Render the status line
|
|
let text = format!(" {} | {}", mode_text, current_dir);
|
|
let paragraph = Paragraph::new(text)
|
|
.style(Style::default().fg(theme.fg).bg(theme.bg));
|
|
|
|
f.render_widget(paragraph, area);
|
|
}
|