toggle on and off mode

This commit is contained in:
filipriec
2025-02-17 23:26:53 +01:00
parent 4cea540cae
commit 14d0b5d3dc
5 changed files with 194 additions and 131 deletions

View File

@@ -8,23 +8,27 @@ use ratatui::{
};
use crate::client::colors::Theme;
pub fn render_status_line(f: &mut Frame, area: Rect, current_dir: &str, theme: &Theme) {
pub fn render_status_line(
f: &mut Frame,
area: Rect,
current_dir: &str,
theme: &Theme,
is_edit_mode: bool
) {
// Program name and version
let program_info = format!("multieko2 v{}", env!("CARGO_PKG_VERSION"));
// 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
),
]);
let mode_text = if is_edit_mode {
"[EDIT]"
} else {
"[READ-ONLY]"
};
// Render the status line
let paragraph = Paragraph::new(status_line)
.block(Block::default().style(Style::default().bg(theme.bg)))
.alignment(Alignment::Left);
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);
}